构建可靠 AI Agent 系统:Martin Fowler 从拜耳案例中提炼的工程实践

Martin Fowler 以拜耳 PRINCE 平台为案例,系统阐述了构建生产级 Agentic AI 系统的工程实践:上下文工程、脚手架工程、弹性设计、可观测性。
生产级 AI Agent 的可靠性挑战,远比 Demo 阶段看到的复杂。Martin Fowler 本周在个人博客发表了一篇长文,以拜耳(Bayer AG)与 Thoughtworks 联合开发的 PRINCE(PreClinical Information Center)平台为案例,系统梳理了构建可靠 Agentic AI 系统的工程实践。
PRINCE 的三阶段演进
PRINCE 平台的发展历程本身就是 AI 应用工程化成熟度的缩影:
- 第一阶段(关键词搜索):传统的信息检索系统,用户在搜索框输入关键词,系统返回相关文档列表。
- 第二阶段(自然语言问答):引入 LLM,用户可以用自然语言提问,系统通过 RAG 检索相关段落并生成答案。
- 第三阶段(智能研究助手):多 Agent 协作,能够制定执行策略、选择工具、反思证据充分性、合成带引用的答案。
两个核心框架:上下文工程 + 脚手架工程
Fowler 将 PRINCE 的所有工程决策归纳为两个互补的框架:
Context Engineering(上下文工程):控制每个模型"看到什么、不看什么、如何传递信息"。
Harness Engineering(脚手架工程):围绕模型构建编排、恢复、可观测性等控制层。
三层反思机制
PRINCE 平台最精巧的设计之一,是其三层反思机制:
- 过程反思(Process Reflection):由 Think & Plan Agent 执行,在执行路径偏离预期时调整策略。
- 数据反思(Data Reflection):由 Reflection Agent 执行,验证当前检索到的证据是否充分、是否需要补充检索。
- 草稿反思(Draft Reflection):由 Writer Agent 执行,检查当前生成的答案草稿是否完整回答了用户问题。
弹性工程:从"最佳实践"到"生存必需"
在企业级部署中,Agent 系统的弹性(Resilience)不是锦上添花,而是生存必需。PRINCE 平台实现了多层次的容错机制:
- 单次 LLM 调用失败 → 自动重试(指数退避)
- 多次重试失败 → 切换备用模型/平台(LLM Fallback)
- 节点级失败 → 整个逻辑步骤重试
更有意思的是状态持久化与断点续传设计。PRINCE 将 Agent 的执行状态存入 PostgreSQL(通过 LangGraph checkpointer),应用级状态存入 DynamoDB。这意味着即使整个系统重启,Agent 也可以从失败的那个节点直接恢复。
核心结论:可靠性不来自更大的模型
生产级 Agentic AI 不仅仅是更好的模型或更好的提示词。可靠性来自于同时工程化模型所见的上下文,以及模型运行其中的脚手架。
这个判断对当前 AI 工程化讨论有重要纠正作用。"等下一代模型出来,可靠性问题自然就解决了"——Fowler 文章给出的答案是不。在受监管的企业环境中,对上下文、工作流状态、恢复机制和人工审核的显式控制仍然不可或缺。
先准确,后优化成本;迭代优先于完美;显式控制胜于自主代理。这三条经验,值得每一个在做 AI Agent 工程化的人记住。
关联推荐: bixuebihui.com 上搜索"AI Agent 可靠性工程"获取更多生产级 Agent 系统设计模式。
评论 (0)
加载评论中…