PHAROS:4个智能代理,60秒,一个药物安全信号差之毫厘
TL;DR · AI 摘要
PHAROS系统通过4个智能代理在60秒内检测药物安全信号,显著提高了药物安全性监控效率。
核心要点
- PHAROS系统利用4个智能代理实现了药物安全信号的快速检测。
- 该系统能够在60秒内完成药物安全信号的识别过程。
- PHAROS有助于减少药物安全事件的发生,提高医疗行业的安全性。
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- PHAROS系统
- 智能代理
- 系统架构
- 应用场景
- 药物安全监控
金句 / Highlights
值得收藏与分享的关键句。
PHAROS系统能够在60秒内检测出药物安全信号,显著提高了效率。
通过智能代理,系统能够自动识别潜在的安全风险。
PHAROS有助于减少药物安全事件的发生,提高医疗行业的安全性。
PHAROS:4个代理,60秒,一个错过的药物安全性信号远离灾难 | Elastic 博客
新发布
Forrester 波特图领导者,2025年第二季度
[](https://www.elastic.co/)
- Elasticsearch
##### Elasticsearch 用于...
- ###### 上下文工程 提供给代理最相关的上下文,以确保他们提供准确可信的结果
- ###### 向量数据库 高效地创建、存储和搜索向量嵌入
- ###### 基于搜索的应用程序 以现代应用体验所需的高速度、规模和灵活性为基础
- ###### 日志收集 使用 Elasticsearch 存储的数据集中、搜索、探索和采取行动处理大量日志
- ###### 威胁保护 在实时数据中大规模检测、调查和缓解网络威胁
- ###### 工作流 将脚本自动化与 Elasticsearch 中的 AI 推理原生结合,加速工作流程
##### Elasticsearch 组件
- ###### Elasticsearch 分布式、RESTful 的搜索和分析引擎
- ###### Kibana(发现、仪表板)使用 Elasticsearch 存储的数据探索、可视化并构建仪表板
- ###### Elastic Agent Builder 快速构建上下文感知型代理,整合所有数据并提供最佳相关性
- ###### AutoOps 通过性能建议、资源利用率和成本洞察轻松管理集群
- ###### Piped 查询语言 简化工作流程,加速查询响应,提高数据处理效率
- ###### Jina AI 搜索模型 Jina AI 是 Elastic 的一部分,带来了最佳的嵌入、重排序和 URL 及文档提取模型
##### 部署选项
- ###### Elastic Cloud 无服务器部署 实现零运维负担,更快构建开始免费试用
- ###### Elastic Cloud 托管 在几分钟内在任何云上部署和扩展,拥有终极控制权开始免费试用
- ###### 自托管 Elasticsearch 本地运行,或通过 Kubernetes 或您自己的编排工具运行下载
- 解决方案
##### 搜索
- ###### 电子商务搜索 改善客户的搜索体验,推动转化
- ###### 客户服务搜索 让客户快速轻松地找到支持信息
- ###### 基于搜索的应用程序 使用 Elasticsearch 快速轻松地构建吸引人的应用程序
##### 可观察性
- ###### 日志分析 中心化并使用 Search AI 分析日志,以检测、调查和缓解事件
- ###### 基础设施监控 监控、可视化并分析您的本地和云基础设施的健康状况
- ###### 数字体验监控 通过真实用户监控(RUM)、合成测试和可用性监控改善用户体验
- ###### 应用程序性能监控 监控、可视化并分析应用程序的性能和可用性
- ###### AIOps 自动检测、诊断和解决更快速的问题,利用 GenAI 和 ML
- ###### LLM 可观察性 监控和优化 LLM 的性能、成本、安全性和可靠性
##### 安全性
- ###### 下一代SIEM 使用AI驱动的安全分析检测、调查和应对不断演变的威胁
- ###### 安全工作流 原生自动化警报分类、丰富和响应,无需单独的SOAR工具
- ###### XDR与端点安全 使用AI驱动的洞察保护您的端点、云和容器
- ###### 安全中的AI 使用Search AI自动化您的分类、调查和响应工作流
- 企业
##### 为什么选择Elastic?
##### 行业
##### 更好的组合
- ###### 云提供商 在您喜欢的云市场中部署:AWS、Azure 或 Google Cloud
- ###### Elastic AI生态系统 使用Elastic内置的领先AI技术提供商集成
- ###### Search AI合作伙伴计划 与Elastic合作共同寻找答案
##### 荣誉
- ###### AV-Comparatives Elastic获得AV-Comparatives端点预防和响应认证
- ###### Forrester Wave™ 领先者 Elastic在Forrester Wave™:安全分析平台,Q2 2025中被评为领导者
- ###### Gartner魔力象限 领先者 Elastic在2025 Gartner®魔力象限™:可观测性平台中被评为领导者
- ###### IDC市场雷达 领先者 Elastic在IDC市场雷达:企业级SIEM 2024中被评为领导者
##### 客户案例
[搜索 Docusign 使用Elasticsearch每日处理数百万次e签名搜索](https://www.elastic.co/customers/docusign)
[安全 UOL 使用Elastic Security将事件解决时间缩短80%](https://www.elastic.co/customers/uol)
[可观测性 Pepsi 使用Elastic Observability提高效率并降低MTTR 30%](https://www.elastic.co/customers/pepsico)
- 资源
##### 启动
- ###### 入门 按照每个解决方案的初学者指南开始使用
- ###### 演示画廊 在我们的互动沙箱中试用并观看教程视频
- ###### 下载 立即下载Elasticsearch以免费开始使用
- ###### 集成 轻松连接Elasticsearch到所有重要的系统
##### 学习
- ###### 文档 学习如何使用Elastic的所有产品和功能
- ###### Elasticsearch Labs 探索构建最新功能和能力的方法
- ###### Elastic Security Labs 了解威胁态势并查看最新的研究
- ###### Elastic Observability Labs 探索监控和指标趋势的最新进展
- ###### 博客 从Elastic博客获取最新的公司新闻
##### 连接
- ###### 社区 加入我们的开发者社区,在Slack、GitHub和其他平台上提问和分享
- ###### 活动 参加您所在地区的聚会、研讨会和Elastic{ON}
- ###### 网络研讨会 通过我们的网络研讨会向Elastic专家学习
- ###### 讨论 在开发者的论坛上分享技巧、提出问题并从他人那里学习
##### 获取帮助
- ###### 培训 免费学习Elastic,扩展您的技能并参加我们的课程
- ###### 支持 获取快速解决方案的专家建议,以解决您的Elasticsearch部署问题
- ###### 咨询 通过定制的支持和咨询服务推动成功
搜索
FDA 每年收到大约两百万份不良药物事件报告。制药公司必须在收到严重报告后的 15 个日历日内检测出安全信号。实际上,药物流行病学分析师需要手动审查散落在 FDA 不良事件报告系统(FAERS)、EudraVigilance、电子健康记录(EHRs)和社会媒体上的文件。检测过程通常需要数周到数月的时间,而每个信号就需要分析师花费 40 多小时。
延迟的成本并非虚无缥缈。默克未能从万络(Vioxx)中捕捉到心脏信号,导致了高达 48.5 亿美元的和解费用。(来源:Merck's failure to catch cardiac signals from Vioxx cost $4.85 billion in settlements.)单个未检测到的信号可能会触发罚款,金额在 10 亿至 100 亿美元之间。但真正的成本在于患者在没有人足够快地注意到的情况下继续服用本应被标记的药物。
我是独立开发者 Prajwal Sutar,在过去一年中一直在推动真实数据通过基于大型语言模型(LLM)的数据管道进行采集、异步编排和多代理协调。我没有找到任何单一工具能够将信号检测、报告生成和升级整合在一个自动化管道中,因此我在 Elasticsearch Agent Builder 黑客松期间构建了一个这样的工具。
PHAROS
#### 观看 PHAROS 的演示
PHAROS 从 FDA FAERS API 中提取不良事件报告,运行 WHO 标准统计分析以发现安全信号,生成实际的监管文书工作,并将警报推送到 Slack、Jira 和电子邮件——从数据采集到发出警报,整个过程不到 60 秒。
PHAROS 做什么
PHAROS(药物流行病学自主推理和监督系统)从 FDA FAERS API 中提取不良事件报告,运行 WHO 标准统计分析以发现安全信号,生成实际的监管文书工作(例如,MedWatch 3500A 表格、PSUR 部分和案例叙述),并将警报推送到 Slack、Jira 和电子邮件。
从数据采集到发出警报,整个过程不到 60 秒。
这是一个端到端的过程。假设有一种虚构的药物 CARDIVEX,其 50 份不良事件报告均显示在日本、韩国和印度突然视力丧失的情况。这些报告会被索引。在一分钟内,系统检测到了 CARDIVEX/视力丧失的上报比例(PRR)为 18.94,并识别出了日韩印地理集群,生成了一份 MedWatch 3500A 表格和 PSUR 部分,发送了一条 Slack 警报到 #safety-critical,创建了一个 Jira P1 任务,并向安全官员发送了电子邮件。所有操作都会记录在 pharos-audit-log 中——因为在制药行业,如果没有记录下来,那就没有发生过。
四个代理共同处理这一任务,每个代理都有不同的职责。
我将系统拆分,因为这些任务足够不同,单个代理在所有任务上都只能做到一般般。监控数据峰值的技能不同于计算统计比率,后者又不同于编写监管文件,再者,凌晨两点决定谁需要被叫醒的技能也完全不同。每个代理都会获得一个针对其特定任务调整过的系统提示,并且温度设置也相应匹配:ANALYST以0.0运行,因为你不需要创意性的PRR数字;SCRIBE以0.2运行,用于受控文本生成;SENTINEL则以0.1运行。
监视者
SENTINEL 监控 pharos-adverse-events 索引中的数据峰值。它使用 ES|QL 将过去7天的报告数量与90天的基线进行比较。如果某种药物的数据量出现三倍的增长,SENTINEL 将触发一个Elastic工作流,启动ANALYST进行进一步分析。在CARDIVEX运行中,它捕捉到了15倍的数据峰值。
检测者
ANALYST 是真正的检测发生的地方。WHO PRR计算完全在ES|QL中进行——STATS用于计数,EVAL用于比率计算,WHERE用于阈值设定——跨越药物-反应对。然后,它使用BUCKET(report_date, 1 week)进行时间序列分析,以捕捉每周聚类现象,基于geo.country_code进行地理聚合,并采用BM25与密集向量搜索相结合的方法来查找相似的历史信号。严重性分类如下:PRR ≥ 5.0且病例数≥5为CRITICAL,PRR ≥ 2.0且病例数≥3为HIGH,其余情况归入MONITORING。确认的信号会被写入pharos-signals。
编写者
SCRIBE 接收确认的信号并生成三种类型的文档:MedWatch 3500A、PSUR Section VI 和案例叙述。它从不良事件索引中提取最多100份支持案例报告,并生成文档并将它们索引到pharos-regulatory-reports中。
行动者
HERALD 是行动层。CRITICAL信号会触发Slack告警(使用Block Kit格式化)、Jira P1票务以及发送给安全官员和安全副总裁的电子邮件。HIGH信号会触发Slack告警、Jira P2票务以及发送给安全官员的电子邮件。MONITORING信号会累积成每周摘要。如果CRITICAL信号未得到响应,2小时的升级超时机制会重新提醒安全副总裁。
代理之间的交接全部通过Elastic工作流进行——总共九个工作流涵盖了代理间的协调、cron定时的FAERS数据摄入、Slack/Jira/邮件派发、审计日志记录以及升级超时机制。
让统计保持在Elasticsearch内部
我故意选择了在ES|QL中进行PRR计算,而不是将数据拉入Python。一开始我以为需要使用pandas来进行统计工作。但实际上并非如此。
完整的WHO PRR公式、计数、比率计算、阈值设定以及时间序列分桶都在ES|QL查询中完成。代理调用ES|QL工具,处理结果并写回——没有使用pandas,也没有外部计算或数据传输瓶颈,统计结果会随着集群扩展而扩展。
ES|QL在任意分析方面不如pandas灵活,但对于WHO公式和每周的时间序列分桶,它处理得非常干净利落。去掉那层中间的Python层比我预期的要简化得多——代理只需要查询和推理,而且出错的可能性也减少了。
使流程运转的索引设计
PHAROS运行在四个Elasticsearch Serverless索引上,而主要的pharos-adverse-events索引是我花费最多设计时间的一个。
该索引包含了一个自定义的临床文本分析器,带有snowball词干提取功能,用于叙事搜索;一个基于关键词分词器的drug_name分析器,用于精确匹配药物名称;1,536维的密集向量字段,用于叙事嵌入;地理坐标点用于地理聚类;以及嵌套映射用于反应。每个代理所需的查询,包括模糊叙事搜索、精确药物查找、地理聚合和语义相似性,都由索引设计支持。其他三个索引更为简单:pharos-signals存储了带有PRR评分和分析师推理链的检测信号,pharos-regulatory-reports保存了生成的文档,而pharos-audit-log记录了每个代理操作的时间戳。
几乎打破流程的平凡问题
让LLMs可靠地返回结构化的JSON数据是我未曾预料到的挑战。
你请求LLM返回JSON,它却用三段解释文字包裹着JSON,或者在markdown代码框内返回JSON,或者先是一段对话式的前言,随后才是JSON,最后附带一段有用的总结。代理之间传递的是结构化数据,因此每个响应都需要清晰解析。无论你的信号检测有多好,如果ANALYST的输出无法可靠地被SCRIBE读取,那都是无用功。
我花费了很多时间调整系统提示,并最终编写了一个能够处理原始JSON、markdown代码框以及嵌入在自然语言中的JSON的提取函数。这并不是有趣的工作,但它决定了一个多代理流程是否能够真正运行,还是仅仅演示效果良好。
首先修复的问题
目前的PRR计算是一个点估计。一个生产型的药物流行病学监测系统需要χ²置信区间和贝叶斯IC评分。现有的数据模型已经准备好了ic_score字段,只是使用了近似值而非正确的贝叶斯计算。如果有更多时间,我会首先改变这一点。
系统还把“视力模糊”和“视力丧失”视为单独的事件。下一步是引入MedDRA本体意识的反应分组,以便系统可以跨相关术语捕捉信号,而不是将每个字符串视为独立个体。之后,我会将EudraVigilance数据与FAERS数据结合,进行跨大陆的相关性分析。
更广泛的观点
每年有200万份不良事件报告落到某人的办公桌上,当前的答案是更多的分析师进行更多的手动审查。PHAROS的论点是答案应该是代理执行WHO统计、生成文书工作并在分析师打开笔记本电脑之前将其升级给正确的人。
PHAROS 是基于 MIT 许可证的开源项目。如果你从事药物警戒或监管事务,并希望将其应用于真实数据,请与我们联系。
[帕杰夫·苏塔尔](https://www.elastic.co/blog/author/prajwal-sutar)
独立开发者,
帕杰夫·苏塔尔是一名专注于人工智能系统和大规模数据管道的独立开发者。
_本博客中描述的任何功能或特性的发布和时间安排完全由 Elastic 单独决定。目前不可用的功能可能无法按时或全部推出._
_在本文中,我们可能使用或引用了第三方生成式 AI 工具,这些工具归其各自的所有者所有并运营。Elastic 对这些第三方工具没有控制权,也不对其内容、操作或使用负责,也不对因使用此类工具而可能产生的任何损失或损害承担责任。请谨慎使用 AI 工具处理个人、敏感或机密信息。您提交的数据可能会用于 AI 训练或其他用途。无法保证您提供的信息会得到安全或保密处理。在使用之前,您应熟悉任何生成式 AI 工具的隐私政策和服务条款._
_Elastic、Elasticsearch 及相关标志是 elastic B.V. 在美国和其他国家的商标、标志或注册商标._
分享
- )分享到 Twitter
- )分享到 LinkedIn
- )分享到 Facebook
- )通过邮件分享
- )打印此页面
免费试用 Elastic Cloud
选择您喜欢的云提供商快速启动一个完整的部署。作为 Elasticsearch 的幕后公司,我们将我们的功能和支持带给您的云端 Elastic 集群。
关注我们
- 
- 
- 
- 
- 
投资者关系
关于我们
加入我们
合作伙伴
信任与安全
投资者关系
杰出奖
© 2026. elasticsearch B.V. 保留所有权利
本网站及其所有相关的内容、软件、讨论论坛、产品和服务仅用于专业用途。不打算或引导消费者使用本网站或其内容。
Elastic、Elasticsearch 及其他相关标志是 elasticsearch B.V. 在美国和其他国家的商标、徽标或注册商标。
Apache、Apache Lucene、Apache Hadoop、Hadoop 和 HDFS 以及黄色大象标志是 Apache Software Foundation 在美国和其他国家的商标。
其他品牌名称、产品名称或商标归其各自的所有者所有。
