后台同步 + 用户交互双轨流程
流程拆分为后台同步态与用户交互态两条轨道,保障“用户永远只访问本地数据”的秒级体验,并在确认节点触发核心计算。
关键原则: 背景同步永远提前于用户动作;所有 AI/统计任务均基于本地清洗后的数据集,确保可追溯与快速回放。
0
后台准备 · Data Sync Service
- Cron Job 周期性从 Salesforce、Studylog、ELN 拉取数据。
- 统一清洗、标准化并写入 Local DB,附带时间戳与版本号。
- 用户登录时仅访问 Local DB,不跨域查询,保障性能。
1
项目启动 & 数据预览
- 输入 Project Code 即刻调取本地快照。
- 数据预览台展示小鼠分组、TCV、BW 原始数据。
- 用户可隐藏异常数据、重命名分组;系统同步 Protocol 状态并提示上传需求。
2
Protocol 智能处理
- 自动抽取 Study Design、Treatment Regimen 等关键段落。
- 原文与提取结果双写入数据库,保证审计可查。
- AI Agent 执行时态/语态转换,遵循行业报告标准。
3
计算、制图与统计
- 用户点击“确认数据”后触发表格、Prism 图与导出文件生成。
- 调用绘图引擎输出 Mean ± SEM 表与 Prism 风格图像或 .pzfx。
- 清洗数据推送至 HuPharm,返回 TGI、T/C、P-value、Kaplan-Meier。
4
AI 分析与模版配置
- AI 汇总 HuPharm 结果生成 Results 与 Conclusion 初稿。
- 前端同步弹出模版/语言选择窗口,并支持缩略图预览。
- 配置动作与后台运算并行进行,缩短等待时间。
5
在线预览与交付
- Transformed Protocol、图表、统计、AI 文本注入 Word 模版。
- 在线编辑器支持微调、版本控制、差异对比。
- 导出 DOCX + 原始数据包(Excel/Prism),满足合规归档。
业务流程图(Mermaid)
下图展示从后台数据同步到报告交付的全链路依赖关系,区分用户态、自动化服务与后台同步域,突出并行分支与关键判定节点。
Mermaid 渲染采用在线脚本,无需本地依赖,可直接复制到文档或 Wiki 中复用。
graph TD
%% 样式定义
classDef sync fill:#e0f7fa,stroke:#006064,stroke-width:2px;
classDef user fill:#fff3e0,stroke:#e65100,stroke-width:2px;
classDef auto fill:#f3e5f5,stroke:#4a148c,stroke-width:2px;
%% 0. 后台同步
subgraph "Phase 0: Background Sync"
Sources[External: SF, ELN, Studylog] -- Cron Job --> LocalDB[(Local System DB)]
end
class Sources,LocalDB sync;
%% 1. 用户交互启动
subgraph "Phase 1: User Initiation"
Input(User Input: Project Code) --> Query[Query Local DB]
Query --> Dashboard[Data Review Dashboard
Clean/Exclude Data] Dashboard --> CheckProto{Protocol Exists?} CheckProto -- No --> Upload[User Upload Signed Protocol] CheckProto -- Yes --> Extract[Extract Text] Upload --> Extract end class Input,Dashboard,Upload,Query user; %% 2. 核心处理 (并行) subgraph "Phase 2 & 3: Processing Core" %% 分支A: 文本处理 Extract --> NLP_Rewriter(AI Agent: Rewrite Tense
Future -> Past Passive) NLP_Rewriter --> SaveProto[Save to DB Report Section] %% 分支B: 数据处理 Dashboard -- Data Confirmed --> Generator[Chart & Table Generator] Generator --> Prism[Generate Prism Charts & Tables] Generator --> HuPharm[Call HuPharm API
Stats: TGI, T/C, P-val] %% 分支C: AI 推理 HuPharm --> AI_Reasoning(AI Agent: Analyze & Conclude) %% 并行: 用户选择模版 Dashboard -- On Wait --> SelectTemp[User Select Template & Language] end class NLP_Rewriter,Prism,HuPharm,AI_Reasoning,SaveProto auto; class SelectTemp user; %% 3. 组装与交付 subgraph "Phase 4: Assembly & Delivery" SaveProto & Prism & AI_Reasoning & SelectTemp --> Assembler{Report Assembler} Assembler --> Editor[Online Preview & Editor
Version Control] Editor --> Export(Export Word
+ Raw Excel/Prism Data) end class Editor,Export user; class Assembler auto;
Clean/Exclude Data] Dashboard --> CheckProto{Protocol Exists?} CheckProto -- No --> Upload[User Upload Signed Protocol] CheckProto -- Yes --> Extract[Extract Text] Upload --> Extract end class Input,Dashboard,Upload,Query user; %% 2. 核心处理 (并行) subgraph "Phase 2 & 3: Processing Core" %% 分支A: 文本处理 Extract --> NLP_Rewriter(AI Agent: Rewrite Tense
Future -> Past Passive) NLP_Rewriter --> SaveProto[Save to DB Report Section] %% 分支B: 数据处理 Dashboard -- Data Confirmed --> Generator[Chart & Table Generator] Generator --> Prism[Generate Prism Charts & Tables] Generator --> HuPharm[Call HuPharm API
Stats: TGI, T/C, P-val] %% 分支C: AI 推理 HuPharm --> AI_Reasoning(AI Agent: Analyze & Conclude) %% 并行: 用户选择模版 Dashboard -- On Wait --> SelectTemp[User Select Template & Language] end class NLP_Rewriter,Prism,HuPharm,AI_Reasoning,SaveProto auto; class SelectTemp user; %% 3. 组装与交付 subgraph "Phase 4: Assembly & Delivery" SaveProto & Prism & AI_Reasoning & SelectTemp --> Assembler{Report Assembler} Assembler --> Editor[Online Preview & Editor
Version Control] Editor --> Export(Export Word
+ Raw Excel/Prism Data) end class Editor,Export user; class Assembler auto;
Agent 角色与系统架构
Agent 群组围绕 Orchestrator 展开,结合本地优先的数据层与后台同步域,实现 Protocol 到报告的端到端自动化。
核心角色
- Orchestrator: 调度任务、管理 Session,与 Local DB 交互并协调上下文。
- Protocol Specialist: OCR + NLP + 时态转换,维护签字版 Protocol 到报告文案的闭环。
- Data & Visualization Agent: 清洗数据、生成 Prism 风格图与 Raw Data Excel。
- Statistics & Analyst Agent: 对接 HuPharm、解析 P-value,并输出疗效等级文字。
- Publisher Agent: 负责 Word 模版注入、多语言生成与排版。
协作要点
- 所有 Agent 仅访问本地数据层,外部依赖(HuPharm、OCR、LLM)通过专用服务封装。
- Context Manager 提供统一的状态共享,避免重复解析或调用。
- FileStore 对 .PDF、.PZFX、.DOCX、.XLSX 做分层归档,供 Editor 和交付流程直接引用。
系统架构图
graph TB
subgraph "Frontend Layer (Web Portal)"
UI_Dash["Data Dashboard
View/Exclude/Clean Data"] UI_Proto["Protocol Center
Upload PDF / View Extracted Text"] UI_Editor["Online Report Editor
WYSIWYG / Version History"] UI_Dash <--> UI_Proto UI_Dash --> UI_Editor end API_GW[API Gateway] UI_Dash <--> API_GW UI_Proto <--> API_GW UI_Editor <--> API_GW subgraph "Backend Core" Orchestrator["Workflow Orchestrator
Task Dispatcher & State Machine"] ContextMgr[Shared Context Manager] end API_GW <--> Orchestrator Orchestrator <--> ContextMgr subgraph "Agentic Logic Layer" Agent_Proto["Protocol Agent"] Agent_Data["Data & Viz Agent"] Agent_Stat["Analyst Agent"] Agent_Pub["Publisher Agent"] end Orchestrator --> Agent_Proto Orchestrator --> Agent_Data Orchestrator --> Agent_Stat Orchestrator --> Agent_Pub subgraph "Infrastructure & Microservices" LLM[LLM Service] Service_OCR[OCR Engine] Service_Prism[Prism Gen Service] Service_Hu[HuPharm Client Wrapper] Service_Doc[Docx Renderer] end Agent_Proto --> Service_OCR Agent_Proto <--> LLM Agent_Stat <--> LLM Agent_Data --> Service_Prism Agent_Stat --> Service_Hu Agent_Pub --> Service_Doc subgraph "Data Layer (Local First)" LocalDB[(Project DB)] FileStore[(File Storage)] end ContextMgr <--> LocalDB Agent_Proto -- Save Text --> LocalDB Agent_Proto -- Save Files --> FileStore Agent_Data -- Prism Files --> FileStore Agent_Pub -- Reports --> FileStore subgraph "Background Data Domain" Sync_Worker[Sync Worker] Ext_SF[Salesforce] Ext_ELN[ELN] Ext_SL[Studylog] Ext_Hu[HuPharm Server] end Sync_Worker -- Fetch --> Ext_SF Sync_Worker -- Fetch --> Ext_ELN Sync_Worker -- Fetch --> Ext_SL Sync_Worker -- Upsert --> LocalDB Service_Hu <--> Ext_Hu
View/Exclude/Clean Data"] UI_Proto["Protocol Center
Upload PDF / View Extracted Text"] UI_Editor["Online Report Editor
WYSIWYG / Version History"] UI_Dash <--> UI_Proto UI_Dash --> UI_Editor end API_GW[API Gateway] UI_Dash <--> API_GW UI_Proto <--> API_GW UI_Editor <--> API_GW subgraph "Backend Core" Orchestrator["Workflow Orchestrator
Task Dispatcher & State Machine"] ContextMgr[Shared Context Manager] end API_GW <--> Orchestrator Orchestrator <--> ContextMgr subgraph "Agentic Logic Layer" Agent_Proto["Protocol Agent"] Agent_Data["Data & Viz Agent"] Agent_Stat["Analyst Agent"] Agent_Pub["Publisher Agent"] end Orchestrator --> Agent_Proto Orchestrator --> Agent_Data Orchestrator --> Agent_Stat Orchestrator --> Agent_Pub subgraph "Infrastructure & Microservices" LLM[LLM Service] Service_OCR[OCR Engine] Service_Prism[Prism Gen Service] Service_Hu[HuPharm Client Wrapper] Service_Doc[Docx Renderer] end Agent_Proto --> Service_OCR Agent_Proto <--> LLM Agent_Stat <--> LLM Agent_Data --> Service_Prism Agent_Stat --> Service_Hu Agent_Pub --> Service_Doc subgraph "Data Layer (Local First)" LocalDB[(Project DB)] FileStore[(File Storage)] end ContextMgr <--> LocalDB Agent_Proto -- Save Text --> LocalDB Agent_Proto -- Save Files --> FileStore Agent_Data -- Prism Files --> FileStore Agent_Pub -- Reports --> FileStore subgraph "Background Data Domain" Sync_Worker[Sync Worker] Ext_SF[Salesforce] Ext_ELN[ELN] Ext_SL[Studylog] Ext_Hu[HuPharm Server] end Sync_Worker -- Fetch --> Ext_SF Sync_Worker -- Fetch --> Ext_ELN Sync_Worker -- Fetch --> Ext_SL Sync_Worker -- Upsert --> LocalDB Service_Hu <--> Ext_Hu
修复点: 强化 Local-First、Prism 文件链路、Protocol 闭环以及在线编辑器与 Publisher 的联动,确保延迟可控与合规可追溯。
核心 AI 提示词(优化版)
Protocol Tense Switch Prompt
角色设定: Lead Medical Writer,负责 GLP 合规。
- 输出目标:将 Study Protocol(Future Plan)转换为 Final Report(Past Passive)。
- 规则:只用简单过去时 + 被动语态;保留全部术语与数值;统一单位格式;仅输出段落。
示例输入: “After the acclimation period, we will inoculate...”
示例输出: “Following the acclimation period, tumor cells ... were inoculated ...”
Insight Generation Prompt
角色设定: Preclinical Data Scientist。
- 输入:HuPharm 统计 JSON(TGI、p-value、bw_loss)。
- 逻辑:Potent ≥60% 且 p<0.05;Moderate 30–60%; dose-dependent & toxicity 判定内置。
- 输出语言:简体中文 + 英文术语括号。
示例: Compound A 高剂量 85.2% (p<0.001) → 描述“强效 (potent) 且无明显毒性”。
Prism 图表生成实现方案
采用 “报告内图像 + Prism 源文件” 双轨策略,既满足自动化交付,又兼容研究人员的二次编辑需求。
策略 A · 兼容 Prism 的源文件
- Data Agent 导出 Prism 友好 CSV/XML。
- 基于模板
.pzfx注入数据,保留颜色和轴设定。 - 提供下载:
project_123_prism_data.pzfx+ Raw Excel。
策略 B · 服务端绘制 Prism 风格图片
- 使用 Matplotlib/Seaborn 并加载 Prism-like Style Sheet。
- 统一字体 (Arial)、色板、误差棒配置,输出 300 DPI PNG/SVG。
- Word 报告直接引用渲染后的高清图表。
建议组合使用:策略 B 负责报告展示,策略 A 负责交付文件,提升可信度与可复现性。
在线预览与编辑器设计
Editor 是最终交付前的控制塔,需支持实时协同、版本追踪与动态变量刷新。
技术选型
- 前端:ProseMirror 或 CKEditor 5 Document Build,支持复杂表格与图片。
- 后端:存储 JSON/HTML Delta,导出时调用 DocxTpl/Jinja2。
- 权限:RBAC + 操作日志,满足审计。
关键功能
- 实时保存:停止输入 2 秒自动写入草稿。
- 版本回溯:v0.1、v0.2... 可差异高亮与一键回滚。
- Smart Placeholder:变量以 Tag 显示,统计刷新自动同步。
并行体验
- 后台生成任务状态条,提示图表/统计进度。
- AI 建议内联显示,用户可“接受/编辑/拒绝”。
- 多语言 Preview,让 SD 即时验证客户版本。
价值流总结
- Local-First: 数据同步提前完成,用户操作秒级返回,离线也可回放。
- Compliance-Grade 文案: Protocol 时态转换和 AI 总结均遵循行业标准,输出可直接用于 FDA/IND 报告。
- Automation + Flexibility: 自动生成图表、统计和文案,同时保留 Prism 源文件与在线编辑器以便人工微调。
- 可追溯: 每个步骤写日志,版本化输出,满足审计与回溯需求。
- 可扩展: Agent 架构与微服务分层方便新增业务线、模型或第三方分析服务。