Design patterns behind AI agents
The recurring architectures underneath today’s agent frameworks and orchestration stacks
One of the more confusing parts of the current agent ecosystem is that people often talk about frameworks, agents, orchestration, and autonomy as if they all mean the same thing.
However, most agentic systems tend to follow a small number of recurring design patterns. The differences usually come down to how an agent reasons, how it plans tasks, how it interacts with tools, and whether it operates alone or alongside other specialized agents.
Once you recognize these patterns, a lot of the ecosystem starts making more sense. You can begin to see why some systems are better suited for short reasoning tasks while others are designed for long-running workflows, delegation, or multi-step execution.
This article breaks down some of the most common patterns used in modern AI agents and how they differ.
For builders navigating the move from models to agents
All AI agent design patterns contain the core three components, but have variations in how they implement the components. In particular, they differ based on how they control the control logic framework and its tooling sophistication. These include ReAct, CoT, planner-executor, and hierarchical/multi-agent.
CoT
CoT simply encourages the model to produce a step-by-step reasoning trace before generating a final answer. A literal interpretation of it would be to tell someone to think about a problem, create a plan on how they are going to solve it, and then take the steps to solve it. One limitation of CoT is that it’s unable to take action and, more importantly, unable to adapt its plan based on the results of actions.
ReAct (Reasoning + Acting)
ReAct is a pattern that we mentioned and described in pseudocode earlier. This design pattern enforces an AI agent to iteratively reason about the problem and choose a tool or action to take, feeding the result back into the continuous loop until its goal is achieved. The difference between ReAct and CoT is in their ability to act and then adjust their plan based on the results of that action. This is best for real-world agents that need to reason and interact with tools to solve complex tasks. This pattern is most often the go-to for most traditional AI agents.
Planner-execution
The planner-execution pattern separates the system performing the planning from the system performing the execution. An agent first generates a high-level plan, and then another agent (or multiple agents) executes each task in that plan. This pattern works well for very long-term complex tasks or tasks that can easily be modularized and delegated to sub-agents.
Hierarchical/multi-agent
A hierarchical/multi-agent pattern divides tasks among multiple specialized agents that are experts in that particular domain or task. This pattern can also perform work in a distributed manner, meaning that the system can finish tasks simultaneously rather than sequentially. This system is akin to a normal company, which contains a manager (a CEO) who delegates tasks to specialized workers with their own domain (CMO, COO, CFO, etc.).
For example, if we build an AI agent that resolves customer complaints, there may be an agent that receives the complaint and produces an action plan, and then specialized agents to perform those tasks, each with their own model, tooling infrastructure, and memory and knowledge (such as a customer agent that can look up customer information, a compliance agent that reviews policies, and a response agent that drafts a reply to the customer).
These patterns are not mutually exclusive. In fact, most real-world agents, especially those built with the frameworks briefly discussed next, tend to blend these approaches depending on the complexity of the task and the tools available. The OpenAI Agents SDK framework, for example, combined ReAct and hierarchical/multi-agent patterns.
In addition to the design patterns, companies have built different frameworks to develop and deploy AI agents, which differ based on the design pattern used and based on their feature set. These include the OpenAI Agents SDK, LangChain, LangGraph, AutoGen, AutoGPT, and Crew AI.
One thing that becomes clear when building agents is that there’s no single correct architecture.
That’s also part of why the agent space feels so noisy right now. Many of the frameworks being discussed often solve similar problems underneath, just with different abstractions and orchestration layers, as well as developer experiences wrapped around them.
Understanding the underlying patterns matters more than memorising framework names. Once you understand how reasoning, planning, tooling, and delegation fit together, it becomes much easier to evaluate new agent stacks without getting distracted by surface-level differentiation.
Thanks for reading!
Agentic Engineering grew out of a desire to create something grounded and useful for people trying to make sense of agentic AI beyond the weekly framework and abstraction noise.
If you’d like to support that direction, you may pledge your support below.


