
拜耳与 Thoughtworks 联手打造 PRINCE:一个可靠的 Agentic RAG 系统从零到生产
从关键词搜索到多智能体协同,拜耳的临床前药物研发平台展示了构建生产级 AI 系统的工程实践:上下文工程、缰绳工程、回退机制与可观测性
原文来源:Martin Fowler 博客 — Thoughtworks — 拜耳与 Thoughtworks 联合开发的 PRINCE 平台,展示了将 AI 系统从概念验证推进到产品级部署所需的全套工程实践
临床前药物研发是一个数据密集型的复杂过程。研究人员面对的是数十年积累的安全性研究报告——结构化数据与非结构化的 PDF 文档混杂在一起,分散在几十个不同时代的系统中。传统关键词搜索面对这种场景几乎无能为力。
拜耳很早就意识到大语言模型可能带来的变革机遇。他们与 Thoughtworks 合作,从 2023 年开始探索如何将 RAG(检索增强生成)技术应用于药物研发数据检索。这个项目最终演化为 PRINCE(Preclinical Information Center)——一个基于 Agentic RAG 架构的智能研究助手。
这篇文章详细分享了 PRINCE 的技术架构、工程决策和落地经验。
从 Search 到 Ask 再到 Do
PRINCE 的发展经历了三个阶段,每个阶段都对应着产品能力和技术架构的跃升:
Search 阶段:最初的目标是将多个内部数据孤岛整合为一个统一的可搜索平台。这个阶段主要解决的是结构化元数据的查询问题——让研究人员能够通过筛选条件找到相关的临床前研究报告。
Ask 阶段:生成式 AI 的出现带来了质的飞跃。PRINCE 引入了基于 RAG 的问答系统,让研究人员可以用自然语言直接查询 PDF 报告中的非结构化内容。这个阶段的关键技术突破是能够处理几十年来累积的扫描版 PDF——它们经过了多次系统迁移,元数据经常不完整或标注有误,但 PDF 报告中包含的是最权威的「金标准」信息。
Do 阶段:这是 PRINCE 当前的形态。通过引入多智能体系统,它从一个被动的问答系统变成了一个主动的研究助手——能够处理复杂的多步查询、编排工作流、甚至辅助起草监管文档。
从 Search 到 Ask 再到 Do 的演进路径,反映了一个核心认知:生产级 AI 系统的价值不在于"能用 AI 做什么",而在于"AI 如何融入已有的工作流程并创造实际效率提升"。
—— 广告 ——
系统架构:用 LangGraph 编排的多智能体系统
PRINCE 的后端架构采用 LangGraph 作为工作流编排引擎,基于 FastAPI 提供服务。前端是一个基于 React 构建的交互式对话界面。
整体架构可以分为几个关键层:
用户请求入口:用户在对话界面提交问题,请求被路由到 LangGraph 编排层。
编排层:这是系统的核心,负责协调多阶段处理流程——澄清用户意图、思考与规划、执行研究(使用 RAG 和 Text-to-SQL)、验证数据完整性、最终通过 Writer 智能体生成回答。整个工作流中设置了显式的暂停点和反馈循环,确保数据完整性达标后才继续推进。
数据检索与状态管理:
- 所有研究报告的向量表示存储在 OpenSearch 中,构成核心知识库
- 经过 ETL 处理的结构化数据通过 Athena 访问
- 智能体执行状态在每个逻辑步骤后持久化到 PostgreSQL
- 应用级别的状态由 DynamoDB 管理
LLM 集成:系统接入多个模型提供商(OpenAI、Anthropic、Google 以及开源模型),通过统一的 OpenAI 兼容端点暴露。这使得切换模型和按任务选择最合适的模型变得非常简单。
弹性与容错:鲁棒性是核心设计目标。如果某个 LLM 调用失败,系统会自动重试多次,然后回退到备用模型;重试同时在 LLM 调用级别和逻辑节点级别实现;智能体还会获得错误上下文,以便选择不同的路径或替代方案。
可观测性:系统健康指标通过 CloudWatch 监控;Langfuse 作为主要的可观测性工具,提供生产流量的详细追踪;评估框架基于 RAGAS 实现,每天进行生产流量评估,在核心工作流或模型变更时触发数据集级评估。
上下文工程:让每个智能体只看该看的信息
PRINCE 的架构中贯穿一个核心设计原则:上下文纪律。
更大的上下文窗口并不意味着不需要精选每个智能体看到的信息。在早期迭代中,把太多信息塞进上下文反而让系统更难控制、更难评估。PRINCE 的做法是将提示词切分为不同阶段,每个阶段只接收当前步骤所需要的信息:
- 规划上下文:提供给 Think & Plan 阶段
- 检索上下文:提供给 Researcher 智能体
- 证据上下文:提供给 Reflection 智能体
- 合成上下文:提供给 Writer 智能体
这减少了上下文污染,也让系统更易于调试、评估和改进。
多智能体工作流:四个步骤的协作
PRINCE 的 Agentic RAG 系统包含四个核心步骤:
1. 澄清用户意图
这是抵御歧义的第一道防线。随着系统扩展到包含毒理学和药理学等多个领域,用户的简单查询常常变得模糊不清——他们可能只输入了一个化合物名称,但没有说明想问的是安全性数据还是有效性数据。
系统会主动提出澄清性问题,精确定位领域或数据类型。为了进一步减少摩擦,系统还提供 AI 辅助的源推荐:当用户没有选择任何数据源或选择了多个不明确的源时,模型会分析查询意图并建议最相关的数据源。用户完全控制权,可以接受、调整或覆盖推荐。
这个"快速失败"机制防止了在模糊查询上浪费执行资源。
2. 思考与规划
在明确了用户意图后,系统进行思考与规划。这一步的关键是过程反思(Process Reflection)——系统会根据已识别的用户意图和可用工具输出一个结构化计划。计划中包含需要回答的子问题、检索策略和不同数据源的查询逻辑。
这在架构上类似于 ReAct 模式的升级版:智能体不是"边想边做",而是先想清楚再做,减少了执行过程中的不确定性。
3. Researcher 智能体
这是实际的"研究工作"阶段。Researcher 智能体根据规划执行多路并行查询:一方面通过 RAG 在 OpenSearch 中检索语义相关的文档片段,另一方面通过 Text-to-SQL 直接查询 Athena 中的结构化数据。
并行检索的结果汇聚到一个统一的结果集中。每一条结果都附带来源引用——不仅是文档名称,还包括具体的段落位置和置信度评分。
4. Reflection 智能体
这是 PRINCE 架构中最独特的一环。在 Researcher 返回结果后,Reflection 智能体会对检索到的证据做充分性检查:
- 这些证据是否足以回答用户的问题?
- 是否有明显的知识缺口?
- 是否需要额外的检索步骤?
如果证据不足,系统会触发自动反馈循环,让 Researcher 重新检索或调整查询策略。只有在 Reflection 智能体验证通过后,流程才会继续到下一阶段。
这种反思-重试循环在工程实现上依赖于 LangGraph 的条件节点——Reflection 智能体的输出决定了流程是继续前进还是返回上一步。
5. Writer 智能体
Writer 智能体负责将已验证的检索结果合成为最终的答案输出。它不仅仅是"把找到的内容复述一遍"——它需要基于证据进行结构化组织,匹配用户问题的格式要求(是否需要表格、是否需要分类讨论等),并确保所有主张都附带了原始来源引用。
生产级 AI 系统的信任构建
PRINCE 团队认识到,在药物研发这种高风险的场景中,用户信任是采用的关键前提。他们从三个维度构建信任:
透明性与可解释性:每一次回答都附带完整的推理链和来源引用。用户可以点击引用查看原始文档片段。系统还会显示"为什么选择了这些数据源"和"检索结果的置信度分布"。
评估体系:系统基于 RAGAS 框架建立了多层次的评估:
- 离线评估:在数据集上运行,覆盖已知的标准查询场景
- 在线评估:每天对生产流量进行采样评估
- 回归测试:每次修改核心工作流、提示词或底层模型时触发
监控与预警:除了系统层面的指标(延迟、错误率、Token 消耗),PRINCE 还监控回答层面的质量指标——比如答案中引用来源的比例、Reflection 智能体的通过率、用户的追问频率等。
数据质量:命名实体识别与标注
一个意外但关键的发现是:数据质量本身成为系统性能的最大瓶颈。许多历史研究报告元数据不完整,同一个化合物在不同年代的文件中有不同的拼写和命名方式。
为了解决这个问题,PRINCE 集成了命名实体识别(NER)流程,自动提取和标准化文档中的关键实体——化合物名称、剂量信息、测试参数等。这些标注后的结构化元数据反过来又优化了初始检索的精度。
经验与教训
PRINCE 的四年演进留下了几个重要的工程经验:
上下文纪律比上下文大小更重要。更大的上下文窗口并没有消除"给智能体看什么"这个问题,反而让这个问题变得更隐蔽。显式地分割上下文——让每个智能体只看到当前步骤所需的信息——是 PaaS 级品质的关键。
缰绳工程和上下文工程同等重要。如果说上下文工程决定了智能体看到什么,那么缰绳工程(Harness Engineering)决定了智能体不能做什么。编排、重试、回退、验证、可观测性——这些"胶水代码"的质量直接决定了系统在生产环境中的可靠性。
多智能体不一定比单智能体好。PRINCE 选择多智能体架构不是因为"多比少好",而是因为不同步骤有不同的要求:检索需要精确,反思需要全面,写作需要结构化。每个步骤用最适合的模型和提示词策略,整体效果优于一个通用模型"包办一切"。
从 Search 到 Ask 再到 Do 的渐进式演进是务实的选择。直接构建"Do"阶段的系统风险太高——你不知道用户真正需要什么,也不知道技术瓶颈在哪里。先解决搜索问题,再解决问答问题,最后解决自动化问题——每个阶段都交付实际价值,同时也为下一阶段积累了数据和经验。
PRINCE 证明了一件事:当 Agentic AI 系统以审慎的方式构建时,它不仅在技术上是可行的,还能在高度监管的行业中创造真实的价值。关键不是模型有多强大,而是工程有多可靠。
© 2026 四月 · CC BY-NC-SA 4.0
原文链接:https://www.aprilzz.com/ai/reliable-agentic-ai
相关文章
AI Agent 架构演进:从单智能体到多智能体协作的设计范式转移
单智能体搞不定复杂任务?本文梳理了从 ReAct 到多智能体协作的架构演进,对比 AutoGen、CrewAI、LangGraph 等框架,帮你选对架构。
2026 年 AI Agent 框架选型指南:8 大框架横向对比
LangGraph、CrewAI、AutoGen、OpenAI Agents SDK、Google ADK、Dify、Mastra、Semantic Kernel — 八款主流 AI Agent 框架深度对比,从架构设计到生产部署,帮你找到最适合你的那一个。
Claude Platform on AWS 正式上线:Anthropic 原生平台全面登陆
继 OpenAI 登陆 Bedrock 两周后,Anthropic 宣布 Claude Platform on AWS 全面上线。这是 Claude 原生平台首次以 AWS 服务形式提供,包括 Managed Agents、代码执行、Web 搜索等全部功能。