n8n + Bright Data 构建的医疗 AI Agent,展示了工作流编排在专业领域的实现方式。
这是由 n8n 和 Bright Data 主办的 AI Agents Challenge 的参赛作品
当技术与个人需求相遇时,创新变得格外有意义。这个项目不仅仅是一个黑客马拉松的产物或自动化实验——它源于我母亲的真实情况。管理她的医疗报告、处方、检验结果和医院账单压力巨大。每条信息都散落在不同的地方——Gmail 附件、WhatsApp 消息、医疗门户网站——每当医生问及病史时,我们都要手忙脚乱地翻找。我想一劳永逸地解决这个问题。
这时,我转向了 n8n——一个开源工作流自动化工具,开始构建一个自动化管道来收集、分类、处理和交付她的医疗信息。
https://drive.google.com/file/d/1e5ZRD-Kij_X26GvbFbSV6DXEGblp9JmU/view?usp=sharing
https://github.com/hargunkaur286/onco-assist
每段旅程都从一封邮件开始。我母亲的大部分医疗信息——PET/CT 报告、血液检查、发票、处方——都以附件的形式进入了 Gmail。我设置了一个 Gmail Trigger 节点来获取每封带有医学相关附件的新邮件。这确保了没有任何信息会遗漏。
为什么?因为手动下载和重命名文件容易出错。自动化处理这个过程每周为我们节省了数小时。
一旦邮件被捕获,下一个挑战就是分类。PET 扫描报告与药房发票看起来完全不同,处理它们需要不同的工作流。
我使用了 n8n 的 AI Text Classifier,背后由 LLM 支持。它通过查看邮件主题行和正文来将附件分类到不同的桶中:
为什么?因为医生需要快速访问特定信息。如果混淆血液检查和药房账单,就会造成混乱。分类提供了结构。
对于报告(PET/CT、Histopathology、Blood Tests),我设置了 Google Docs 创建和更新流程:
为什么?医生经常要求进行纵向比较(例如,"展示一下她的 PET 扫描如何演变")。通过更新现有文档而不是无限创建新文档,我们建立了包含完整医疗历史的活文档。
药品价格在不同药房之间差异很大,而且供应情况也很复杂。我这里使用了:
为什么?在管理长期处方时,成本很重要。自动化比较药房价格帮助我们节省了金钱并更好地规划。
账单和发票被导入 Google Doc 草稿。为什么是草稿?因为有时这些文件在提交保险理赔前需要手动编辑。通过自动化草稿,我减少了繁琐的工作,同时保持了灵活性。
某些数据需要超越 API 的抓取。一开始,我在数据集上遇到了困难——我在 Bright Data 的数据集中心找不到直接符合我用例的数据集。在尝试(和失败)使用预构建数据集之后,我用解析器代码构建了一个自定义 Bright Data 收集器。然后我通过 HTTP Request 节点将其连接到 n8n,以动态触发抓取并将结果取回到我的工作流中。
这很具有挑战性,但成为了系统中最强大的部分:来自网络的实时药品价格智能。另外,代码生成功能非常棒,帮了我很多。
如果护理人员(我)不知道何时有新数据到达,所有这一切有什么用呢?我在每个流程的末尾设置了 Twilio SMS/WhatsApp 警报:
为什么?因为医疗本身压力就足够大了。获得实时警报意味着我可以专注于护理,而不是文件管理。
我使用 Bright Data Verified Node 从 GoodRx 抓取结构化药品定价和药房详情。它动态触发收集器、获取干净的 JSON,并将结果集成到 Google Sheets 和 Docs 中。这使得在护理人员工作流中能够实时追踪药品价格、供应情况和相关见解。
这个项目不是为了炫耀技术——而是为了减轻护理人员的认知负担。通过在 n8n 中将 Gmail、AI 分类器、Google Docs、Sheets、Bright Data 爬虫和 Twilio 警报串联起来,我构建了我的第一个 AI agent 和一个个人医疗自动化系统。
起初,连接 Bright Data 数据集很令人沮丧——但这个挑战促使我学会了如何构建自己的收集器并将其与 HTTP 节点集成。这种奋斗变成了这段旅程中最有收获的部分之一。
对我的母亲来说,这意味着医生询问病史时我们总有答案。对我来说,这是一个提醒:最好的技术来自解决我们身边的问题。
关于进一步行动,你可以考虑屏蔽此人和/或举报滥用