这是一个全面展示 AI Agentic 设计模式的实践项目集合。每个演示项目都实现了特定的智能体设计模式,提供了从基础到高级的完整实现示例。
- 16 个完整的设计模式实现 - 涵盖从基础到高级的各种智能体设计模式
- 统一的技术栈和架构 - 所有项目遵循相同的技术规范和代码标准
- 生产就绪的代码质量 - 完整的类型定义、错误处理和详细文档
- 即用型示例 - 每个项目都可独立运行,附带完整的使用说明
- 模块化设计 - 清晰的架构,易于理解和扩展
- 运行时: Node.js 22.16.0
- 包管理器: pnpm 10.19.0
- 编程语言: TypeScript 5.9.3
- AI SDK: Vercel AI SDK 5.0.79+
- LLM 提供商: DeepSeek API
- 代码质量工具: ESLint 9.38.0 + Prettier 3.6.2
- 开发工具: tsx 4.20.6
- 验证库: Zod 3.24.1
本项目包含 16 个独立的演示项目,每个项目实现一种特定的 Agentic 设计模式:
根据用户意图自动分类请求,将其路由到不同的处理器。适用于客户服务机器人、多功能助手等场景。
同时执行多个相互独立的 LLM 调用,显著提升性能。可减少约 50% 的执行时间,适用于多维度内容分析。
实现"生成 → 评审 → 优化"的迭代循环,自动提高输出质量。特别适用于代码生成和自动化代码审查。
展示工具定义、调用和验证的完整流程。使用 Zod Schema 进行类型安全的工具参数验证。
先制定详细计划,再执行任务。使用结构化输出(Plan + Summary),适用于内容创作、研究项目等复杂任务。
基于 Crew 框架实现多智能体系统。包含 Agent、Task、Process 三层架构,支持任务依赖管理和顺序/并行执行。
实现 Agent-to-Agent 通信协议。使用 Agent Card(智能体卡片)、JSON-RPC 2.0 和 Server-Sent Events 实现智能体间的标准化通信。
实现短期记忆(Session 和 State)和长期记忆(跨会话持久化存储)。支持多级别状态管理(user:、app:、temp: 等)。
实现检索增强生成(Retrieval-Augmented Generation)。包含文档处理、分块、向量嵌入和语义搜索功能。
实现 Model Context Protocol 服务器和客户端。支持 STDIO 和 HTTP 传输,包含工具发现和自动调用功能。
实现目标导向的任务执行系统。包含自我评估和迭代改进机制,适用于代码生成和质量控制。
实现人机协同工作模式。AI 自动处理简单问题,复杂问题上报人工。包含完整的工单管理系统。
实现成本和性能优化。根据任务特性智能分配计算资源。
展示高级推理能力和复杂问题分析技术。
实现任务优先级管理和智能调度系统。
实现主动学习和知识探索功能。
- Node.js 22.16.0 或更高版本
- pnpm 10.19.0 或更高版本
- DeepSeek API Key(必需)
- OpenAI API Key(可选,部分项目需要)
- 克隆项目:
git clone <repository-url>
cd agentic-design-patterns- 安装依赖(以 demo8 为例):
cd demo8-routing
pnpm install- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,填入你的 API Key# 开发模式
pnpm dev
# 构建
pnpm build
# 生产模式运行
pnpm start每个演示项目都遵循统一的架构模式:
demo*/
├── src/
│ ├── types.ts / types/ # TypeScript 类型定义
│ ├── index.ts # 主入口
│ ├── [specific-modules].ts # 功能模块
│ └── examples/ # 示例代码(部分项目)
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
├── eslint.config.js # ESLint 配置
├── .prettierrc # Prettier 配置
├── .nvmrc # Node.js 版本锁定
├── .env.example # 环境变量模板
├── README.md # 项目文档
└── pnpm-lock.yaml # 依赖锁定文件
所有项目都包含以下 npm scripts:
{
"dev": "tsx src/index.ts",
"build": "tsc",
"start": "node dist/index.js",
"lint": "eslint src/**/*.ts",
"format": "prettier --write \"src/**/*.ts\""
}- ✅ ESLint 检查,禁止未使用变量
- ✅ Prettier 代码格式化
- ✅ TypeScript 严格模式
- ✅ 完整的类型定义
- ✅ 避免使用 any 类型
- ✅ 完整的错误处理
- ✅ 详细的代码注释和文档
建议使用语义化的提交信息:
feat: 新功能fix: 错误修复docs: 文档更新refactor: 代码重构test: 测试相关chore: 构建过程或辅助工具的变动
建议按照以下顺序学习各个设计模式:
- Demo 11 - 工具使用 → 理解 AI 如何使用外部工具
- Demo 8 - 路由 → 学习如何分类和处理不同类型的请求
- Demo 12 - 规划 → 理解任务分解和执行计划
- Demo 9 - 并行化 → 掌握性能优化技巧
- Demo 10 - 反思 → 学习自我改进机制
- Demo 14 - 记忆管理 → 理解状态管理和持久化
- Demo 13 - 多智能体协作 → 构建多智能体系统
- Demo 20 - RAG → 实现知识检索和增强
- Demo 16 - MCP → 掌握标准化的上下文协议
- Demo 19 - 人机协同 → 构建实用的 AI 助手
- Demo 21 - A2A 通信 → 实现智能体间通信
- Demo 17 - 目标监控 → 构建自主目标系统
这些设计模式可以应用于多种实际场景:
- 客户服务: 路由 + 工具使用 + 人机协同
- 内容创作: 规划 + 反思 + RAG
- 代码助手: 反思 + 工具使用 + 目标监控
- 研究助手: RAG + 多智能体协作 + 探索发现
- 任务管理: 规划 + 优先级设定 + 资源优化
所有项目都需要以下环境变量:
# 必需
DEEPSEEK_API_KEY=your_deepseek_api_key
# 可选(部分项目需要)
OPENAI_API_KEY=your_openai_api_key欢迎贡献代码、报告问题或提出改进建议!
- Fork 本项目
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的修改 (
git commit -m 'feat: Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
如果你想添加新的设计模式演示:
- 复制现有项目作为模板
- 遵循统一的项目结构和命名规范
- 确保包含完整的 README 和文档
- 添加必要的测试和示例
- 更新根目录的 README
A: 根据你的具体需求:
- 需要性能优化?→ 并行化
- 需要提高质量?→ 反思
- 需要多步骤任务?→ 规划
- 需要团队协作?→ 多智能体
- 需要知识库?→ RAG
A: 完全可以!实际应用中通常会组合多个模式。例如:
- 规划 + 工具使用 + 反思 = 高质量的任务执行系统
- RAG + 多智能体 + 人机协同 = 智能研究助手
A: 项目使用 Vercel AI SDK,支持多种提供商。修改导入语句和初始化代码即可:
// 当前使用 DeepSeek
import { createDeepSeek } from '@ai-sdk/deepseek';
// 切换到 OpenAI
import { openai } from '@ai-sdk/openai';
// 切换到 Anthropic
import { anthropic } from '@ai-sdk/anthropic';MIT License
感谢所有为 AI Agentic 设计模式做出贡献的开发者和研究者。
注意: 本项目仅用于学习和研究目的。在生产环境中使用前,请确保:
- 充分测试所有功能
- 实现适当的错误处理和日志记录
- 考虑成本和性能优化
- 遵守相关的法律法规和隐私政策