为什么架构如此重要?

2.1 Agent 系统的特殊挑战

与传统软件不同,Agent 系统面临独特的不确定性:

┌─────────────────────────────────────────────────────────────┐
│  传统软件                     Agent 系统                    │
├─────────────────────────────────────────────────────────────┤
│  确定性行为                   概率性行为                     │
│  输入 → 处理 → 输出          输入 → LLM → ??? → 输出        │
│  测试覆盖率高                 测试覆盖率概念不同              │
│  错误可预测                   涌现行为难以预测                │
│  架构边界清晰                 边界模糊、角色重叠              │
│  版本控制直接                 Prompt 版本管理复杂             │
└─────────────────────────────────────────────────────────────┘

2.2 架构失败的代价

白皮书列举了架构决策失败的后果:

失败模式 表现 根本原因
Monolithic Prompt 单一巨型提示词,每次修改牵一发动全身 缺乏模块化
Context Explosion 上下文无限膨胀,token 成本失控 缺乏状态管理
Agent Sprawl Agent 数量爆炸,无人知道谁负责什么 缺乏边界定义
Tool Proliferation 工具定义混乱,功能重叠 缺乏接口设计
Evaluation Gap 无法判断系统是否正常工作 缺乏可观测性

2.3 好架构的价值

好的架构不是消除复杂性,而是管理复杂性

  • 可预测性: 行为可解释、可调试
  • 可演进性: 新功能添加不破坏现有功能
  • 可恢复性: 失败后能快速定位和修复
  • 可观测性: 系统状态透明可见