An AI agent is software that acts toward a result by interpreting requests, reasoning about tasks, interacting with users or environments, and using tools or data. The term includes assistants and ranges from direct LLM proxies to autonomous systems that plan, decide, and execute independently. section 1.1 section 1.6
Classify an agent by how much control it exercises:
- Direct interaction connects the user straight to an LLM without an intervening agent. section 1.1
- A proxy agent reformulates a request for a task, such as improving an image-generation prompt. section 1.1
- An agent or assistant can prepare tool or function calls but may require user approval before execution. section 1.1
- An autonomous agent interprets a goal, constructs a plan, reaches decision points, executes steps, and can replan using new knowledge or feedback. section 1.3
A typical agent system combines five areas: a profile or persona that guides behavior, actions and tools that affect tasks or environments, knowledge and memory that supply context, reasoning and evaluation that assess problems and solutions, and planning and feedback that organize work toward goals. section 1.2 section 1.6
A two-agent joke crew
A practical multi-agent workflow assigns one agent to research what makes an AI-engineering topic funny and another to write the joke. Tasks define descriptions, expected outputs, and ownership; a sequential crew runs them and returns the result. section 4.4.1
Figure 1.1 The differences between the LLM interactions from direct action compared to using proxy agents, agents, and autonomous agents
Compare direct LLM interaction, proxy agents, approval-based assistants, and autonomous agents by following how requests and actions move through each system. section 1.1
Figure 1.3 The five main components of a single-agent system (image generated through DALL-E 3)
Inspect the five major component categories that make up a single-agent system. section 1.2
Figure 1.2 In this example of a multi-agent system, the controller or agent proxy communicates directly with the user. Two agents—a coder and a tester—work in the background to create code and write unit tests to test the code.
Trace a controller coordinating coder and tester agents while the user communicates through the proxy. section 1.1
































