Files
AIclinicalresearch/docs/03-业务模块/AIA-AI智能问答/06-开发记录/2026-01-24-Protocol_Agent_MVP开发完成.md
HaHafeng 2481b786d8 deploy: Complete 0126-27 deployment - database upgrade, services update, code recovery
Major Changes:
- Database: Install pg_bigm/pgvector plugins, create test database
- Python service: v1.0 -> v1.1, add pymupdf4llm/openpyxl/pypandoc
- Node.js backend: v1.3 -> v1.7, fix pino-pretty and ES Module imports
- Frontend: v1.2 -> v1.3, skip TypeScript check for deployment
- Code recovery: Restore empty files from local backup

Technical Fixes:
- Fix pino-pretty error in production (conditional loading)
- Fix ES Module import paths (add .js extensions)
- Fix OSSAdapter TypeScript errors
- Update Prisma Schema (63 models, 16 schemas)
- Update environment variables (DATABASE_URL, EXTRACTION_SERVICE_URL, OSS)
- Remove deprecated variables (REDIS_URL, DIFY_API_URL, DIFY_API_KEY)

Documentation:
- Create 0126 deployment folder with 8 documents
- Update database development standards v2.0
- Update SAE deployment status records

Deployment Status:
- PostgreSQL: ai_clinical_research_test with plugins
- Python: v1.1 @ 172.17.173.84:8000
- Backend: v1.7 @ 172.17.173.89:3001
- Frontend: v1.3 @ 172.17.173.90:80

Tested: All services running successfully on SAE
2026-01-27 08:13:27 +08:00

8.0 KiB
Raw Blame History

Protocol Agent MVP 开发完成记录

日期2026-01-24
开发者AI Assistant
状态: Sprint 1-3 完成


📋 开发概述

完成了**Protocol Agent研究方案制定助手**的MVP版本开发建立了可复用的Agent框架实现了5阶段对话式研究方案制定流程。


🎯 完成的功能

一、通用Agent框架可复用

组件 功能 代码量
Query Layer 意图识别、实体提取 QueryAnalyzer (271行)
Planner Layer 状态机、阶段管理 StageManager (284行)
Executor Layer LLM调用、响应构建 BaseAgentOrchestrator (562行)
Tools Layer 工具注册、调用 -
Reflection Layer 质量检查 ReflexionEngine (部分)
横切关注点 配置加载、追踪日志 ConfigLoader (267行), TraceLogger (350行)

框架特点

  • 清晰的五层架构
  • 完整的类型定义 (382行)
  • 可扩展设计为后续统计Agent、数据清洗Agent铺路

二、Protocol Agent核心实现

后端实现

模块 文件 功能
ProtocolOrchestrator 322行 研究方案Agent编排器
ProtocolContextService 290行 上下文CRUD管理
PromptBuilder 286行 Prompt构建与渲染
LLMServiceAdapter 184行 集成现有LLM服务
ProtocolAgentController 288行 HTTP请求处理
Routes 154行 API路由定义

API端点

POST /api/v1/aia/protocol-agent/message          发送消息
POST /api/v1/aia/protocol-agent/sync             同步阶段数据
GET  /api/v1/aia/protocol-agent/context/:id      获取上下文状态
POST /api/v1/aia/protocol-agent/generate         一键生成方案
GET  /api/v1/aia/protocol-agent/generation/:id   获取生成结果
POST /api/v1/aia/protocol-agent/generation/:id/export 导出Word

前端实现

模块 文件 功能
ProtocolAgentPage 223行 主页面(三栏布局)
ChatArea 292行 聊天区域(扩展功能)
StatePanel 60行 状态面板
StageCard 225行 阶段状态卡片
SyncButton 48行 同步按钮
ActionCard 66行 Action Card
ReflexionMessage 52行 Reflexion消息
Hooks 2个 useProtocolContext, useProtocolConversations
CSS 608行 100%还原原型图样式

三、数据库设计

agent_schema通用Agent框架

表名 说明
agent_definitions Agent定义
agent_stages 阶段配置
agent_prompts Prompt模板
agent_sessions 会话状态
agent_traces 执行追踪
reflexion_rules 反思规则

protocol_schemaProtocol Agent专用

表名 说明
protocol_contexts 研究方案上下文5阶段数据
protocol_generations 方案生成记录

初始配置数据

  • 1个Agent定义protocol_agent
  • 5个阶段配置
  • 9个Prompt模板
  • 4个Reflexion规则

🧪 测试结果

API测试100%通过)

测试项 状态
健康检查
数据库配置
未授权访问 (401)
获取不存在上下文 (404)
登录认证
创建对话
发送消息
同步阶段数据
获取上下文状态
生成方案检查

📊 核心设计特点

5阶段研究方案流程

01 科学问题 → 02 PICO → 03 研究设计 → 04 样本量 → 05 观察指标
                                                        ↓
                                              [🚀 一键生成研究方案]

对话驱动交互

用户与AI对话 → AI整理数据 → 显示"✅ 同步到方案"按钮 
                                    ↓
                            用户点击同步
                                    ↓
                      State Panel实时更新
                                    ↓
                   AI询问"继续下一阶段吗?"
                                    ↓
                     用户说"继续" → 进入下一阶段

观察指标详细结构

  • 📊 基线指标:人口学特征、临床病史、实验室检查
  • 💊 暴露指标:干预措施、对照措施、剂量、持续时间
  • 🎯 结局指标:主要结局、次要结局、安全性指标
  • ⚠️ 混杂因素:需要调整的协变量

UI设计亮点

特点 实现
Gemini折叠侧边栏 48px ↔️ 280px悬停展开
100%还原原型图 Tailwind样式Lucide图标
Indigo主题 紫蓝渐变,测试徽章
同步动画 flash-update闪烁效果
Reflexion样式 紫色左边框

🔧 技术栈

后端

  • Fastify + TypeScript
  • Prisma (agent_schema + protocol_schema)
  • LLMFactory集成DeepSeek/Qwen/GPT-5/Claude
  • pg-boss异步任务Phase 2

前端

  • React 19 + TypeScript
  • React Router v7
  • Ant Design X复用Chat组件
  • Tailwind CSS100%还原原型图)
  • Lucide Icons

📝 待完成功能Phase 2+

Sprint 4: 一键生成研究方案Week 4

  • 实现完整的方案生成Prompt
  • 集成LLM调用生成完整方案
  • Word文档导出docx库
  • 方案预览与在线编辑
  • 重新生成功能

Sprint 5-6: 知识增强Week 5-6

  • EKB知识库建设
  • RAG检索集成
  • Function Calling工具调用
  • 更多Action Card场景

Sprint 7-8: 平台化Week 7-8

  • 后台配置管理界面
  • Prompt在线调试
  • 完整Trace分析
  • 多Agent支持准备

⚠️ 已知问题

  1. 前端路由问题(未解决)

    • 点击Protocol Agent卡片后未正常跳转
    • 需要调试路由配置和组件加载
  2. LLM响应解析(待完善)

    • 当前使用简单的关键词检测决定是否显示同步按钮
    • 应该解析<extracted_data>XML标签
  3. Prompt调优(待进行)

    • 5个阶段的Prompt需要实际测试调优
    • 提取Schema需要优化

📈 代码统计

后端

类别 文件数 代码行数
类型定义 1 382
Agent框架 5 1,734
Protocol Agent 6 1,662
数据库种子 1 560
后端总计 13 4,338行

前端

类别 文件数 代码行数
页面组件 1 223
子组件 6 849
Hooks 2 226
类型定义 1 165
样式 1 608
路由更新 3 -
前端总计 14 2,071行

数据库

  • 8张新表agent_schema: 6张protocol_schema: 2张
  • 初始配置数据已seed

🏆 技术亮点

  1. 可复用Agent框架 - 为后续Agent开发打下基础
  2. Query→Plan→Execute→Reflect - 完整的Agent闭环
  3. 对话驱动交互 - 自然的同步确认机制
  4. 100%还原原型图 - 精致的UI设计
  5. Gemini折叠侧边栏 - 优秀的UX设计
  6. 详细的观察指标 - 4类指标完整结构

📚 相关文档


🎉 里程碑

  • M1 (Week 2): Agent框架 + 基础对话
  • M2 (Week 4): 完整5阶段流程 + 前端UI
  • M3 (Week 5): 一键生成研究方案

下一步工作

  1. 修复前端路由问题
  2. 实现一键生成完整研究方案
  3. Word文档导出
  4. Prompt调优测试

预计交付时间Week 51周后