# **Protocol Agent 后端配置架构设计 (V3.0 核心思路)**
设计目标: 将硬编码的业务逻辑转化为可运营的配置数据。
核心范式: 全局继承 \+ 阶段重写 \+ 组件化逻辑
## **1\. 配置层级概览 (The Configuration Hierarchy)**
我们不再把 Prompt 看作一个长字符串,而是一个 **“动态组装对象”**。
graph TD
Global\[全局配置 (Global Config)\] \--\> Stage\[阶段配置 (Stage Config)\]
subgraph "Level 1: 全局设定"
Global \--\> BasePrompt\[人设: 资深医学专家\]
Global \--\> ContextDef\[记忆结构: PICO/N值\]
Global \--\> GlobalTools\[通用工具: EKB检索\]
end
subgraph "Level 2: 阶段设定 (覆盖 7 个模块)"
Stage \--\> TaskPrompt\[任务指令: 算样本量\]
Stage \--\> CoT\[思维链 SOP\]
Stage \--\> Reflexion\[反思卫士规则\]
Stage \--\> StageTools\[专用工具: 计算器\]
end
## **2\. 详细配置清单 (后端都有哪些需要配置的?)**
### **2.1 Level 1: 全局配置 (Global Configuration)**
这是 Agent 的“底色”,在所有阶段都会生效。
| 配置项 | 说明 | 示例值 |
| :---- | :---- | :---- |
| **Agent Name** | 智能体名称 | 研究方案制定助手 (Protocol Agent) |
| **Base System Prompt** | **总体 Prompt** | "你是一个严谨的临床研究方法学专家。你的核心目标是辅助用户产出高质量的 Protocol。你必须依据循证医学证据说话..." |
| **Tone of Voice** | 语气风格 | 专业、客观、循循善诱(不要过于热情,保持学术严谨性) |
| **Global Knowledge** | 全局知识库挂载 | 关联 ekb\_schema (自建知识库),允许检索所有 Guideline 类型文档。 |
| **Memory Structure** | 记忆结构定义 | 定义 ProtocolContext 的 JSON Schema(告诉 AI 它能记住哪些字段,如 PICO)。 |
### **2.2 Level 2: 阶段配置 (Stage Configuration)**
这是 7 个具体模块的配置区。用户处于哪个阶段,Orchestrator 就加载哪份配置**覆盖**进 System Prompt。
| 配置项 | 说明 | 示例值 (以样本量计算为例) |
| :---- | :---- | :---- |
| **Stage ID** | 阶段标识 | SAMPLE\_SIZE\_CALC |
| **Stage Trigger** | 进入条件 (Router) | 当用户 PICO 完整 且 研究类型为 RCT 时。 |
| **Stage Instruction** | **阶段任务指令** | "当前任务是计算样本量。请根据用户提供的 Alpha/Power 参数,推荐合适的计算公式。" |
| **Specific Tools** | 专用工具绑定 | 绑定 tools/st/sample-size (Action Card)。 |
| **Output Schema** | 结构化提取目标 | 定义需要从对话中提取哪些字段存入 DB(如 n\_value, alpha)。 |
### **2.3 Level 3: 逻辑与风控配置 (Logic & Reflexion)**
这是您特别关心的 **“思维链”** 和 **“反思卫士”**。
#### **A. 思维链 (CoT) 配置**
我们不再把思考过程写在 Prompt 文本里,而是配置为 **SOP 步骤列表**。
* **配置方式**:一个有序数组。
* **配置内容**:
1. **Step 1 \[Check\]**: 检查必要参数(Alpha, Power)是否齐全。
2. **Step 2 \[Match\]**: 匹配研究设计(是两样本均数比较,还是率的比较?)。
3. **Step 3 \[Recall\]**: 回忆/检索类似研究的 Effect Size 作为参考。
4. **Step 4 \[Action\]**: 决定是追问用户,还是生成 Action Card。
#### **B. 反思卫士 (Reflexion Guard) 配置**
这是 V3 的核心升级。我们需要配置 **“什么样的情况是错误的”**。
可以分为两类配置:
1. **Prompt-based Reflexion (软校验)**:
* 配置一段 Prompt 让 AI 自查:“请检查用户计算出的 N 值是否过小(\<20)?如果是,请给出伦理预警。”
2. **Rule-based Reflexion (硬校验 \- 高级)**:
* 配置 JSON 规则(后端解析执行):
{
"rules": \[
{ "field": "sample\_size.n", "operator": "\<", "value": 10, "msg": "样本量过小" },
{ "field": "sample\_size.power", "operator": "\<", "value": 0.8, "msg": "效能不足" }
\]
}
## **3\. 系统运行时的组装逻辑**
当用户发来一条消息时,后端 Orchestrator 是这样工作的:
1. **加载全局**:取 Global.BasePrompt。
2. **定位阶段**:根据当前 Context.stage (比如样本量),取 Stage.TaskPrompt。
3. **注入 SOP**:取 Stage.CoT,编译成 XML 格式的思考指令。
* Step 1: \...\
* Step 2: \...\
4. **挂载反思**:取 Stage.Reflexion,如果是 Prompt 类型的反思,追加到最后。
5. **最终合成**:
\[Global Persona\] ...
\[Context Data\] ...
\[Stage Instruction\] ...
\[CoT Steps (SOP)\] ...
\[Reflexion Instructions\] ...
## **4\. 总结:设计建议**
**您现在的思路非常清晰:**
1. **全局控制 (Overall Prompt)** 是必须的,它是 Agent 的“灵魂”,保证了无论在哪个阶段,AI 说话的方式都是一致的。
2. **分阶段配置** 是“肉体”,负责具体的干活技能。
3. **思维链 & 反思** 是“神经系统”,负责控制思考的深度和质量。
下一步建议:
我将在下一个回复中,为您设计 "后端配置中心" 的 UI 原型。
这个原型将不再关注调试对话框,而是关注 "如何像搭积木一样配置上述的三层结构"。
它应该包含:
* **全局设置页**:配置 Agent 人设。
* **流程编排页**:一个左侧导航(7个阶段),右侧配置(Prompt \+ CoT \+ Reflexion)的布局。
* **SOP 编辑器**:专门用来拖拽/编辑思维链步骤的区域。