{
  "title": "From LLMs to Secure Agents: Engineering Guide Index",
  "description": "Machine-readable index of published units, learning objectives, source records, and canonical links.",
  "author": "Renato Mignone",
  "author_url": "https://github.com/RenatoMignone",
  "version": "2.0.0",
  "origin": "https://renatomignone.github.io",
  "base_path": "/From-LLMs-to-Secure-Agents",
  "last_updated": "2026-08-17",
  "total_published_units": 19,
  "curriculum_passes": [
    {
      "pass_id": 0,
      "title": "Prerequisites",
      "focus": "Distributed boundaries and systems foundations"
    },
    {
      "pass_id": 1,
      "title": "Understand the Complete System",
      "focus": "Agent loop, context, memory, tools, and runtimes"
    },
    {
      "pass_id": 2,
      "title": "Secure the System",
      "focus": "Threat modeling, isolation, and security assurance"
    }
  ],
  "units": [
    {
      "unit_id": "P1-00-01",
      "title": "Reader contract and system map",
      "summary": "Establishes the system vocabulary and diagram notation used to trace an agent safely.",
      "pass": "Pass 0: Prerequisites",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-06",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/01-reader-contract-and-system-map/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/01-reader-contract-and-system-map.md",
      "prerequisites": [
        "Working familiarity with large language models and prompts"
      ],
      "learning_objectives": [
        "Trace a request through a process, a store, and an external service.",
        "Distinguish data flow, control flow, state, events, identity, authority, and side effects.",
        "Read the system-context and state-transition notation reused in later chapters."
      ],
      "source_records": [
        {
          "id": "rfc-9110-http-semantics",
          "title": "RFC 9110: HTTP Semantics",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2022-06",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc9110.html",
          "claims_supported": [
            "HTTP is a stateless application-level protocol, and its core terminology includes clients, servers, messages, request methods, and status codes."
          ],
          "limitations": [
            "HTTP semantics do not define an agent architecture or application-specific state model."
          ]
        },
        {
          "id": "rfc-8259-json",
          "title": "RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2017-12",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc8259.html",
          "claims_supported": [
            "JSON is a text format for serializing structured data, with primitive and structured types including objects and arrays."
          ],
          "limitations": [
            "JSON specifies data syntax, not the meaning, validity, or authority of application fields."
          ]
        },
        {
          "id": "rfc-8693-oauth-token-exchange",
          "title": "RFC 8693: OAuth 2.0 Token Exchange",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2020-01",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc8693.html",
          "claims_supported": [
            "A security token conveys identity and security information across environments or security domains; an actor token can represent the acting party."
          ],
          "limitations": [
            "This token-exchange specification is only one authorization pattern and does not define all identity or permission models."
          ]
        },
        {
          "id": "nist-ai-rmf-1-0",
          "title": "Artificial Intelligence Risk Management Framework (AI RMF 1.0)",
          "authors_or_organization": "National Institute of Standards and Technology",
          "date": "2023-01",
          "source_type": "standard",
          "canonical_url": "https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-1.pdf",
          "claims_supported": [
            "NIST frames AI risk as an event probability combined with the magnitude of its consequences and describes trustworthy AI systems as including secure and resilient characteristics."
          ],
          "limitations": [
            "The AI RMF is voluntary, broad guidance and does not prescribe a particular agent implementation or control set."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/00-prerequisites/01-reader-contract-and-system-map/01-system-context.png",
        "assets/images/00-prerequisites/01-reader-contract-and-system-map/02-state-transition-legend.png"
      ],
      "example_paths": [
        "examples/00-prerequisites/01-reader-contract-and-system-map"
      ]
    },
    {
      "unit_id": "P1-00-02",
      "title": "Data, control, and trust boundaries",
      "summary": "Separates information from instructions and shows where a system must reconsider its assumptions.",
      "pass": "Pass 0: Prerequisites",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-10",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/02-data-control-and-trust-boundaries/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/02-data-control-and-trust-boundaries.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/prerequisites/01-reader-contract-and-system-map/\">Reader contract and system map</a>."
      ],
      "learning_objectives": [
        "Distinguish data from control in one structured message.",
        "Trace data flow and control flow through a simple application.",
        "Mark a trust boundary and name the assumption that changes there."
      ],
      "source_records": [
        {
          "id": "p1-00-02-rfc-8259-json",
          "title": "RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2017-12",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc8259.html",
          "claims_supported": [
            "JSON is a text format for serializing structured data and represents named values with objects and arrays."
          ],
          "limitations": [
            "JSON specifies syntax and structure, not whether a field is trusted, authorized, or safe to act upon."
          ]
        },
        {
          "id": "p1-00-02-rfc-9110-http-semantics",
          "title": "RFC 9110: HTTP Semantics",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2022-06",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc9110.html",
          "claims_supported": [
            "HTTP defines the semantics of requests and responses and is a stateless application-level protocol."
          ],
          "limitations": [
            "HTTP semantics do not define an application’s data model, authorization rules, or durable state."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/00-prerequisites/02-data-control-and-trust-boundaries/01-data-vs-control-flow.png",
        "assets/images/00-prerequisites/02-data-control-and-trust-boundaries/02-trust-boundaries-and-assumptions.png",
        "assets/images/00-prerequisites/02-data-control-and-trust-boundaries/03-boundary-crossing-controls.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-00-03",
      "title": "Requests, events, state, and side effects",
      "summary": "Explains how a requested action, remembered state, event record, and outside-world result describe different parts of one workflow.",
      "pass": "Pass 0: Prerequisites",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-12",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/03-requests-events-state-and-side-effects/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/03-requests-events-state-and-side-effects.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/prerequisites/02-data-control-and-trust-boundaries/\">Data, control, and trust boundaries</a>."
      ],
      "learning_objectives": [
        "Distinguish a request from an event in a simple workflow.",
        "Trace a state transition from its old state to its next state.",
        "Identify a side effect without mistaking it for proof of completion."
      ],
      "source_records": [
        {
          "id": "p1-00-03-rfc-9110-http-semantics",
          "title": "RFC 9110: HTTP Semantics",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2022-06",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc9110.html",
          "claims_supported": [
            "HTTP defines safe methods in terms of the state change requested by the client, while allowing implementations to have incidental side effects such as access logging."
          ],
          "limitations": [
            "HTTP method semantics do not define an application’s complete state machine or prove that a requested effect occurred."
          ]
        },
        {
          "id": "p1-00-03-cloudevents-1-0",
          "title": "CloudEvents Specification",
          "authors_or_organization": "Cloud Native Computing Foundation",
          "date": null,
          "source_type": "specification",
          "canonical_url": "https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md",
          "claims_supported": [
            "CloudEvents defines an occurrence as a captured statement of fact during software operation and an event as a data record expressing that occurrence and its context."
          ],
          "limitations": [
            "CloudEvents standardizes an event format, not application-specific event meaning, persistence, authorization, or delivery guarantees."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/00-prerequisites/03-requests-events-state-and-side-effects/01-request-state-event-effect.png",
        "assets/images/00-prerequisites/03-requests-events-state-and-side-effects/02-requests-vs-events-comparison.png",
        "assets/images/00-prerequisites/03-requests-events-state-and-side-effects/03-state-transition-and-side-effect-decoupling.png"
      ],
      "example_paths": [
        "examples/00-prerequisites/01-reader-contract-and-system-map"
      ]
    },
    {
      "unit_id": "P1-00-04",
      "title": "Identity, authority, and least privilege primer",
      "summary": "Explains identity, delegation, authority, and least privilege in multi-actor software workflows.",
      "pass": "Pass 0: Prerequisites",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/prerequisites/04-identity-authority-and-least-privilege-primer/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/prerequisites/04-identity-authority-and-least-privilege-primer.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/prerequisites/03-requests-events-state-and-side-effects/\">Requests, events, state, and side effects</a>."
      ],
      "learning_objectives": [
        "Distinguish an actor's identity from the authority granted to perform an action.",
        "Explain delegation when an agent acts on behalf of a user while maintaining distinct identities.",
        "Apply the principle of least privilege to limit what an agent or tool can access."
      ],
      "source_records": [
        {
          "id": "p1-00-04-saltzer-schroeder-1975",
          "title": "The Protection of Information in Computer Systems",
          "authors_or_organization": "Jerome H. Saltzer and Michael D. Schroeder",
          "date": "1975-09",
          "source_type": "paper",
          "canonical_url": "https://doi.org/10.1109/PROC.1975.9939",
          "claims_supported": [
            "Defines the Principle of Least Privilege: every program and user should operate with the least set of privileges necessary to complete the job, limiting damage from accidents, errors, or compromises."
          ],
          "limitations": [
            "The paper establishes foundational security principles for operating systems and multi-user environments, not autonomous language model architectures."
          ]
        },
        {
          "id": "p1-00-04-rfc-8693-oauth-token-exchange",
          "title": "RFC 8693: OAuth 2.0 Token Exchange",
          "authors_or_organization": "Internet Engineering Task Force",
          "date": "2020-01",
          "source_type": "standard",
          "canonical_url": "https://www.rfc-editor.org/rfc/rfc8693.html",
          "claims_supported": [
            "Defines delegation semantics where an actor acts on behalf of a subject while keeping their identities distinct, and specifies token structures to represent delegation chains."
          ],
          "limitations": [
            "Token exchange defines identity and authority structures in token envelopes, not internal agent reasoning or safety policies."
          ]
        },
        {
          "id": "p1-00-04-nist-ai-rmf-1-0",
          "title": "Artificial Intelligence Risk Management Framework (AI RMF 1.0)",
          "authors_or_organization": "National Institute of Standards and Technology",
          "date": "2023-01",
          "source_type": "guidance",
          "canonical_url": "https://doi.org/10.6028/NIST.AI.100-1",
          "claims_supported": [
            "Recommends establishing clear authority boundaries, organizational governance, and risk management practices for AI systems operating across external interfaces."
          ],
          "limitations": [
            "Provides high-level voluntary risk management guidance rather than specific access-token protocols or software-level authorization filters."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/00-prerequisites/04-identity-authority-and-least-privilege-primer/01-identity-delegation-least-privilege.png",
        "assets/images/00-prerequisites/04-identity-authority-and-least-privilege-primer/02-impersonation-vs-delegation.png",
        "assets/images/00-prerequisites/04-identity-authority-and-least-privilege-primer/03-least-privilege-blast-radius.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-01-01",
      "title": "What is an agent",
      "summary": "Defines an agent as an autonomous software system combining a reasoning model with tools, environment observations, and goal-directed control loops.",
      "pass": "Pass 1: Agent Foundations",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/01-what-is-an-agent.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/prerequisites/01-reader-contract-and-system-map/\">Prerequisites</a>."
      ],
      "learning_objectives": [
        "Distinguish a standalone language model from a complete agent system.",
        "Identify the core components of an agent: model, environment, goal, policy, actions, and observations.",
        "Differentiate between rigid deterministic workflows and model-directed autonomous agent loops."
      ],
      "source_records": [
        {
          "id": "p1-01-01-russell-norvig-aima",
          "title": "Artificial Intelligence: A Modern Approach",
          "authors_or_organization": "Stuart Russell and Peter Norvig",
          "date": "2020",
          "source_type": "book",
          "canonical_url": "https://aima.cs.berkeley.edu/",
          "claims_supported": [
            "Defines an agent as an entity that perceives its environment through sensors and acts upon it through actuators toward a goal."
          ],
          "limitations": [
            "Classical definition predates modern LLMs, focusing on general rational agents, search, and probabilistic models rather than token-based autoregressive foundation models."
          ]
        },
        {
          "id": "p1-01-01-yao-react-2022",
          "title": "ReAct: Synergizing Reasoning and Acting in Language Models",
          "authors_or_organization": "Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao",
          "date": "2022-10",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2210.03629",
          "claims_supported": [
            "Demonstrates how language models interleave reasoning traces and task-specific actions to interact with external environments and solve multi-step tasks."
          ],
          "limitations": [
            "Focuses on prompt-based reasoning-action interleaving on benchmark datasets rather than broad production agent systems."
          ]
        },
        {
          "id": "p1-01-01-anthropic-building-effective-agents-2024",
          "title": "Building Effective Agents",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "guidance",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Distinguishes deterministic workflows from autonomous agents where the language model dynamically directs control flow and tool usage based on environmental feedback."
          ],
          "limitations": [
            "Engineering guidance focused on practical patterns for LLM-based applications rather than general non-transformer agent theory."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/01-agent-foundations/01-what-is-an-agent/01-model-workflow-agent-comparison.png",
        "assets/images/01-agent-foundations/01-what-is-an-agent/02-seven-components-of-an-agent.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-01-02",
      "title": "The agent loop",
      "summary": "Explains the internal mechanics of the agent execution loop, detailing how models perceive environment feedback, decide actions, and execute tools across iterative turns.",
      "pass": "Pass 1: Agent Foundations",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/02-the-agent-loop.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/\">What is an agent</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/prerequisites/01-reader-contract-and-system-map/\">Prerequisites</a>."
      ],
      "learning_objectives": [
        "Trace the step-by-step lifecycle of a single turn in an agent execution loop.",
        "Differentiate between the inner reasoning cycle and outer runtime wrappers.",
        "Implement a framework-free agent loop with step budgets, schema validation, and error recovery."
      ],
      "source_records": [
        {
          "id": "p1-01-02-yao-react-2022",
          "title": "ReAct: Synergizing Reasoning and Acting in Language Models",
          "authors_or_organization": "ICLR / Princeton & Google Research",
          "date": "2022-10",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2210.03629",
          "claims_supported": [
            "Formalizes the perception-reasoning-action loop where language models interleave thought generation with action execution and observation integration."
          ],
          "limitations": [
            "Evaluates prompt-based agent loops on benchmark search and QA tasks rather than production tool harnesses."
          ]
        },
        {
          "id": "p1-01-02-ibm-loop-engineering-2024",
          "title": "What is loop engineering?",
          "authors_or_organization": "IBM Think",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://www.ibm.com/think/topics/loop-engineering",
          "claims_supported": [
            "Defines loop engineering as the practice of designing, wrapping, and constraining the iterative execution cycle of foundation models and tools."
          ],
          "limitations": [
            "Focuses on enterprise architectural concepts without specifying a single runtime standard."
          ]
        },
        {
          "id": "p1-01-02-anthropic-effective-agents-2024",
          "title": "Building Effective Agents",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Describes the agent loop as an environment-driven iterative cycle where models direct tool calls and inspect results until task completion."
          ],
          "limitations": [
            "Focuses on LLM API best practices rather than formalized mathematical control theory."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/01-agent-foundations/02-the-agent-loop/01-agent-loop-cycle.png"
      ],
      "example_paths": [
        "examples/01-agent-foundations/02-the-agent-loop"
      ]
    },
    {
      "unit_id": "P1-01-03",
      "title": "Workflows versus agents",
      "summary": "Compares deterministic code-orchestrated workflows with model-directed autonomous agents, establishing clear criteria for when each architectural pattern should be used.",
      "pass": "Pass 1: Agent Foundations",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/03-workflows-versus-agents/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/03-workflows-versus-agents.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/\">What is an agent</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/\">The agent loop</a>."
      ],
      "learning_objectives": [
        "Classify an AI system as a prompt chain, routing workflow, parallel pipeline, or autonomous agent.",
        "Select between workflows and agents based on predictability, latency, cost, and task ambiguity.",
        "Analyze the security and operational trade-offs of giving models control over execution paths."
      ],
      "source_records": [
        {
          "id": "p1-01-03-anthropic-workflows-agents-2024",
          "title": "Building Effective Agents: Workflows vs Agents",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Distinguishes deterministic workflows orchestrated through code from autonomous agents where models dynamically direct their own processes and tool usage."
          ],
          "limitations": [
            "Focuses on engineering heuristics rather than formal algorithmic proofs."
          ]
        },
        {
          "id": "p1-01-03-langchain-workflows-agents-2024",
          "title": "LangGraph: Workflows and Agents",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/workflows-agents",
          "claims_supported": [
            "Defines workflows as systems where LLMs and tools are orchestrated via fixed code paths and graphs, while agents let the model dynamically choose next steps."
          ],
          "limitations": [
            "Focuses on LangGraph state graph primitives and conventions."
          ]
        },
        {
          "id": "p1-01-03-google-adk-agents-2024",
          "title": "Google Agent Development Kit: Agents and Workflows",
          "authors_or_organization": "Google",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://adk.dev/agents/",
          "claims_supported": [
            "Contrasts structured procedural orchestration with goal-directed agent loops for enterprise application development."
          ],
          "limitations": [
            "Reflects the architectural perspective of Google ADK abstractions."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/01-agent-foundations/03-workflows-versus-agents/01-workflows-vs-agents-spectrum.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-01-04",
      "title": "Goals, policies, environments, and autonomy",
      "summary": "Details how agent goals, operational policies, environment characteristics, and autonomy levels interact to govern agent behavior and safety.",
      "pass": "Pass 1: Agent Foundations",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/04-goals-policies-environments-and-autonomy/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/04-goals-policies-environments-and-autonomy.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/\">What is an agent</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/\">The agent loop</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/03-workflows-versus-agents/\">Workflows versus agents</a>."
      ],
      "learning_objectives": [
        "Define agent goals and differentiate declarative end-states from procedural instructions.",
        "Construct deterministic policies and guardrails that restrict tool capabilities.",
        "Classify software environments by observability, determinism, dynamism, and continuity.",
        "Evaluate the autonomy spectrum from direct human control to fully autonomous execution."
      ],
      "source_records": [
        {
          "id": "p1-01-04-russell-norvig-aima-environments",
          "title": "Artificial Intelligence: A Modern Approach (4th Edition)",
          "authors_or_organization": "Pearson / UC Berkeley",
          "date": "2020",
          "source_type": "paper",
          "canonical_url": "https://aima.cs.berkeley.edu/",
          "claims_supported": [
            "Classifies agent environments across observability, determinism, dynamism, and continuity, and defines goal-based vs utility-based agent behavior."
          ],
          "limitations": [
            "Presents foundational AI definitions prior to modern LLM-based tool-calling harnesses."
          ]
        },
        {
          "id": "p1-01-04-morris-levels-agi-2023",
          "title": "Levels of AGI: Operationalizing Progress to AGI",
          "authors_or_organization": "Google DeepMind",
          "date": "2023-11",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2311.02462",
          "claims_supported": [
            "Framework defining levels of agent autonomy and autonomy vs capability distinctions in modern AI systems."
          ],
          "limitations": [
            "Focuses on taxonomy and capability tiers rather than runtime execution protocols."
          ]
        },
        {
          "id": "p1-01-04-nist-ai-rmf-2023",
          "title": "NIST AI Risk Management Framework (AI RMF 1.0)",
          "authors_or_organization": "National Institute of Standards and Technology",
          "date": "2023-01",
          "source_type": "standard",
          "canonical_url": "https://www.nist.gov/itl/ai-risk-management-framework",
          "claims_supported": [
            "Establishes governance, measurement, and operational management guidelines for autonomous and human-supervised AI systems."
          ],
          "limitations": [
            "Broad risk management principles rather than code-level implementation specifications."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/01-agent-foundations/04-goals-policies-environments-and-autonomy/01-goals-policies-environments-autonomy.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-01-05",
      "title": "Run lifecycle and termination",
      "summary": "Defines the complete lifecycle of an agent run from initialization to termination, detailing execution states, pause mechanisms, and multi-layered stopping conditions.",
      "pass": "Pass 1: Agent Foundations",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-15",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/foundations/05-run-lifecycle-and-termination/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/foundations/05-run-lifecycle-and-termination.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/\">What is an agent</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/\">The agent loop</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/03-workflows-versus-agents/\">Workflows versus agents</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/04-goals-policies-environments-and-autonomy/\">Goals, policies, environments, and autonomy</a>."
      ],
      "learning_objectives": [
        "Map the state transitions of an agent run across initialization, execution, suspension, and termination.",
        "Implement layered stopping criteria including step limits, token budgets, and stuck-loop detection.",
        "Manage asynchronous pauses, human-in-the-loop approvals, and clean resource teardown."
      ],
      "source_records": [
        {
          "id": "p1-01-05-openai-agents-sdk-lifecycle-2024",
          "title": "OpenAI Agents SDK: Runs and Lifecycle",
          "authors_or_organization": "OpenAI",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://openai.github.io/openai-agents-python/",
          "claims_supported": [
            "Defines agent run lifecycles, execution states, termination conditions, and tool guardrails in Python agent runtimes."
          ],
          "limitations": [
            "Focuses on the specific API conventions of the OpenAI Agents SDK."
          ]
        },
        {
          "id": "p1-01-05-langchain-human-in-the-loop-2024",
          "title": "LangGraph: Human-in-the-Loop and State Persistence",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/human-in-the-loop",
          "claims_supported": [
            "Specifies graph execution lifecycles, pause-and-resume mechanisms, checkpointers, and human interruption hooks."
          ],
          "limitations": [
            "Focuses on LangGraph state graph mechanics."
          ]
        },
        {
          "id": "p1-01-05-stop-hand-holding-agents-2026",
          "title": "Stop Hand-Holding Your Coding Agent",
          "authors_or_organization": "arXiv",
          "date": "2026-07",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2607.00038",
          "claims_supported": [
            "Analyzes the impact of step budgets, error backoff strategies, and autonomous termination criteria on agent benchmark performance and runaway costs."
          ],
          "limitations": [
            "Focuses primarily on automated coding and software engineering benchmarks."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/01-agent-foundations/05-run-lifecycle-and-termination/01-run-lifecycle-and-termination.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-01",
      "title": "Architecture selection criteria",
      "summary": "Establishes a systematic decision framework and trade-off matrix for selecting among deterministic workflows, single-agent loops, and multi-agent coordination patterns based on latency, cost, determinism, and failure containment.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/01-architecture-selection-criteria.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/01-what-is-an-agent/\">Agent foundations chapter plan</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/05-run-lifecycle-and-termination/\">Run lifecycle and termination</a>."
      ],
      "learning_objectives": [
        "Classify AI orchestration architectures across four distinct tiers of agency from fixed pipelines to multi-agent networks.",
        "Apply the Principle of Least Agency to select the most deterministic architecture that reliably fulfills system requirements.",
        "Evaluate trade-offs across latency, token cost, debuggability, state durability, and failure blast radius.",
        "Identify how modern frameworks represent workflow graphs, agent loops, and supervisor handoffs."
      ],
      "source_records": [
        {
          "id": "p1-02-01-anthropic-agent-patterns-2024",
          "title": "Building Effective Agents: Common Agentic Patterns",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Outlines common architecture patterns (prompt chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer) and establishes the principle of starting with the simplest deterministic design before increasing model autonomy."
          ],
          "limitations": [
            "Provides empirical heuristics for pattern selection rather than formal mathematical optimization models."
          ]
        },
        {
          "id": "p1-02-01-langgraph-workflows-agents-2024",
          "title": "Workflows and Agents: Choosing the Right Architectural Pattern",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/workflows-agents",
          "claims_supported": [
            "Defines workflows as deterministic code-directed graph orchestrations and agents as model-directed cyclic state systems, detailing selection criteria around latency, cost, and task ambiguity."
          ],
          "limitations": [
            "Framed around LangGraph graph execution constructs."
          ]
        },
        {
          "id": "p1-02-01-google-adk-orchestration-2024",
          "title": "Agent Architecture and Orchestration",
          "authors_or_organization": "Google",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://adk.dev/agents/",
          "claims_supported": [
            "Classifies single-agent, hierarchical workflow, and multi-agent topologies, prescribing architecture selection based on tool scope, isolation boundaries, and determinism requirements."
          ],
          "limitations": [
            "Concentrates on Google Cloud and ADK primitives."
          ]
        },
        {
          "id": "p1-02-01-madaan-self-refine-2023",
          "title": "Self-Refine: Iterative Refinement with Self-Feedback",
          "authors_or_organization": "NeurIPS",
          "date": "2023-12",
          "source_type": "paper",
          "canonical_url": "https://papers.neurips.cc/paper_files/paper/2023/hash/91edff07232fb1b55a505a9e9f6c0ff3-Abstract-Conference.html",
          "claims_supported": [
            "Demonstrates how iterative generator-feedback-refiner evaluation loops systematically improve task accuracy across code generation, reasoning, and constrained writing without additional training data."
          ],
          "limitations": [
            "Evaluated primarily on standalone reasoning and generation benchmarks without external multi-tool environment side effects."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/02-agent-architectures/01-architecture-selection-criteria/01-architecture-spectrum-and-patterns.png",
        "assets/images/02-agent-architectures/01-architecture-selection-criteria/02-architecture-selection-decision-tree.png",
        "assets/images/02-agent-architectures/01-architecture-selection-criteria/03-architecture-tradeoffs-and-blast-radius.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-02",
      "title": "Single-agent and reactive loops",
      "summary": "Explores the internal mechanics, state progression, and failure modes of single-agent ReAct loops, detailing how models interleave reasoning with dynamic tool actions and how host runtimes enforce termination guardrails.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/02-single-agent-and-reactive-loops/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/02-single-agent-and-reactive-loops.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/foundations/02-the-agent-loop/\">The agent loop</a>."
      ],
      "learning_objectives": [
        "Trace the step-by-step mechanics of the ReAct (Reason + Act) loop pattern.",
        "Manage context accumulation, observation overload, and semantic drift across multi-turn runs.",
        "Implement deterministic host guardrails including turn budgets, tool timeouts, and loop detectors.",
        "Diagnose reactive loop failure modes such as thrashing, tool hallucination, and observation poisoning."
      ],
      "source_records": [
        {
          "id": "p1-02-02-yao-react-2022",
          "title": "ReAct: Synergizing Reasoning and Acting in Language Models",
          "authors_or_organization": "Princeton University & Google Research",
          "date": "2022-10",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2210.03629",
          "claims_supported": [
            "Introduces the ReAct paradigm combining explicit verbal reasoning traces with environment actions and observations, improving task trajectory accuracy and reducing hallucination."
          ],
          "limitations": [
            "Focuses on text-based web and game benchmarks without external production security controls."
          ]
        },
        {
          "id": "p1-02-02-anthropic-tool-loops-2024",
          "title": "Building Effective Agents: Autonomous Tool Loops",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Analyzes the autonomous tool loop where models dynamically select tools based on environmental feedback, evaluating when autonomy is necessary and how to manage termination."
          ],
          "limitations": [
            "Focuses on engineering best practices rather than formal state machine verification."
          ]
        },
        {
          "id": "p1-02-02-langgraph-react-2024",
          "title": "LangGraph: Cyclic State Graphs and ReAct Agents",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/workflows-agents",
          "claims_supported": [
            "Explains cyclic state machines implementing ReAct agent patterns with message history, tool nodes, and conditional stopping edges."
          ],
          "limitations": [
            "Focuses on LangGraph framework constructs."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/02-agent-architectures/02-single-agent-and-reactive-loops/01-react-loop-mechanics.png",
        "assets/images/02-agent-architectures/02-single-agent-and-reactive-loops/02-context-accumulation-and-drift.png",
        "assets/images/02-agent-architectures/02-single-agent-and-reactive-loops/03-reactive-loop-guardrails.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-03",
      "title": "Sequential, routing, and parallel workflows",
      "summary": "Deep dive into deterministic workflow orchestration topologies including linear prompt chaining, conditional routing, parallel sectioning, and consensus voting, emphasizing error isolation and validation gates.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/03-sequential-routing-and-parallel-workflows/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/03-sequential-routing-and-parallel-workflows.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/02-single-agent-and-reactive-loops/\">Single-agent and reactive loops</a>."
      ],
      "learning_objectives": [
        "Construct linear prompt chaining pipelines with structured intermediate validation checkpoints.",
        "Design classification-based routing workflows that steer requests to specialized handlers.",
        "Implement parallel sectioning (Map-Reduce) and consensus voting (Self-Consistency) workflows.",
        "Enforce error containment, dead-letter routing, and straggler timeout limits in workflow DAGs."
      ],
      "source_records": [
        {
          "id": "p1-02-03-anthropic-workflows-2024",
          "title": "Building Effective Agents: Workflow Patterns",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Categorizes deterministic orchestration patterns including prompt chaining, conditional routing, and parallel sectioning or voting."
          ],
          "limitations": [
            "Focuses on engineering best practices rather than formal algorithmic complexity analysis."
          ]
        },
        {
          "id": "p1-02-03-langgraph-parallel-routing-2024",
          "title": "LangGraph: Branching, Parallel Execution, and Map-Reduce",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/workflows-agents",
          "claims_supported": [
            "Explains DAG control flow constructs for branching, fan-out parallel nodes, and state aggregation reducers in workflow graphs."
          ],
          "limitations": [
            "Framed around LangGraph execution runtime."
          ]
        },
        {
          "id": "p1-02-03-wang-self-consistency-2022",
          "title": "Self-Consistency Improves Chain of Thought Reasoning in Language Models",
          "authors_or_organization": "Google Research",
          "date": "2022-03",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2203.11171",
          "claims_supported": [
            "Demonstrates that generating diverse parallel reasoning paths and taking a majority vote significantly improves reasoning performance and robustness over single-path execution."
          ],
          "limitations": [
            "Requires multiple parallel model generations, increasing total token consumption."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/02-agent-architectures/03-sequential-routing-and-parallel-workflows/01-workflow-patterns-topology.png",
        "assets/images/02-agent-architectures/03-sequential-routing-and-parallel-workflows/02-parallel-workflows-sectioning-vs-voting.png",
        "assets/images/02-agent-architectures/03-sequential-routing-and-parallel-workflows/03-workflow-isolation-and-validation-gates.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-04",
      "title": "Plan and execute",
      "summary": "Explores the plan-and-execute architectural pattern, detailing how separating strategic task planning from tactical action execution and dynamic replanning improves reliability on complex long-horizon tasks.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/04-plan-and-execute/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/04-plan-and-execute.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/02-single-agent-and-reactive-loops/\">Single-agent and reactive loops</a>."
      ],
      "learning_objectives": [
        "Contrast the global strategic horizon of plan-and-execute with greedy single-step reactive loops.",
        "Implement decoupled planner, executor, and replanner components within stateful graph engines.",
        "Manage explicit plan state boards tracking step dependencies and lifecycle statuses.",
        "Enforce verification gates to prevent unvalidated tool outputs from poisoning dynamic replanning."
      ],
      "source_records": [
        {
          "id": "p1-02-04-wang-plan-solve-2023",
          "title": "Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models",
          "authors_or_organization": "ACL",
          "date": "2023-05",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2305.04091",
          "claims_supported": [
            "Introduces Plan-and-Solve prompting, which guides models to explicitly devise a multi-step plan before calculating sub-tasks, reducing calculation and missing-step errors."
          ],
          "limitations": [
            "Focuses on static mathematical and reasoning benchmarks rather than dynamic tool execution environments."
          ]
        },
        {
          "id": "p1-02-04-langgraph-plan-execute-2024",
          "title": "LangGraph: Plan-and-Execute and Dynamic Replanning",
          "authors_or_organization": "LangChain",
          "date": "2024",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/workflows-agents",
          "claims_supported": [
            "Details the architecture separating a global planner model from execution nodes, using explicit plan state lists and conditional replanning feedback edges."
          ],
          "limitations": [
            "Framed around LangGraph stateful graph abstractions."
          ]
        },
        {
          "id": "p1-02-04-anthropic-orchestrator-workers-2024",
          "title": "Building Effective Agents: Orchestrator-Workers Pattern",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Analyzes the orchestrator-workers pattern where a central planning model breaks down a complex task, delegates independent sub-tasks to workers, and synthesizes results."
          ],
          "limitations": [
            "Focuses on high-level orchestration heuristics rather than formal algorithmic verification."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/02-agent-architectures/04-plan-and-execute/01-plan-and-execute-architecture.png",
        "assets/images/02-agent-architectures/04-plan-and-execute/02-react-vs-plan-execute-comparison.png",
        "assets/images/02-agent-architectures/04-plan-and-execute/03-plan-state-board-and-replanning.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-05",
      "title": "Evaluator-optimizer and reflection",
      "summary": "Explores the evaluator-optimizer and reflection patterns, detailing how decoupled generator and evaluator models iteratively critique, score, and refine outputs against deterministic tests and semantic rubrics.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/05-evaluator-optimizer-and-reflection/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/05-evaluator-optimizer-and-reflection.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/04-plan-and-execute/\">Plan and execute</a>."
      ],
      "learning_objectives": [
        "Construct iterative generator-evaluator loops using explicit scoring rubrics and acceptance thresholds.",
        "Integrate deterministic verifiers (compilers, linters, unit tests) with LLM-as-a-judge evaluators.",
        "Implement episodic verbal reflection (Reflexion) to record critique history and prevent repetitive errors.",
        "Mitigate critique failure modes including evaluator sycophancy, score oscillation, and diminishing returns."
      ],
      "source_records": [
        {
          "id": "p1-02-05-madaan-self-refine-2023",
          "title": "Self-Refine: Iterative Refinement with Self-Feedback",
          "authors_or_organization": "NeurIPS",
          "date": "2023-12",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2303.17651",
          "claims_supported": [
            "Demonstrates how iterative generator-feedback-refiner loops improve accuracy and alignment across code generation, math reasoning, and writing tasks without additional model training."
          ],
          "limitations": [
            "Evaluates isolated generation tasks rather than interactive multi-tool execution environments."
          ]
        },
        {
          "id": "p1-02-05-shinn-reflexion-2023",
          "title": "Reflexion: Language Agents with Verbal Reinforcement Learning",
          "authors_or_organization": "NeurIPS",
          "date": "2023-12",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2303.11366",
          "claims_supported": [
            "Introduces verbal reflection memory where agents convert environment error signals into structured self-reflection critiques stored in episodic memory to guide subsequent attempts."
          ],
          "limitations": [
            "Requires multiple task rollout attempts, increasing token cost."
          ]
        },
        {
          "id": "p1-02-05-anthropic-evaluator-optimizer-2024",
          "title": "Building Effective Agents: Evaluator-Optimizer Pattern",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Analyzes the evaluator-optimizer pattern where one LLM generates while another provides critique and feedback in an iterative loop against explicit evaluation criteria."
          ],
          "limitations": [
            "Focuses on architectural patterns rather than mathematical convergence proofs."
          ]
        }
      ],
      "visual_assets": [
        "assets/images/02-agent-architectures/05-evaluator-optimizer-and-reflection/01-evaluator-optimizer-loop.png"
      ],
      "example_paths": []
    },
    {
      "unit_id": "P1-02-06",
      "title": "State machines and event-driven graphs",
      "summary": "Explores state machines and event-driven graphs for AI agents, detailing typed state schemas, cyclic nodes, conditional edge routing, durable checkpointing, and asynchronous human-in-the-loop interruption.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/06-state-machines-and-event-driven-graphs/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/06-state-machines-and-event-driven-graphs.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/05-evaluator-optimizer-and-reflection/\">Evaluator-optimizer and reflection</a>."
      ],
      "learning_objectives": [
        "Model agent workflows as deterministic state graphs with explicit state schemas and state reducers.",
        "Implement cyclic execution topologies with conditional branching edges and termination guards.",
        "Integrate durable checkpoint stores to snapshot state across long-running executions.",
        "Construct asynchronous human-in-the-loop interruption gates for sensitive tool actions."
      ],
      "source_records": [
        {
          "id": "p1-02-06-langchain-langgraph-2024",
          "title": "LangGraph: Multi-Agent Workflows and State Machines",
          "authors_or_organization": "LangChain",
          "date": "2024-01",
          "source_type": "documentation",
          "canonical_url": "https://docs.langchain.com/oss/python/langgraph/",
          "claims_supported": [
            "Explains cyclic event-driven graph architectures for LLM agents, defining state schemas, nodes, conditional edges, checkpointers, and human-in-the-loop interruption."
          ],
          "limitations": [
            "Focuses primarily on graph orchestration rather than low-level distributed consensus protocols."
          ]
        },
        {
          "id": "p1-02-06-temporal-durable-execution-2024",
          "title": "Durable Execution: Designing Resilient AI Workflows and State Machines",
          "authors_or_organization": "Temporal Technologies",
          "date": "2024-06",
          "source_type": "documentation",
          "canonical_url": "https://temporal.io/blog/durable-execution-for-ai-agents",
          "claims_supported": [
            "Details deterministic event sourcing, durable state machines, execution replay, and handling external event signals and timeouts in agentic workflows."
          ],
          "limitations": [
            "Emphasizes workflow-as-code paradigms rather than prompt-directed emergent routing."
          ]
        },
        {
          "id": "p1-02-06-harel-statecharts-1987",
          "title": "Statecharts: A Visual Formalism for Complex Systems",
          "authors_or_organization": "David Harel",
          "date": "1987-06",
          "source_type": "paper",
          "canonical_url": "https://www.sciencedirect.com/science/article/pii/0167642387900359",
          "claims_supported": [
            "Defines the formal foundation for state machines with hierarchical states, orthogonality and concurrency, and event-driven transitions."
          ],
          "limitations": [
            "Seminal foundational computer science paper, written prior to modern neural network architectures."
          ]
        }
      ],
      "visual_assets": [],
      "example_paths": [
        "examples/02-agent-architectures/06-state-machines-and-event-driven-graphs/state_graph_runtime.py"
      ]
    },
    {
      "unit_id": "P1-02-07",
      "title": "Supervisors, handoffs, and agent-as-tool",
      "summary": "Explores multi-agent coordination architectures, comparing centralized supervisors (manager-worker), decentralized peer handoffs (swarm), and encapsulated subagents (agent-as-a-tool).",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/07-supervisors-handoffs-and-agent-as-tool/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/07-supervisors-handoffs-and-agent-as-tool.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/06-state-machines-and-event-driven-graphs/\">State machines and event-driven graphs</a>."
      ],
      "learning_objectives": [
        "Distinguish hierarchical supervisor architectures from peer-to-peer handoffs and tool-encapsulated subagents.",
        "Implement context isolation to prevent context window bloat and enforce least privilege across subagents.",
        "Construct function-based transfer routines for deterministic peer handoffs.",
        "Mitigate multi-agent failure modes including handoff ping-pong loops, supervisor bottlenecks, and delegation cascades."
      ],
      "source_records": [
        {
          "id": "p1-02-07-openai-swarm-2024",
          "title": "Swarm: Educational Framework for Multi-Agent Orchestration and Handoffs",
          "authors_or_organization": "OpenAI",
          "date": "2024-10",
          "source_type": "documentation",
          "canonical_url": "https://github.com/openai/swarm",
          "claims_supported": [
            "Explains lightweight multi-agent handoff mechanics, function-based transfer routines, and dynamic context transfer between peer agents."
          ],
          "limitations": [
            "Designed as an educational architectural exploration rather than an enterprise production framework."
          ]
        },
        {
          "id": "p1-02-07-anthropic-multi-agent-orchestrator-2024",
          "title": "Building Effective Agents: Orchestrator-Workers and Multi-Agent Patterns",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Details the supervisor (orchestrator-workers) pattern, subagent context encapsulation, task decomposition, and result synthesis across specialized worker models."
          ],
          "limitations": [
            "Emphasizes prompt-based coordination over binary inter-process communication protocols."
          ]
        },
        {
          "id": "p1-02-07-microsoft-autogen-teams-2024",
          "title": "AutoGen: Enabling Next-Generation LLM Applications via Multi-Agent Conversation",
          "authors_or_organization": "Microsoft Research",
          "date": "2024-03",
          "source_type": "paper",
          "canonical_url": "https://microsoft.github.io/autogen/",
          "claims_supported": [
            "Analyzes structured multi-agent collaboration topologies, supervisor group chats, nested agent tool patterns, and conversational handoffs."
          ],
          "limitations": [
            "Broad architectural survey across diverse research prototypes and production runtime models."
          ]
        }
      ],
      "visual_assets": [],
      "example_paths": [
        "examples/02-agent-architectures/07-supervisors-handoffs-and-agent-as-tool/multi_agent_coordination.py"
      ]
    },
    {
      "unit_id": "P1-02-08",
      "title": "Architecture trade-offs",
      "summary": "Compares orchestration patterns across determinism, latency, token expenditure, observability, failure propagation, and termination guarantees to guide minimal architecture selection.",
      "pass": "Pass 1: Architectures",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/architectures/08-architecture-trade-offs/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/architectures/08-architecture-trade-offs.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/01-architecture-selection-criteria/\">Architecture selection criteria</a>.",
        "Read <a href=\"/From-LLMs-to-Secure-Agents/architectures/07-supervisors-handoffs-and-agent-as-tool/\">Supervisors, handoffs, and agent-as-tool</a>."
      ],
      "learning_objectives": [
        "Evaluate the six core trade-off dimensions across deterministic pipelines, reactive loops, evaluator-optimizer loops, state graphs, and multi-agent systems.",
        "Apply the simplicity principle to select the least dynamic architecture that satisfies functional requirements.",
        "Calculate token cost and latency multipliers when transitioning from single-agent to multi-agent topologies.",
        "Design failure isolation boundaries to restrict the blast radius of rogue tool executions and infinite loops."
      ],
      "source_records": [
        {
          "id": "p1-02-08-anthropic-building-effective-agents-2024",
          "title": "Building Effective Agents: Architecture Trade-Offs and Simplicity Principles",
          "authors_or_organization": "Anthropic",
          "date": "2024-12",
          "source_type": "documentation",
          "canonical_url": "https://www.anthropic.com/research/building-effective-agents",
          "claims_supported": [
            "Recommends starting with the simplest pattern that solves the task, comparing cost, latency, error recovery, and failure blast radius across agent architectures."
          ],
          "limitations": [
            "Focuses primarily on prompt engineering and orchestration patterns rather than hardware-level optimizations."
          ]
        },
        {
          "id": "p1-02-08-google-cloud-agent-design-patterns-2024",
          "title": "Enterprise Generative AI Agent Design Patterns and Evaluation",
          "authors_or_organization": "Google Cloud Architecture Center",
          "date": "2024-08",
          "source_type": "documentation",
          "canonical_url": "https://cloud.google.com/architecture/ai-ml",
          "claims_supported": [
            "Compares deterministic workflows against dynamic agent loops across enterprise latency, cost budgets, and compliance constraints."
          ],
          "limitations": [
            "Emphasizes Google Cloud enterprise platform features."
          ]
        },
        {
          "id": "p1-02-08-microsoft-patterns-enterprise-agents-2024",
          "title": "Design Patterns for Multi-Agent AI Systems in Enterprise Applications",
          "authors_or_organization": "Microsoft Azure Architecture Center",
          "date": "2024-10",
          "source_type": "documentation",
          "canonical_url": "https://learn.microsoft.com/en-us/azure/architecture/guide/ai/",
          "claims_supported": [
            "Analyzes trade-offs between centralized supervisors, event-driven graphs, and single-agent loops regarding state management, observability, and failure isolation."
          ],
          "limitations": [
            "Emphasizes Microsoft Azure enterprise cloud topologies."
          ]
        }
      ],
      "visual_assets": [],
      "example_paths": [
        "examples/02-agent-architectures/08-architecture-trade-offs/architecture_tradeoff_benchmarker.py"
      ]
    },
    {
      "unit_id": "P1-03-01-01",
      "title": "Model roles and selection",
      "summary": "Explains model roles, capability profiles, selection dimensions, provider adapters, and cost-latency-quality trade-offs in production agentic systems.",
      "pass": "Pass 1: Building Blocks",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/building-blocks/01-model-roles-and-selection/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/building-blocks/01-model-roles-and-selection.md",
      "prerequisites": [
        "Read <a href=\"../chapter-plan.md\">Building blocks</a>.",
        "Read <a href=\"../../02-agent-architectures/08-architecture-trade-offs.md\">Architecture trade-offs</a>."
      ],
      "learning_objectives": [
        "Differentiate the core model roles in agent architectures: planner, router, worker, and evaluator.",
        "Evaluate models across capability dimensions including reasoning depth, latency, token pricing, context retention, and structured tool schema compliance.",
        "Implement provider adapters to decouple application logic from vendor-specific API formats.",
        "Mitigate operational model risks including unannounced provider model drift, rate limits, and context truncation."
      ],
      "source_records": [
        {
          "id": "p1-03-01-01-chen-frugalgpt-2023",
          "title": "FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance",
          "authors_or_organization": "Lingjiao Chen, Matei Zaharia, James Zou",
          "date": "2023-05",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2305.05176",
          "claims_supported": [
            "Explores model selection, cascades, and assigning tasks to small vs large models based on task complexity to cut costs by up to 98%."
          ],
          "limitations": [
            "Focuses primarily on single-turn benchmark tasks rather than long-horizon multi-agent loops."
          ]
        },
        {
          "id": "p1-03-01-01-ong-routellm-2024",
          "title": "RouteLLM: Learning to Route to Large Language Models with Preference Data",
          "authors_or_organization": "Isaac Ong, Amjad Almahairi, Vincent Wu, Wei-Lin Chiang, Tianhao Wu, Joseph E. Gonzalez, Ion Stoica",
          "date": "2024-06",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2406.18665",
          "claims_supported": [
            "Analyzes router training, binary routing policies between weak and strong models, cost-quality Pareto frontiers, and model capability thresholds."
          ],
          "limitations": [
            "Requires offline preference datasets to train neural router weights."
          ]
        },
        {
          "id": "p1-03-01-01-google-adk-models-2024",
          "title": "Google Agent Development Kit: Model Configurations and Capability Profiles",
          "authors_or_organization": "Google",
          "date": "2024-09",
          "source_type": "documentation",
          "canonical_url": "https://adk.dev/agents/",
          "claims_supported": [
            "Details configuring distinct model roles (planner, router, verifier) and provider adapters in production agentic systems."
          ],
          "limitations": [
            "Focuses on Google Agent Development Kit runtime conventions."
          ]
        }
      ],
      "visual_assets": [],
      "example_paths": [
        "examples/03-building-blocks/01-models-and-routing/01-model-roles-and-selection/model_role_adapter.py"
      ]
    },
    {
      "unit_id": "P1-03-01-02",
      "title": "Routing, cascades, and fallbacks",
      "summary": "Explores dynamic model routing, progressive escalation cascades, circuit breaker patterns, and multi-provider fallbacks for high-availability agent architectures.",
      "pass": "Pass 1: Building Blocks",
      "learning_path": "main",
      "status": "complete",
      "last_reviewed": "2026-08-17",
      "html_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/building-blocks/02-routing-cascades-and-fallbacks/",
      "markdown_url": "https://renatomignone.github.io/From-LLMs-to-Secure-Agents/markdown/building-blocks/02-routing-cascades-and-fallbacks.md",
      "prerequisites": [
        "Read <a href=\"/From-LLMs-to-Secure-Agents/building-blocks/01-model-roles-and-selection/\">Model roles and selection</a>.",
        "Read <a href=\"../../02-agent-architectures/01-architecture-selection-criteria.md\">Architecture selection criteria</a>."
      ],
      "learning_objectives": [
        "Implement dynamic routing mechanisms including rule-based, embedding similarity, and learned threshold routers.",
        "Design progressive model cascades (FrugalGPT) that escalate from fast SLMs to frontier reasoning models upon confidence failure.",
        "Construct resilient circuit breaker gateways with automated provider failover, jittered retries, and graceful degradation.",
        "Mitigate cascade failure modes including latency stacking, thundering herd failover storms, and router classification bypass."
      ],
      "source_records": [
        {
          "id": "p1-03-01-02-ong-routellm-cascades-2024",
          "title": "RouteLLM: Learning to Route to Large Language Models with Preference Data",
          "authors_or_organization": "Isaac Ong, Amjad Almahairi, Vincent Wu, Wei-Lin Chiang, Tianhao Wu, Joseph E. Gonzalez, Ion Stoica",
          "date": "2024-06",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2406.18665",
          "claims_supported": [
            "Explains learned routing algorithms, threshold-based model dispatching, and cost-quality Pareto optimization."
          ],
          "limitations": [
            "Requires offline calibration on representative query distributions."
          ]
        },
        {
          "id": "p1-03-01-02-chen-frugalgpt-cascades-2023",
          "title": "FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance",
          "authors_or_organization": "Lingjiao Chen, Matei Zaharia, James Zou",
          "date": "2023-05",
          "source_type": "paper",
          "canonical_url": "https://arxiv.org/abs/2305.05176",
          "claims_supported": [
            "Details the LLM Cascade architecture, scoring answer generation confidence, and progressive escalation across model APIs."
          ],
          "limitations": [
            "Focuses on single-turn tasks rather than long-running conversational memory state."
          ]
        },
        {
          "id": "p1-03-01-02-netflix-circuit-breakers-fallbacks-2023",
          "title": "Fault Tolerance and Circuit Breakers in Distributed AI Systems",
          "authors_or_organization": "Netflix Technology Blog",
          "date": "2023-11",
          "source_type": "documentation",
          "canonical_url": "https://netflixtechblog.com/",
          "claims_supported": [
            "Details circuit breaker patterns, automated failover, jittered retries, and graceful degradation for distributed AI model gateways."
          ],
          "limitations": [
            "Emphasizes enterprise streaming microservices infrastructure."
          ]
        }
      ],
      "visual_assets": [],
      "example_paths": [
        "examples/03-building-blocks/01-models-and-routing/02-routing-cascades-and-fallbacks/routing_cascade_gateway.py"
      ]
    }
  ]
}