社区讨论 · 赛道

把论文丢给三个AI轮流看,我花两天搭了个简化版药企研究助理

论文看不完论文看不完8月15日2026/08/15 335 浏览

先说背景。这两天刷到 AstraZeneca 发在 arXiv 上的论文,讲他们用多 agent 系统做药物研发助手。点进去看了一下,核心是从单个 agent 进化成了多个 agent 分工协作,跑在 Amazon Bedrock 上,给临床、监管、患者支持这些不同部门共用。看完最大感受是:药企都在搞的东西,我们实验室其实也能用个简化版。

先解释两个词。agent 就是一个能自己干活、有记忆、能调工具的 AI 程序,不是聊天窗口那种你问一句它答一句。多个 agent 就是拆成不同角色,比如一个查文献、一个写摘要、一个审稿,各干各的。HITL 就是 human-in-the-loop,人在回路里,意思每一步 AI 干完活都有个人检查一下再放行。

我的做法是在本地搭了三个 agent 来模拟临床数据论文的研读流程,全程用了我之前写过的那套本地模型配合网关工具。如果你们是零基础,可以把我用的东西换成任何支持 agent 的在线平台,核心思路一样。

第一步,把任务拆成三个角色。我把一个 agent 设成「文献检索员」,负责从一个文件夹里抓 PDF 并提取关键字段,比如入组人数、用药组、对照组。第二个设成「摘要员」,拿到检索员的输出后,读全文写成一段结构化摘要。第三个是「复核员」,负责挑毛病,比如「摘要里说纳入了 500 人,但表 2 里只有 480 人完成试验,这个差异标注了吗」。

第三步,写角色提示词。提示词就是告诉 AI 它是谁、要干什么、输出什么格式。我这里贴一个经典的写法,你们复制就能用。检索员的提示词我写的:你是临床数据检索员,只提取论文中与试验设计相关的数值,不总结。如果同一数据在正文和表格中冲突,两处都列出并标注页码。摘要员的提示词:把检索员的结果和论文关键段落改写成 300 字以内的摘要,必须保留入组人数和主要终点。复核员的提示词:你负责挑刺,检查摘要中每个数值是否能在检索结果中找到依据,找不到就标记问题。

接着把这三个 agent 用网关串起来,数据流向是:检索员输出保存成 JSON 文件,摘要员读取这个文件再写摘要,复核员读取摘要和历史数据做校验。网关在这里的作用是把每一步的输入输出都存了日志,出了问题能回看是哪一步改了数据。

第四步,跑一遍测试。我拿了一个公开的二期临床试验 PDF,共 42 页,跑了大概四十分钟。摘要员写的初稿大部分能直接用,复核员挑出了三个数值不一致的地方,其中一个是正文的入组人数和图表里的入组人数差了 6 个人,这种问题人眼核对要半天,它五分钟就找出来了。

踩坑环节。最大的坑是 agent 之间的上下文会互相污染。第一个 agent 输出的 JSON 里带了「备注」字段,摘要员把这个备注当成正文内容写进了摘要,导致数据来源错乱。解决方法是每个 agent 的任务里明确写「只读取指定输入文件,文件格式为 JSON,字段说明如下」,不要让它自由发挥。

另一个坑是复核员会过于严格。我这边测下来,复核员会把「摘要中未提及」当成「数据错误」来报,产生很多误报。后来给复核员加了一条规则:只标记「两个数据来源之间互相矛盾」的项,不标记「仅有一个出处」的项,误报率立刻降了大概一半还多。

最后说结论。这套东西适合我吗?文献综述多、跨论文做对比的组,值得搭。但如果只是偶尔看一两篇论文,手动摘要就够了,不值得花这个时间。至于药企那种几百个 agent 并存的大系统,我这个三个角色的骨架,算是把核心流程走通了。有个问题留给你们讨论:这类系统如果跑得越来越顺,摘要员和复核员会不会变成摆设,人只会在最后点头,那时候 HITL 还是真的吗。


:pushpin: 本文编译自 Arxiv AI,原文:[2608.12395] Research Assistant: AstraZeneca's Agentic System for R&D
版权归原作者所有,本文为基于公开报道的编译与独立分析。

2 条回复

?
Ctrl + Enter 快速回复
孟雨桐
孟雨桐8月15日

药企这个思路在物流调度里也能用,我们拆单、配载、复核三个agent串起来,司机反馈说异常单处理快了,调度效率提升不少。

蒋志远
蒋志远8月15日

HITL倒是说到点子上了……我上周用发票扫描也是全自动,结果备注栏被吞了还得自己翻原件对账。现在对这种全自动的东西都有点怕,每一步过一道人眼确实安心点。