124 lines
2.5 KiB
Markdown
124 lines
2.5 KiB
Markdown
# Architecture Patterns
|
||
|
||
## Basic Module Model
|
||
|
||
```text
|
||
User / Task
|
||
|
|
||
v
|
||
Controller / Policy
|
||
|
|
||
+--> Context Builder
|
||
+--> Planner
|
||
+--> Tool Router
|
||
+--> Memory
|
||
+--> Evaluator
|
||
|
|
||
v
|
||
Action / Response
|
||
```
|
||
|
||
## Pattern 1: Single-loop Agent
|
||
|
||
一个模型在循环中完成理解、规划、调用工具、观察和回答。
|
||
|
||
适合:
|
||
|
||
- 任务边界清楚。
|
||
- 工具数量不多。
|
||
- 错误成本可控。
|
||
|
||
不适合:
|
||
|
||
- 长链路、多角色协作。
|
||
- 需要强审计或稳定流程。
|
||
- 工具调用风险很高。
|
||
|
||
## Pattern 2: Planner-executor
|
||
|
||
Planner 负责拆解任务,Executor 负责执行具体步骤。
|
||
|
||
适合:
|
||
|
||
- 任务步骤较多。
|
||
- 需要保存和更新计划。
|
||
- 执行结果会影响后续步骤。
|
||
|
||
设计要点:
|
||
|
||
- 计划必须可修改。
|
||
- Executor 要返回结构化观察结果。
|
||
- Planner 需要知道停止条件。
|
||
|
||
## Pattern 3: Workflow plus Agent Hybrid
|
||
|
||
固定流程负责主路径,Agent 处理开放问题、异常分支和自然语言交互。
|
||
|
||
适合:
|
||
|
||
- 企业业务系统。
|
||
- 有明确合规或审批流程。
|
||
- 希望稳定性优先于自主性。
|
||
|
||
设计要点:
|
||
|
||
- 确定性流程和模型决策分层。
|
||
- 关键动作走显式状态机。
|
||
- Agent 输出最好转成结构化意图。
|
||
|
||
## Pattern 4: Retrieval-augmented Agent
|
||
|
||
Agent 在行动前检索知识库、文档、代码或历史记录。
|
||
|
||
适合:
|
||
|
||
- 知识密集型任务。
|
||
- 需要引用项目内部上下文。
|
||
- 有长期记忆需求。
|
||
|
||
设计要点:
|
||
|
||
- 检索结果要保留来源。
|
||
- 区分长期知识和当前任务状态。
|
||
- 防止旧知识覆盖新事实。
|
||
|
||
## Pattern 5: Multi-agent Collaboration
|
||
|
||
多个 Agent 分担角色,例如研究、实现、评审、测试、协调。
|
||
|
||
适合:
|
||
|
||
- 大任务需要并行探索。
|
||
- 需要独立评审。
|
||
- 子任务边界清晰。
|
||
|
||
风险:
|
||
|
||
- 协调成本高。
|
||
- 上下文传递损耗。
|
||
- 多个 Agent 可能互相放大错误。
|
||
|
||
## Pattern Selection
|
||
|
||
| Need | Recommended Pattern |
|
||
| --- | --- |
|
||
| 简单自动化 | Single-loop agent |
|
||
| 长任务、步骤多 | Planner-executor |
|
||
| 稳定业务流程 | Workflow plus agent hybrid |
|
||
| 大量内部知识 | Retrieval-augmented agent |
|
||
| 并行研究或独立评审 | Multi-agent collaboration |
|
||
|
||
## Architecture Checklist
|
||
|
||
- 任务入口是什么?
|
||
- 成功标准是什么?
|
||
- Agent 能观察哪些状态?
|
||
- Agent 能执行哪些动作?
|
||
- 哪些动作需要确认?
|
||
- 状态存在哪里?
|
||
- 工具错误如何恢复?
|
||
- 如何记录 trace?
|
||
- 如何评估一次运行是否成功?
|
||
- 如何防止回归?
|
||
|