Skip to content

regexp-lin/agentic-design-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agentic Design Patterns - 智能体设计模式实战集合

这是一个全面展示 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(可选,部分项目需要)

安装

  1. 克隆项目:
git clone <repository-url>
cd agentic-design-patterns
  1. 安装依赖(以 demo8 为例):
cd demo8-routing
pnpm install
  1. 配置环境变量:
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 类型
  • ✅ 完整的错误处理
  • ✅ 详细的代码注释和文档

Git 提交规范

建议使用语义化的提交信息:

  • feat: 新功能
  • fix: 错误修复
  • docs: 文档更新
  • refactor: 代码重构
  • test: 测试相关
  • chore: 构建过程或辅助工具的变动

学习路径

建议按照以下顺序学习各个设计模式:

初级(基础概念)

  1. Demo 11 - 工具使用 → 理解 AI 如何使用外部工具
  2. Demo 8 - 路由 → 学习如何分类和处理不同类型的请求
  3. Demo 12 - 规划 → 理解任务分解和执行计划

中级(性能与优化)

  1. Demo 9 - 并行化 → 掌握性能优化技巧
  2. Demo 10 - 反思 → 学习自我改进机制
  3. Demo 14 - 记忆管理 → 理解状态管理和持久化

高级(复杂系统)

  1. Demo 13 - 多智能体协作 → 构建多智能体系统
  2. Demo 20 - RAG → 实现知识检索和增强
  3. Demo 16 - MCP → 掌握标准化的上下文协议

专家级(生产实践)

  1. Demo 19 - 人机协同 → 构建实用的 AI 助手
  2. Demo 21 - A2A 通信 → 实现智能体间通信
  3. Demo 17 - 目标监控 → 构建自主目标系统

使用场景

这些设计模式可以应用于多种实际场景:

  • 客户服务: 路由 + 工具使用 + 人机协同
  • 内容创作: 规划 + 反思 + RAG
  • 代码助手: 反思 + 工具使用 + 目标监控
  • 研究助手: RAG + 多智能体协作 + 探索发现
  • 任务管理: 规划 + 优先级设定 + 资源优化

环境变量配置

所有项目都需要以下环境变量:

# 必需
DEEPSEEK_API_KEY=your_deepseek_api_key

# 可选(部分项目需要)
OPENAI_API_KEY=your_openai_api_key

贡献指南

欢迎贡献代码、报告问题或提出改进建议!

贡献步骤

  1. Fork 本项目
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的修改 (git commit -m 'feat: Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

添加新的设计模式

如果你想添加新的设计模式演示:

  1. 复制现有项目作为模板
  2. 遵循统一的项目结构和命名规范
  3. 确保包含完整的 README 和文档
  4. 添加必要的测试和示例
  5. 更新根目录的 README

常见问题

Q: 如何选择合适的设计模式?

A: 根据你的具体需求:

  • 需要性能优化?→ 并行化
  • 需要提高质量?→ 反思
  • 需要多步骤任务?→ 规划
  • 需要团队协作?→ 多智能体
  • 需要知识库?→ RAG

Q: 可以组合多个设计模式吗?

A: 完全可以!实际应用中通常会组合多个模式。例如:

  • 规划 + 工具使用 + 反思 = 高质量的任务执行系统
  • RAG + 多智能体 + 人机协同 = 智能研究助手

Q: 如何切换到其他 LLM 提供商?

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 设计模式做出贡献的开发者和研究者。


注意: 本项目仅用于学习和研究目的。在生产环境中使用前,请确保:

  • 充分测试所有功能
  • 实现适当的错误处理和日志记录
  • 考虑成本和性能优化
  • 遵守相关的法律法规和隐私政策

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published