为什么架构如此重要?
2.1 Agent 系统的特殊挑战
与传统软件不同,Agent 系统面临独特的不确定性:
┌─────────────────────────────────────────────────────────────┐
│ 传统软件 Agent 系统 │
├─────────────────────────────────────────────────────────────┤
│ 确定性行为 概率性行为 │
│ 输入 → 处理 → 输出 输入 → LLM → ??? → 输出 │
│ 测试覆盖率高 测试覆盖率概念不同 │
│ 错误可预测 涌现行为难以预测 │
│ 架构边界清晰 边界模糊、角色重叠 │
│ 版本控制直接 Prompt 版本管理复杂 │
└─────────────────────────────────────────────────────────────┘
2.2 架构失败的代价
白皮书列举了架构决策失败的后果:
| 失败模式 | 表现 | 根本原因 |
|---|---|---|
| Monolithic Prompt | 单一巨型提示词,每次修改牵一发动全身 | 缺乏模块化 |
| Context Explosion | 上下文无限膨胀,token 成本失控 | 缺乏状态管理 |
| Agent Sprawl | Agent 数量爆炸,无人知道谁负责什么 | 缺乏边界定义 |
| Tool Proliferation | 工具定义混乱,功能重叠 | 缺乏接口设计 |
| Evaluation Gap | 无法判断系统是否正常工作 | 缺乏可观测性 |
2.3 好架构的价值
好的架构不是消除复杂性,而是管理复杂性:
- 可预测性: 行为可解释、可调试
- 可演进性: 新功能添加不破坏现有功能
- 可恢复性: 失败后能快速定位和修复
- 可观测性: 系统状态透明可见