构建可靠的智能体 AI 系统:拜耳 PRINCE 平台的案例研究

执行摘要

拜耳开发了临床前信息中心 (PRINCE),旨在解决跨结构化数据库和非结构化 PDF 报告访问碎片化、海量临床前数据的挑战。通过实施智能体检索增强生成 (RAG) 系统,拜耳已从基础的关键词搜索工具转型为能够进行复杂推理、数据检索和监管文件起草的主动研究助手。核心结论是,生产级智能体 AI 需要结合上下文工程(控制模型能看到什么)和控制工程(控制模型如何行动)来确保在受监管环境中的可靠性。

PRINCE 的演进:从搜索到行动

PRINCE 通过三个战略阶段演进,以满足日益复杂的临床前研究需求:

  1. 搜索: 一个统一的网关,将孤立的结构化研究元数据整合为可搜索的格式。
  2. 询问: 集成 RAG 以允许针对非结构化数据(特别是历史 PDF 研究报告)进行自然语言查询。
  3. 执行: 当前的智能体阶段,利用多智能体系统来编排复杂的工作流并起草监管文件。

技术架构与编排

PRINCE 构建为一个使用 React UI 的 FastAPI 应用,并使用 LangGraph 进行后端编排。系统通过 PostgreSQL(用于智能体执行状态)和 DynamoDB(用于应用级状态)管理状态。

多智能体工作流

系统采用专门的智能体层级结构,以防止“上下文污染”并提高可控性:

  • 澄清用户意图: 作为“快速失败”机制,在检索开始前解决歧义并建议相关的数据源。
  • 思考与计划 (过程反思): 一个专门的推理空间,系统在此评估其轨迹并从不断扩展的领域特定选项库中选择最合适的工具。
  • 研究员智能体 (Researcher Agent): 一个混合检索器,结合了 RAG(通过 Amazon OpenSearch 检索非结构化 PDF)和 Text-to-SQL(通过 Amazon Athena 检索结构化元数据)。
  • 反思智能体 (Reflection Agent): 评估检索到的数据是否足以回答查询。如果发现缺口,它会为“思考与计划”智能体生成后续问题。
  • 撰写者智能体 (Writer Agent): 综合最终答案,确保每一项主张都基于上下文,并提供指向原始文档和页码的细粒度引用。

为可靠性与信任进行工程化设计

在受监管的制药环境中,准确性和可验证性是不可逾越的底线。拜耳实施了多种“控制工程”模式,以确保系统保持边界明确且可观测。

上下文纪律

尽管存在更大的上下文窗口,PRINCE 仍使用严格的上下文工程。不同的智能体接收不同的信息子集:为“思考与计划”提供计划上下文,为“研究员”提供检索上下文,为“反思智能体”提供证据上下文,为“撰写者”提供综合上下文。这防止了模型变得难以控制,并简化了调试过程。

韧性与错误恢复

为了防止在复杂的多步任务中发生系统性故障,架构中包含了:

  • 状态持久化: LangGraph checkpointers 将状态存储在 Postgres 中,允许系统从发生故障的确切节点恢复。
  • LLM 回退机制: 如果主模型在多次尝试后仍然失败,系统会自动切换到备选模型或供应商,以维持服务连续性。
  • 用户发起的重试: 用户可以手动重试失败的查询,系统会通过持久化状态跳过之前已成功的步骤。

验证与评估

信任是通过双重评估策略来维持的:

  • 数据集评估: 使用 Langfuse 中精心策划的专家数据集来衡量忠实度 (Faithfulness)、答案相关性 (Answer Relevancy) 和上下文相关性 (Context Relevancy)。
  • 实时流量评估: 对真实用户查询进行每日批量作业,以监控幻觉和实际运行表现。

数据质量增强

由于历史元数据往往不完整或不准确,拜耳开发了一个使用 Named Entity Recognition (NER) 的工具系统。该系统从 PDF 中提取实体(例如:化合物名称、剂量),以自动丰富 Amazon Athena 数据库。为了保持完整性,每次提取都会分配一个置信度分数;高置信度更新是自动的,而低置信度更新则会被标记以供人工审核。

批判性分析与社区观点

虽然技术架构很全面,但社区讨论强调了关于此类系统实际效能的几个争议点:

  • 性能差距: 一些批评者指出相关的研究论文,指出聊天机器人的能力完全满足用户需求的能力获得了较低的平均分(3.1/5.0),这表明即使是复杂的智能体架构也难以实现完全的效用。

  • 数据 vs. 智能体微调: 行业从业者认为,“99% 的工作”通常在于数据清洗,而非智能体微调,这表明干净的数据库比复杂的智能体层级结构更具影响力。

  • 架构“感觉”: 一些开发者质疑,将智能体分解为研究员、撰写者和反思智能体是否基于经验证据,还是仅仅是一个“令人满意的流程图”,从而在简单的提示策略之上增加了不必要的复杂性。

Sources