📄️ Task Execution
Simplest pattern to execute a task and return structured output.
📄️ Evaluator-Optimizer
Evaluator-Optimizer pattern allows an LLM to improve the quality of generation by optimizing a previous generation with feedback from an evaluator. This evaluation-optimization loop can be done multiple times.
📄️ Parallelization Workflow
Parallelization Workflow pattern runs subtasks in parallel to improve the performance.
📄️ Routing Workflow
Routing Workflow patterns routes a task input to another Task Execution agent by selecting the most suitable target from a list of candidate agents. Each route has a name and a description. The logic of target route selection is usually done by using an LLM.
📄️ Chain Workflow
Chain Workflow pattern decomposes a complicated task into a sequence of steps. Each step takes the output of the previous step as its input, processes the input, then calls the next step with updated input.
📄️ Agent as Tool
LLMs have the capability to call external tools. Agent as Tool pattern allows an agent to be used as a tool for an LLM to use. This means that an LLM can choose to call an agent when it thinks necessary. This also means that we don't need to always have fixed processes, but ask an LLM to act on its own to finish a task.
📄️ Tool as Agent
This pattern is the opposite of Agent as Tool pattern.
📄️ Orchestrator-Workers Workflow
Orchestrator-Workers Workflow patterns allows an LLM to choose the best approach to finish a task. This pattern works naturally with Agent as Tool pattern. All we need to do is to register all possible agents as tools. The LLM decides which tools to use to finish a task.