{
  "video": {
    "id": "ZD9-4fW2HhM",
    "title": "Build Systems, Not Code - Angie Jones, Agentic AI Foundation",
    "duration": 1179,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "Online"
  },
  "analysis": {
    "video_id": "ZD9-4fW2HhM",
    "title": "Build Systems, Not Code - Angie Jones, Agentic AI Foundation",
    "one_liner": "Angie Jones argues that building agents is still software engineering — and walks a house-hunting agent called Relocation Scout through nine classic engineering disciplines (systems thinking, workflow design, decomposition, separation of concerns, modularity, algorithmic thinking, contracts, state/idempotency, threat modeling) to show where each one lands in an agentic system.",
    "summary": "Jones opens on the 'quiet sense of dread' that coding agents have taken the fun parts of building — and says let them have it, because one layer up, architecting agentic systems flexes the same pre-gen-AI engineering muscles. Using Relocation Scout, a reusable house-hunting agent with memory that persists outside the session, she maps each traditional discipline onto agentic primitives: the giant prompt is the new god class, the fix is decomposing it into skills, schemas, scripts and sub-agents. She pushes hard on using plain code where answers are exact, structured output as a contract between steps, idempotency enforced by the system rather than trusted to the model, and untrusted third-party content treated as evidence rather than instructions. She explicitly refuses to let her coding agent design her other agents, because what it produces technically works but isn't maintainable.",
    "key_points": [
      "An agent is not the system, it's part of one — before letting a coding agent build it, ask what the agent's job is, what it depends on, what happens when it breaks, and treat it like any component with boundaries, responsibilities, dependencies and failure modes.",
      "A goal is not a workflow: 'review this listing' is a goal; the workflow is gather → weigh against criteria → act, and every run ends one of three ways — stop, retry, or escalate.",
      "The agentic equivalent of a god class or bloated service is the giant prompt. Her Relocation Scout prompt had accreted four distinct jobs — normalizing a listing, a fixed shortlist format, commute calculation and a chunky neighborhood-research subtask — and that's why agents drift: the script is too long.",
      "Separation of concerns has new destinations: listing normalization becomes a skill, shortlist formatting becomes a schema, commute calculation becomes 'a nice little boring script', and neighborhood research is meaty enough to be a sub-agent.",
      "Skills are reusable components like packages — broadening the search to three cities means every market loads the same normalization skill, written once. Sub-agents are architecturally like functions: one task, called when needed, and crucially they don't carry the whole session's context.",
      "Rule of thumb for what runs where: if a task has an exact answer reach for code (commute time, deduping listings already seen); if it needs interpretation or judgment, use the agent. 'AI did not invent automation' — code is cheaper and more reliable.",
      "Agent output that only a human reads can be free-form, but output another step consumes needs a contract. Relocation Scout writes a structured decision/score/reason into its memory layer (she uses Compendium Wiki), which makes it queryable later — 'show me every house rated four or better with a commute of 15 minutes or less' — instead of trapped in a session.",
      "Idempotency must be enforced by the system, not the model, because a retry risks the model rewording the request enough to look like a brand-new task. Her worked example: the agent emails the realtor, logs it to memory, then crashes before blocking the calendar; a later lint pass retries only the missing calendar step because it checks what the system wrote down.",
      "Threat modeling carries over directly: listing copy, forum threads and anonymous neighborhood reviews are untrusted input, and the agent must be told this is evidence, not instructions. Reading listings and building shortlists is unrestricted; emailing sellers, booking tours and submitting offers are walled behind her approval to reduce blast radius.",
      "She bakes maintainability in with an AGENTS.md at every level of the system explaining the workflow, where policy lives, supporting skills/scripts/sub-agents, and how to keep memory up to date — the test being that any agent in a fresh context can start cold; if a harness struggles to 'update this agent to do XYZ', that's a signal the system's maintainability needs work."
    ],
    "takeaways": [
      "Don't hand your coding agent the job of designing your agentic system — do the systems thinking and workflow design yourself first, then let it build.",
      "Audit your instructions file for distinct jobs crammed together and pull them apart into the right primitive: skill for reusable process, schema for structured output, plain script for deterministic computation, sub-agent for a meaty scoped subtask.",
      "Move anything with an exact answer out of the model and into code; reserve the model for fuzzy judgment and messy input, and reserve authority — irreversible or outward-facing actions — for the human.",
      "Write agent decisions into a structured, queryable memory shape rather than a chat message, so downstream steps and future sessions can act on them; if you can't specify the output shape, you don't yet understand what you're asking for.",
      "Design for replay: log actions to memory as they complete, run a lint pass to catch half-finished runs, and enforce idempotency in the system rather than trusting the model not to reword a retry into a new task.",
      "Treat all scraped/third-party content the agent reads as untrusted evidence, not instructions, and wall high-consequence actions behind explicit approval."
    ],
    "topics": [
      "agents",
      "agent-architecture",
      "sub-agents",
      "skills",
      "agent-memory",
      "prompt-decomposition",
      "idempotency",
      "prompt-injection",
      "software-engineering"
    ],
    "tools": [
      "Compendium Wiki",
      "AGENTS.md",
      "agent skills",
      "sub-agents"
    ],
    "quotes": [
      {
        "text": "And then you wonder why your agent is drifting and not sticking to the script. The script is too long.",
        "at": "05:56",
        "url": "https://www.youtube.com/watch?v=ZD9-4fW2HhM&t=356s"
      },
      {
        "text": "So, use code for determinism, use agents for judgment, and then use humans for authority.",
        "at": "10:44",
        "url": "https://www.youtube.com/watch?v=ZD9-4fW2HhM&t=644s"
      },
      {
        "text": "So, we need to treat all of that as untrusted input and make it very clear to the agent that this is evidence, not instructions.",
        "at": "16:14",
        "url": "https://www.youtube.com/watch?v=ZD9-4fW2HhM&t=974s"
      },
      {
        "text": "We're still building. We just moved up a layer.",
        "at": "19:32",
        "url": "https://www.youtube.com/watch?v=ZD9-4fW2HhM&t=1172s"
      }
    ],
    "words": 3480
  },
  "summary_url": "/#ZD9-4fW2HhM",
  "transcript": {
    "html": "/transcripts/ZD9-4fW2HhM.html",
    "txt": "/transcripts/ZD9-4fW2HhM.txt",
    "vtt": "/transcripts/ZD9-4fW2HhM.vtt"
  }
}