---
title: 医学审核 Agent：从 Excel 插件到受控评测闭环
canonical: "https://xiaofeng.dev/reports/medical-review-agent-2026/"
pubDate: 2026-08-31
author: 唐小锋 Xiaofeng TANG
description: 一个临床试验 AE 医学审核辅助项目案例：从 Excel 交互原型、LobeHub 与 Univer 工作台，演进到 Pi Agent、技能契约和本地 self-harness 评测闭环。
---

## 案例概览

这是一个面向临床试验数据的 AE（不良事件）医学审核辅助项目。目标不是让模型替代医学专家，而是把跨表格、跨访视的记录核对工作变成一套可追溯、可复现、可持续优化的 Agent 工作流。

项目从 2026 年 3 月开始，持续到 8 月。早期先验证 Excel 内的审核体验，随后探索 LobeHub、Univer 组件与可复用 Skill 的组合，最终迁移到 Pi Agent + Skill，并用本地 self-harness 固定输入、候选配置和评测流程。最终版本在受控验证集上实现了 **70%+ 的记录级召回率**，且不依赖大范围逐条标注。

## 背景与问题

临床试验医学审核通常需要同时阅读 AE、既往史（MH）、实验室检查（Lab）、心电图（ECG）、体格检查（PE）和生命体征（VS）等多类表单。真正困难的地方不是发现一个异常数字，而是判断记录之间是否能够相互支持：

- AE 的开始、结束日期是否与相关检查记录对得上；
- 检查结果是否关联到了合理的 AE 或 MH；
- 同一指标在不同访视中的临床意义判定是否前后一致；
- 一条审核关注点能否回到受试者、访视、表单和原始记录位置；
- 证据包没有检索到记录时，系统能否区分“当前范围未找到”与“数据确实缺失”。

因此，项目把“医学结论”收敛为“记录核对关注点”：系统只基于可见证据提出复核提示，保留证据位置和限制说明，不给出诊断、治疗或确定性因果判断。

## 演进时间线

| 时间 | 阶段 | 关键工作 | 形成的能力 |
|:---|:---|:---|:---|
| 2026/3 | Excel add-in 探索 | 在熟悉的表格工作流中验证导入、定位和审核结果呈现 | 确认审核人员需要“留在表格里”，并保留原记录上下文 |
| 2026/5–6 | LobeHub + Univer + Skill | 试验表格组件、CSV/XLSX 数据入口、规则检查、MCP 连接与 Skill 契约；将大表先抽取为受试者级证据包 | 把 UI、数据抽取、规则边界和模型审核职责拆开 |
| 2026/7 | Pi Agent + Skill | 关闭不必要的内建工具，只开放事实目录、受控检索、契约读取、实验笔记和结构化提交 | Agent 只能基于检索到的事实工作，工具调用和证据轨迹可检查 |
| 2026/7–8 | self-harness 优化 | 固定开发集与盲测集，冻结候选 prompt / 工具 / 模型配置，比较召回、精确率、F1、调用复杂度和成本 | 从“改提示词看一次结果”升级为可重放的优化与晋升流程 |

## 方案结构

### 1. 数据准备：先把 workbook 变成事实目录

第一步不是把完整工作簿塞给模型，而是完成 sheet 角色识别、项目级字段映射、受试者索引和记录定位。每个受试者再生成紧凑的证据包，包含 AE/MH 全量记录，以及 Lab、ECG、PE、VS 等与审核问题相关的候选记录。

证据包保留表单、行号、访视、记录日期、指标、结果、参考范围、临床意义和显式关联等定位信息。候选筛选只负责控制上下文大小，不直接等同于医学结论。

### 2. Agent 审核：事实优先、记录级输出

Skill 契约明确审核边界、只读要求、受控工具和输出格式。Agent 先读取审核契约与事实目录，再按受试者内的时间线检索单个 AE、指标或日期范围，最后对每一条可独立核对的记录输出一个关注点。

审核规则覆盖日期冲突、AE/MH 关联可追溯性、指标与 AE 名称匹配、临床意义判定冲突、AE 开始前已有异常、AE 结束与指标恢复不一致，以及缺少可支持记录等模式。检索不到记录时使用明确的证据状态，避免把一次未命中直接写成确定的数据缺失。

### 3. 评测闭环：用小而稳定的基线守住质量

项目没有把大规模人工标注作为启动前提，而是从既有审核材料中抽取结构化 baseline，再由人工确认范围、类别和争议项。评测管道拆成三个可复用阶段：

1. 从历史审核材料提取并归一化 baseline；
2. 解析 Agent 的记录级结构化输出；
3. 用受试者、表单和问题类别等组合键计算 Recall、Precision、F1，并保留漏检、误报和类别分布。

后续 self-harness 把开发集与盲测集完全隔离。每个候选版本记录 prompt、工具集合、模型、输入哈希和运行轨迹；只有开发集通过后才进入盲测，且盲测召回不低于当前 champion 才有资格参与人工晋升。这样既能控制数据泄漏，也能把“质量提升”与“刚好换了一批样本”区分开。

## 我负责的产品与方法工作

- **场景定义**：把“AI 审核”收敛为可验证的记录合理性检查，明确专家决策边界和不应自动化的内容。
- **交互路径**：从 Excel 内操作出发，探索表格工作台、MCP 与 Agent 的组合，让审核人员可以从结果回到原始记录。
- **Skill 设计**：将页面识别、字段映射、证据抽取、医学规则和输出协议分层，减少模型重复工作和规则漂移。
- **Agent 工程**：设计 Pi Agent 的最小受控工具集合、记录级提交协议、证据状态和运行轨迹，保证每次结论都能解释“看到了什么”。
- **质量体系**：建立 baseline、类别归一化、开发/盲测隔离、候选比较和人工晋升机制，把召回率优化变成可审计的实验流程。
- **迭代策略**：先补足漏检规则，再收紧容易造成噪声的缺失判断，随后优化原子检索、输出粒度和模型成本，而不是只追求一次运行的最高分。

## 结果与价值

- 受控验证集上的记录级召回率达到 **70%+**，在缺少大范围逐条标注的条件下建立了可量化的质量基线。
- 形成从 workbook → 受试者证据包 → Agent 审核 → 结构化结果 → Recall/Precision/F1 评测的完整闭环。
- 通过事实目录、受控检索和记录级证据，把模型输出从“泛泛的异常总结”提升为可回查的审核关注点。
- 通过版本化 Skill、运行哈希、开发/盲测隔离和人工晋升，降低 prompt 漂移、评测污染和不可重放的风险。
- 为后续客户试用保留了本地运行、专家复核、结果导出和按项目适配的扩展路径。

这里的指标用于限定数据范围内的工程验证，不外推为所有临床研究或所有医学审核任务的通用性能。

## 可公开的案例边界

本案例不公开原始客户材料、临床样本、完整提示词、内部评测文件或实现代码。官网只保留问题定义、系统演进、方法框架、评测思路和结果口径，足以说明产品判断与 Agent 工程能力，同时避免还原具体项目内容。
