5.6 KiB
5.6 KiB
PMFlow 三引擎统一方案(v2)
1. 目标
- 用 3 个引擎达到“质量/成本/稳定性”平衡。
- 飞书与内置 AI 管家使用同一智能链路,避免 IQ 不一致。
- 所有系统操作(不止创建需求)由 AI 覆盖,但写库/副作用必须可控可审计。
- 消除多控制面冲突(PMFlow 配一套、OpenClaw 配一套、规则文件又一套)。
2. 先把名词说清楚
当前不是“3 个 agent”,而是:
- 2 个 agent
- PMFlow Orchestrator Agent:流程编排与执行(唯一执行入口)。
- OpenClaw Reasoning Agent:模型网关与推理。
- 3 个引擎(模型层)
- Engine-L(Low):低成本/低延迟,处理执行态与轻分类。
- Engine-H(High):高推理,处理复杂问答/规划。
- Engine-S(Safety):兜底引擎,处理故障与降级。
3. 单一控制面原则(必须)
只保留一个“模型真相源(Source of Truth)”:
- 推荐:OpenClaw 作为唯一模型控制面(模型、fallback、配额、可用性)。
- PMFlow 只做函数路由和执行状态机,不再直连多个云厂商。
结论:PMFlow 不再同时保存 GLM/OpenAI/DeepSeek 直连 key 参与主路由; PMFlow 统一走 OpenClaw 网关。
4. 三引擎职责分配(推荐)
- Engine-L:
zai/glm-4-flash- 场景:执行态分类、信号抽取、简短回执、轻量意图识别。
- Engine-H:
openai-compatible/GLM-5- 场景:复杂问答、多约束规划、任务编排、项目方案生成。
- Engine-S:
deepseek/deepseek-chat(或你可用的稳定备份模型)- 场景:H 不可用/超时/限流后的稳定兜底。
5. 路由矩阵(按 function_name)
5.1 走 Engine-L
feishu_level_classificationfeishu_signal_extractionrag_intent_classificationclassify_intentfeishu_humanized_reply(仅咨询态;执行态优先模板)
5.2 走 Engine-H
adaptive_rag_answerfeishu_project_prefillfeishu_task_orchestrationgenerate_task_breakdowngenerate_charter_from_signaldecompose_tasks_from_charterrecommend_assignees_for_taskevaluate_model_requirementcalculate_alignment_scoredetect_cognitive_conflictsrag_db_project_semantic_retrievalworkload_optimize_promptanalyze_cost_roi
5.3 走 Engine-S(故障兜底)
- 触发条件:
Engine-L/H超时、5xx、限流、空响应、无效结构化输出。 - 行为:单次兜底重试 + 记录
routing_decision=fallback_safety_engine。
6. “低阶答不上来 -> 高阶接管”硬规则
已建议启用:
- 对低阶函数结果做“不可答”检测(如“信息不足/无法回答/不知道”)。
- 命中后自动升级到 High-tier 再请求 1 次。
- 若 High-tier 也失败,最后走 Safety-tier。
优先级链:
Engine-L -> Engine-H -> Engine-S -> 固定降级模板
7. 飞书与内置 AI 管家一致性
两入口统一走同一条链路:
RECEIVED -> CLASSIFIED -> ROUTED -> COMMITTED -> REPLIED- 执行态:禁自由文本,固定模板。
- 咨询态:允许文本回答,但同样走统一路由与审计。
这样飞书和内置管家不会再出现“一个聪明一个笨”的模型漂移。
8. 全功能 AI 操作覆盖(不止建需求)
建立 Operation Catalog,每个操作都必须有:
operation_codeinput_schema(Pydantic strict)rbac_policyidempotency_keyaudit_fieldsside_effect_guard
覆盖范围:
- 项目:create/update/archive/reopen
- 任务:create/update/assign/prioritize/status_transition/delete
- 人员:role/workload/availability
- 知识库:doc/chunk/link/reindex
- 通知:create/ack/close
- 文件:白名单路径写入(禁止任意路径)
注意:LLM 只产出结构化意图;真正写库必须由 Tool 层执行。
9. 推荐配置模板
9.1 PMFlow .env(统一走 OpenClaw)
LLM_PROVIDER=openai
OPENAI_BASE_URL=http://openclaw:18789/v1
OPENAI_API_KEY=<OPENCLAW_GATEWAY_TOKEN>
OPENCLAW_ROUTING_ENABLED=true
OPENCLAW_ROUTING_RULES_PATH=/app/backend/.openclaw/pmflow-routing-rules.json
LLM_MIXED_ROUTING_ENABLED=false
LLM_LOW_TO_HIGH_ESCALATION_ENABLED=true
9.2 OpenClaw Agent(main)
- Primary model:
zai/glm-4-flash(Engine-L) - Fallbacks:
openai-compatible/GLM-5,deepseek/deepseek-chat
如果你要严格“低->高->安全”,可在 OpenClaw 路由中按函数直接指定模型,fallback 只做同层灾备。
9.3 PMFlow 路由规则(关键)
- 同一文件统一管理:
backend/.openclaw/pmflow-routing-rules.json - 生产发布必须过 lint + replay gate。
10. 安全边界(必须守)
- 执行态不允许自由文本动作建议驱动写库。
- 所有写操作必须经过 schema 校验;失败直接模板降级,不猜测。
- 事务与副作用解耦:先 commit,再 outbox 回复。
- 每条请求全链路 trace:可追溯“模型选择 -> 操作执行 -> 回执结果”。
11. 落地步骤(按优先级)
- 统一控制面:PMFlow 改为只调用 OpenClaw 网关。
- 清理直连模型 key 的主路径,仅保留应急开关。
- 完整补齐 function_name 路由矩阵(L/H/S)。
- 启用低阶失败自动升级高阶(已具备,可保持开启)。
- 扩展 Operation Catalog 覆盖全系统操作。
- 回放测试扩展到“多操作写库场景”。
12. 验收标准
- 飞书与内置管家:同问题同输入,模型决策一致(允许渠道文案差异,不允许能力差异)。
- 执行态回复无“教程/curl”污染。
- 回放集通过率 100%,且
DB + route_status + reply_text一致。 - 任一引擎故障时,系统可自动降级不中断主流程。