-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Patterns #19559
base: production
Are you sure you want to change the base?
Patterns #19559
Changes from 5 commits
a736a66
b887bb5
3e3fa72
b71a501
a27d20c
fff793c
8ed92a2
9d378f2
f06897e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,88 @@ | ||||||
--- | ||||||
pcx_content_type: concept | ||||||
title: Patterns | ||||||
sidebar: | ||||||
order: 3 | ||||||
head: [] | ||||||
--- | ||||||
|
||||||
import { GitHubCode } from "~/components"; | ||||||
|
||||||
Common patterns for implementing AI agents, based on [Anthropic's research on agent patterns](https://www.anthropic.com/research/building-effective-agents). | ||||||
|
||||||
Code samples use the [AI SDK](https://sdk.vercel.ai/docs/foundations/agents), running in Cloudflare's Durable Objects. | ||||||
|
||||||
## Prompt Chaining | ||||||
|
||||||
Decomposes tasks into a sequence of steps, where each LLM call processes the output of the previous one. | ||||||
|
||||||
![Figure 1: Prompt Chaining](~/assets/images/agents/01-sequential.png "Figure 1: Prompt Chaining") | ||||||
|
||||||
[**Interactive Demo**](https://patterns.agents.workers.dev) | ||||||
|
||||||
<GitHubCode | ||||||
repo="cloudflare/agents" | ||||||
file="examples/anthropic-patterns/src/flows/01-sequential.txt" | ||||||
commit="3b8959063c17d53e27a3040670d9cbf8a95644e1" | ||||||
lang="ts" | ||||||
/> | ||||||
|
||||||
## Routing | ||||||
|
||||||
Classifies input and directs it to specialized followup tasks, allowing for separation of concerns. | ||||||
|
||||||
![Figure 2: Routing](~/assets/images/agents/02-routing.png "Figure 2: Routing") | ||||||
|
||||||
[**Interactive Demo**](https://patterns.agents.workers.dev) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
<GitHubCode | ||||||
repo="cloudflare/agents" | ||||||
file="examples/anthropic-patterns/src/flows/02-routing.txt" | ||||||
commit="3b8959063c17d53e27a3040670d9cbf8a95644e1" | ||||||
lang="ts" | ||||||
/> | ||||||
|
||||||
## Parallelization | ||||||
|
||||||
Enables simultaneous task processing through sectioning or voting mechanisms. | ||||||
|
||||||
![Figure 3: Parallelization](~/assets/images/agents/03-parallel.png "Figure 3: Parallelization") | ||||||
|
||||||
[**Interactive Demo**](https://patterns.agents.workers.dev) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
<GitHubCode | ||||||
repo="cloudflare/agents" | ||||||
file="examples/anthropic-patterns/src/flows/03-parallel.txt" | ||||||
commit="3b8959063c17d53e27a3040670d9cbf8a95644e1" | ||||||
lang="ts" | ||||||
/> | ||||||
|
||||||
## Orchestrator-Workers | ||||||
|
||||||
A central LLM dynamically breaks down tasks, delegates to worker LLMs, and synthesizes results. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Issues:
Fix Explanation: The term 'worker' should be capitalized to 'Worker' according to the style guide recommendation. This is a straightforward capitalization fix. |
||||||
|
||||||
![Figure 4: Orchestrator Workers](~/assets/images/agents/04-orchestrator.png "Figure 4: Orchestrator Workers") | ||||||
|
||||||
[**Interactive Demo**](https://patterns.agents.workers.dev) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
<GitHubCode | ||||||
repo="cloudflare/agents" | ||||||
file="examples/anthropic-patterns/src/flows/04-orchestrator.txt" | ||||||
commit="3b8959063c17d53e27a3040670d9cbf8a95644e1" | ||||||
lang="ts" | ||||||
/> | ||||||
|
||||||
## Evaluator-Optimizer | ||||||
|
||||||
One LLM generates responses while another provides evaluation and feedback in a loop. | ||||||
|
||||||
![Figure 5: Evaluator-Optimizer](~/assets/images/agents/05-evaluator.png "Figure 5: Evaluator-Optimizer") | ||||||
|
||||||
[**Interactive Demo**](https://patterns.agents.workers.dev) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
<GitHubCode | ||||||
repo="cloudflare/agents" | ||||||
file="examples/anthropic-patterns/src/flows/05-evaluator.txt" | ||||||
commit="3b8959063c17d53e27a3040670d9cbf8a95644e1" | ||||||
lang="ts" | ||||||
/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.