feat(iit): Initialize IIT Manager Agent MVP - Day 1 complete

- Add iit_schema with 5 tables
- Create module structure and types (223 lines)
- WeChat integration verified (Access Token success)
- Update system docs to v2.4
- Add REDCap source folders to .gitignore
- Day 1/14 complete (11/11 tasks)
This commit is contained in:
2025-12-31 18:35:05 +08:00
parent decff0bb1f
commit 4c5bb3d174
154 changed files with 13759 additions and 8 deletions

View File

@@ -0,0 +1,106 @@
# **IIT Manager Agent V4 完整产品需求文档 (全量集成版)**
## **1\. 引言**
### **1.1 项目背景**
在研究者发起的临床试验IIT数据质量的核心痛点在于“过程失控”。传统的 EDC 系统(如 REDCap是静态的记录工具。IIT Manager Agent V4 旨在通过“自研逻辑编排 \+ Dify 知识库赋能”,构建一个具有主动意识、实时质控、多端协同的数字科研团队。
### **1.2 核心目标**
* **主动任务化**:将 Protocol方案转化为主动驱动的任务流而非被动的数据填报。
* **医疗级合规**:通过“影子状态”机制,确保 AI 建议在进入真理源REDCap前经过人类确权。
* **规模化品牌**:通过“企微中枢 \+ 小程序落地”解决 100+ 项目同时运行时的品牌归属感与触达效率。
## **2\. 产品总体架构:原生编排 \+ 外部认知**
系统放弃了黑盒 Agent 框架,采用\*\*“大脑与图书馆”\*\*分离的架构:
* **逻辑大脑 (Node.js \+ pg-boss)**:位于后端,负责状态机流转、影子数据处理、权限校验及异构系统调度。
* **知识图书馆 (Dify RAG)**:负责非结构化文档(方案、指南、手册)的解析与向量检索,作为 AI 的认知增强。
## **3\. 终端与角色矩阵 (Endpoint & Role Matrix)**
系统通过“基础角色 \+ 扩展权限”模式,实现跨终端的紧密协作。
| 角色 | 核心诉求 | 推荐终端 | 核心交互逻辑 |
| :---- | :---- | :---- | :---- |
| **项目负责人 (PI)** | 宏观进度、合规审批、学术报表 | **企业微信 (通知) \+ 微信小程序 (查看)** | 接收企微通知,在小程序查看品牌化报表并审批 |
| **协调员 (CRC)** | 录入数据、复核建议、管理随访 | **REDCap (录入) \+ PC Workbench (复核)** | 尊重 REDCap 录入习惯,在工作站处理 AI 质疑 |
| **患者 (受试者)** | 访视提醒、依从性引导、医学咨询 | **个人微信 (H5/小程序)** | 接收由 Agent 以 CRC 名义发送的企微消息 |
| **系统管理员** | 项目初始化、规则配置、RAG 维护 | **PC 端 (Admin Portal)** | 数字化方案、配置字段映射、管理多租户 |
## **4\. 核心功能模块与 Agent 矩阵**
### **4.1 数据质控 Agent (严谨的监察员)**
* **逻辑**:通过 Webhook 监听 REDCap 录入 \-\> 调用 Dify 检索方案规则 \-\> 发现逻辑冲突 \-\> 生成影子质疑 (Pending Action)。
* **参数**Temperature \= 0追求极致确定性。
### **4.2 任务驱动引擎 (数字指挥官)**
* **逻辑**:根据项目初始化定义的 Visit Schedule 计算访视窗 \-\> 触发 pg-boss 延时任务 \-\> 自动发送微信提醒。
### **4.3 患者随访 Agent (温暖的协调员)**
* **逻辑**:基于 RAG 知识库回复患者咨询 \-\> 识别 SAE 风险 \-\> 自动提醒 CRC 介入接管。
* **参数**Temperature \= 0.7,保持医学严谨的同时具有亲和力。
### **4.4 汇报 Agent (智能汇报者)**
* **逻辑**:自动汇总 REDCap 进度数据 \-\> 生成智能报表草稿 \-\> 推送至 PI 微信确认。
## **5\. 操作边界:双轨并行原则**
为了降低推广阻力,系统明确划分了 REDCap 与 Workbench 的操作边界:
* **REDCap 原生录入**
* **场景**:手动、少量、常规的临床数据录入。
* **AI 表现**:后台静默质控,仅通过 EM 插件在页面顶端显示微提醒。
* **AI Workbench**
* **场景**:化验单 OCR 批量采集、AI 建议的深度复核(同屏对比证据链)、多中心映射配置。
* **AI 表现**:作为主要处理界面,展示推理过程与原文引用。
## **6\. 核心机制:影子状态机 (Shadow State)**
所有 AI 建议必须经过以下生命周期,严禁 AI 直接修改 REDCap 数据:
1. **PROPOSED (影子建议)**Agent 发现问题,记录于 pending\_actions 表,包含引用页码及推理逻辑。
2. **APPROVED (人类确权)**CRC 在 Workbench 点击“确认”或 PI 在小程序点击“审批”。
3. **EXECUTED (正式执行)**:系统通过 EDC Adapter 调用 API 回写至 REDCap并生成审计日志。
## **7\. 规模化部署与微信集成方案**
针对“100 个项目、47 家医院”的规模化场景:
### **7.1 通知中枢 (企业微信)**
* 使用壹证循统一认证的企微主体作为“推送管道”。
* 针对每个研究项目创建“自建应用”应用名可设置为“XX 项目研究组”,降低商业感。
### **7.2 品牌落地 (小程序)**
* PI/CRC 从企微卡片跳转至微信小程序。
* **动态渲染**:小程序根据 project\_id 自动加载对应医院的 Logo、主题色和项目名称给足 PI“学术归属感”。
## **8\. 技术底座与安全合规**
### **8.1 基础设施**
* **数据库**Postgres-Only 架构,利用 iit\_schema 实现物理隔离。
* **集成层**REDCap External Module (EM) 侧挂插件 \+ Node.js REST API 适配器。
### **8.2 安全与 GxP**
* **Token 安全**:所有 REDCap API Token 使用 AES-256-GCM 高强度加密存储。
* **脱敏引擎**:上下文进入 LLM 前,本地网关执行 PII个人身份信息自动脱敏。
* **审计链**:记录从 AI 推理原文到人类点击确权的全链路 TraceID。
## **9\. 实施阶段计划**
* **Phase 1 (连接)**:打通 REDCap Webhook 与 Node.js上线微信周报确认功能。
* **Phase 2 (协同)**:上线 PC Workbench 核心组件,实现质控影子建议的闭环。
* **Phase 3 (增强)**:集成 Python 微服务的 OCR/DC 模块,开启智能化数据采集。
* **Phase 4 (生态)**:完成 100+ 项目规模化配置方案,预研 AI 原生 SmartEDC。
**文档版本**V4.0 Final | **更新日期**2025-12-30 | **作者**:产品架构团队

View File

@@ -0,0 +1,83 @@
# **IIT Manager Agent 技术架构白皮书 (V3.0 生产级架构版)**
## **1\. 架构愿景:逻辑回归中心,知识驱动未来**
本架构旨在解决临床研究中 AI 落地最核心的三个矛盾:**“AI 的不可控性”与“医疗的严谨性”**、**“异构系统的碎片化”与“管理的一体化”**、**“数据隐私”与“模型效能”**。
* **原生编排 (Native Orchestration)**将核心逻辑与状态机State Machine保留在 **Node.js (Fastify) \+ pg-boss** 中。不迷信外部 Agent 框架,确保 SOP 流程在代码级可定义、可测试、可审计。
* **薄认知、厚逻辑**:将 **Dify** 定位于高性能的 **RAG Service**。利用其成熟的文档解析与召回管线,而将决策权、权限控制和事务一致性收回到自研后端。
## **2\. “四层三中心”架构设计**
### **2.1 架构分层 (Layered Architecture)**
1. **交互层 (Interaction Layer)**
* **微信/企微终端**PI 接收周报、患者 AI 咨询及任务提醒。
* **Agent Workbench (基于 Ant Design X)**CRC 处理 AI 建议、执行质控确认的“驾驶舱”。
2. **逻辑与智能体层 (Logic & Agent Layer)**
* **Agent Orchestrator**:基于 Node.js 的中央编排器,驱动 pg-boss 任务流。
* **Shadow State 机制**AI 建议在被人类确认前,仅以“影子数据”形式存在。
3. **连接适配层 (Connectivity Layer)**
* **EDC Adapter**:非侵入式对接 REDCap (REST API / Webhooks)。
* **Dify RAG Adapter**:封装多知识库检索 API执行向量检索。
* **Python Execution Service**:执行 OCR、医学 NER 及复杂统计算法(如 MICE
4. **基础设施层 (Infrastructure)**
* **Postgres-Only 中枢**统一管理任务队列、应用缓存及业务数据iit\_schema
### **2.2 三大中心 (System Centers)**
* **真理中心 (REDCap)**:临床数据的唯一合法来源。
* **状态中心 (RDS Postgres)**:管理 Agent 状态、审计日志、用户映射。
* **知识中心 (Dify / PGVector)**:存储数字化方案及医学知识库。
## **3\. 核心技术机制深度解析**
### **3.1 影子状态 (Shadow State) 与人机闭环**
为规避 AI 幻觉带来的数据错误,引入“影子状态”:
1. **AI 生成建议**Agent 产生的结果存入 iit\_schema.pending\_actions。
2. **证据链溯源**:在 Workbench 中AI 建议必须与 Dify 返回的原文片段(页码/坐标)强绑定。
3. **人类确权**CRC/PI 确认后,触发事务。
4. **正式写入**:调用 EDC Adapter 将数据写入 REDCap并记录“AI-ID \+ Human-ID”的双重签名。
### **3.2 基于 Dify 的多知识库 RAG 管线**
* **多源检索**针对同一决策Agent 同时检索“研究方案”、“临床指南”和“历史质控记录”。
* **混合召回**:利用 Dify 的向量检索 \+ 全文检索 \+ Rerank 机制确保上下文Context的极端准确。
* **脱敏安全**:在 Node.js 调用 Dify 接口前,利用 LLM Gateway 执行 PII (个人身份信息) 的本地化扫描与屏蔽。
### **3.3 跨体系身份映射 (Identity Mapping)**
* 建立加密存储的 User-EDC-Credential 体系。
* Agent 的每一个动作都通过 API 代理模拟真实用户的 REDCap 权限确保数据访问的合规性Audit Trail 符合 21 CFR Part 11
## **4\. 部署与性能优化策略**
### **4.1 混合云部署蓝图**
* **AI 控制平面 (SAE)**Node.js 后端与 Python 微服务运行在 Serverless 环境,根据任务负载弹性伸缩。
* **数据底座 (ECS \+ RDS)**REDCap 运行在 ECS通过阿里云 VPC 内网与 SAE 通信,降低延迟且数据不出内网。
* **Dify 节点**:独立容器部署,仅作为 RAG 接口对内提供服务。
### **4.2 任务可靠性**
* 利用 pg-boss 的指数退避重试机制处理 Webhook 丢失或 REDCap 接口超时。
* 支持长达 24 小时的长任务监控(如患者体征趋势分析)。
## **5\. 风险评估与对冲**
| 潜在风险 | 应对策略 |
| :---- | :---- |
| **逻辑代码膨胀** | 采用“微引擎化”设计,将质控规则参数化并存储在 JSONB 字段中。 |
| **Dify 接口延迟** | 对常用 RAG 背景信息在 app\_cache 中进行短时缓存。 |
| **未来扩展性需求** | 预留状态机接口,逻辑同构设计支持未来向 LangGraph 的平滑迁移。 |
## **6\. 实施路线图 (Milestones)**
1. **Phase 1: 连接与感知**:打通 REDCap 读写适配器,上线微信端智能周报。
2. **Phase 2: 工作站与协同**:完成 Agent Workbench 开发,实现“质控建议-人类确认”的影子闭环。
3. **Phase 3: 全自动采集**:开启多模态 OCR 提取,结合 RAG 知识库实现数据的一键同步。
4. **Phase 4: 智能化演进**探索基于多智能体对抗Critic Loop的深度质控并预研 SmartEDC 原型。
**文档版本**V3.0 | **最后更新**2025-12-30 | **维护者**:架构组

View File

@@ -0,0 +1,72 @@
# **IIT Manager Agent 项目实施战略与 MVP 路线图**
## **1\. 核心战略:以“感知”驱动“信任”**
在 Phase 1我们不急于实现“全自动数据搬运”因为“写”的合规风险和技术门槛最高。我们应优先实现\*\*“智能感知与主动预警”\*\*。
**MVP 的定义:**
能够实时监听 REDCap 录入,利用 Dify RAG 发现逻辑偏差,并推送到 PI 的微信端进行预警。
## **2\. 三大里程碑 (Milestones)**
### **里程碑 1通路搭建“路要通”**
* **目标**:建立 REDCap \-\> Node.js \-\> 微信的闭环。
* **关键任务**
* **环境初始化**SAE 部署后端RDS 初始化 iit\_schema。
* **EDC 适配器**:完成 REDCap External Module (EM) 基础开发,实现保存记录时的 Webhook 触发。
* **微信联通**:完成企业微信应用创建与消息推送接口对接。
### **里程碑 2智能注入“脑要灵”**
* **目标**:实现 AI 对临床方案的深度理解。
* **关键任务**
* **Dify 知识库**:上传 1-2 份标准临床协议,调试 RAG 检索参数。
* **Prompt 调优**:编写并测试“数据质控 Agent”提示词确保其输出符合我们的 JSON 协议。
* **影子生成**:实现后端自动生成 PendingAction 记录。
### **里程碑 3闭环协同“活要细”**
* **目标**:上线 PC Workbench 和 PI 小程序,实现人机确认。
* **关键任务**
* **Workbench 骨架**:基于 Ant Design X 实现任务列表与证据对比区。
* **PI 小程序**:实现品牌化报表展示与移动端一键审批。
* **回写闭环**:实现 APPROVED 状态后的 REDCap API 自动回写。
## **3\. 当前最重要的技术攻坚点 (Technical Hard Rocks)**
### **3.1 REDCap EM 的非侵入式“侧挂” (P0)**
* **挑战**:如何在不破坏医院既有 REDCap 环境的前提下,稳定地把数据“钩”出来。
* **对策**:利用 REDCap 官方的 External Module 框架,只做数据转发,不做业务处理。
### **3.2 证据链的“精准定位” (P0)**
* **挑战**Dify 返回的文字片段如何转化成前端 PDF 预览的高亮坐标。
* **对策**:在 Dify 侧配置支持返回 metadata含页码前端实现一个轻量级的 PDF.js 高亮层。
### **3.3 任务引擎的“长周期调度” (P1)**
* **挑战**:临床研究持续数月甚至数年,如何保证任务不丢失、不重复。
* **对策**:利用 pg-boss 的持久化队列,结合 Postgres 事务保证状态一致性。
## **4\. MVP 版本功能清单 (Scope for MVP)**
为了让用户快速见到东西MVP 建议仅包含以下功能:
1. **项目初始化**:手动输入 5 个关键变量映射(暂不做全量自动映射)。
2. **实时质控预警**:针对“年龄、性别、核心入排标准”进行 AI 检查。
3. **微信消息推送**当录入违背方案时PI 收到企微卡片。
4. **PC 简易工作站**:查看违背详情和 AI 给出的证据片段。
## **5\. 建议的行动顺序 (Next Steps)**
1. **立刻执行 (Day 1-3)**
* 注册并认证企业微信开发者主体。
* 在阿里云 SAE 搭建第一个 Node.js Hello World并调通企业微信推送 API。
2. **同步推进 (Day 1-7)**
* 由一位前端工程师基于我们的 HTML 原生开始搭建 React 版本的 Workbench 骨架。
* 由一位后端工程师开始编写 REDCap EM 插件的 PHP 代码。
**当前阶段**Ready to Code | **目标日期**2 周内完成 MVP 演示闭环