Agent 技能调度规范 V2.0:从定性选技能升级为定量状态机路由

Agent技能调度从定性升级为定量——结构化路由+DAG状态机+三级降级SOP+ContextBucket记忆闭环。直接可执行的技能元数据Schema、六步调度流程、四类触发规则、系统级Prompt范本。8187个技能可套用标准化

✍️ 37Agent·

Agent 技能调度规范 V2.0:从定性选技能升级为定量状态机路由

大多数 Agent 团队做技能调度,还停留在第一步:写一段 Prompt 告诉 Agent "遇到编码需求就用代码技能,遇到文档需求就用文档技能"。

这种定性描述在 Demo 阶段够用,一到量产就全部垮掉:

  • LLM 理解歧义导致选错技能
  • 参数缺失硬着头皮执行 → 产物不可用
  • 技能链没有状态机控制 → 前置没完成就越级调用
  • 失败没有降级策略 → 直接报错卡死
  • 每次选型没有记忆 → 同样的错误反复犯

今天这篇把 Agent 技能调度从定性升级为定量:结构化路由 + DAG状态机 + 三级降级 + ContextBucket 记忆闭环。

一、V1→V2:四个关键升级

维度 V1(定性) V2(定量)
触发条件 仅 NL 描述 NL + logic 伪代码双轨
参数约束 列出 required required + auto_fill(自动从记忆库补齐)
状态控制 线性流程 DAG 有向无环图 + 前置依赖锁死
产物校验 effectiveness_check 规则
降级机制 L1→L2→L3 三级 SOP
记忆闭环 DecisionMemory Schema + 自优化

二、技能元数据标准化

把每个技能从"自然语言描述"升级为 "NL可读 + 结构化可执行" 的双轨模式:

skillId + sceneTags/excludeTags
  + triggerCondition(nl描述 + logic伪代码)
  + inputConstraint(required参数 + auto_fill自动补齐源)
  + priority 优先级
  + dependentSkill 前置依赖链
  + fallbackSkill 降级技能
  + timeout 超时阈值
  + effectiveness_check 产物校验规则

关键设计

  • excludeTags 一票否决:命中排除标签直接剔除,防误触
  • auto_fill 减少反问:参数优先从 ContextBucket 记忆库自动补齐
  • effectiveness_check 保质量:输出文件存在 + lint通过,不通过则触发降级

三、四类触发规则

触发类型 机制 防误触规则
意图触发 Prompt Intent ∩ sceneTags excludeTags 一票否决
上下文触发 ContextBucket 检索历史 task_similarity > 0.85 复用技能链
产物约束触发 输出路径/格式决定技能 /src/→编码, .xlsx→数据分析
前置依赖触发 DAG 链式驱动 dependentSkill 未 Success → 后置锁死

四、6步状态机调度

[感知] → [召回] → [过滤] → [排序] → [校验填充] → [执行校验] → [沉淀]

排序公式: Score = w1 × priority + w2 × sceneTag_hit_rate + w3 × history_hit_weight

参数填充优先级

  1. 用户 Prompt 显式指定
  2. ContextBucket auto_fill 自动补齐
  3. 仍缺失 → 挂起任务、反问用户

五、三级降级 SOP

级别 触发 动作
L1 技能执行失败 + fallbackSkill 存在 降级执行 fallbackSkill
L2 无匹配技能 或 L1 降级失败 global_fallback 通用问答
L3 连续 2 次 L2 降级 暂停任务 → 推送工单给人工

六、ContextBucket 记忆闭环

{
  "decision_id": "d_9827",
  "task_fingerprint": "hash(重构登录接口 + Java + Spring)",
  "selected_skill": "code_write",
  "selection_reason": "命中sceneTag[接口重构],上下文补齐tech_stack=Java",
  "execution_status": "Success",
  "user_feedback": "Accepted"
}

自优化机制

  • ✅ Accepted 记录 → 下次检索时提权
  • ❌ Rejected 记录 → 提取特征加入动态 excludeTags
  • 🔧 人工看板 → 修正数据 → Golden Dataset → Prompt 微调

七、研发 Agent 实操推演

场景:用户输入「帮我写个用户登录接口」

步骤 动作 结果
感知 Intent=coding, Entity=登录接口 召回 code_write, doc_write
过滤 doc_write 命中 excludeTags[代码编写] 剔除
排序 code_write 命中 sceneTags[接口开发] Score 最高
校验 tech_stack 缺 → auto_fill 检索 ContextBucket Java/Spring 自动填入
执行 生成 LoginController.java
沉淀 写入 DecisionMemory 下次同类任务直接命中

八、Agent System Prompt 六条铁律

1. 选前必查:检索 ContextBucket 技能元数据,禁止凭空捏造
2. 红线规则:命中 excludeTags 不可调用;参数不满足禁止强行调用
3. 链式依赖:dependentSkill 未完成不可越级
4. 降级优先:失败→fallbackSkill→通用问答→致歉说明
5. 记忆沉淀:任务结束必须 JSON 写入 ContextBucket
6. 冲突遵从:用户当前指令 > 历史记忆,并更新记忆

九、对 37Agent 体系的直接价值

37Agent 现状 V2 规范加持后
8187 个技能纯文件存储 全部套用 V2 Schema 标准化
总控杰克荣耀手动选人派发 自动状态机路由 + 人工兜底
无形式化降级策略 L1→L2→L3 三级降级
记忆靠 MEMORY.md 文件 Gitea DecisionMemory Schema
9 大主管各自维护规则 统一 sceneTags/excludeTags 冲突消解

一句话:这套 V2 方案让 Agent 从「被告诉怎么选」升级为「自己能判断、能校验、能降级、能学习」,是 37Agent 技能体系工程化的核心基础设施。


版权所有:长沙市易云星科数字科技有限公司原创,转载需说明出处,谢谢。 关注我长沙易云星科微信号 CSYYXK

想要实现类似的获客效果?

37Agent为企业提供AI获客全链路解决方案

🏢 关于我们

长沙市易云星科数字科技有限公司

📍 湖南省长沙市雨花区湘府中路80号复地星光天地5栋27060

📞 18925061881 · 📧 19293468@qq.com

🌐 www.37jt.cn

12年深耕 · 20+头部客户 · 多项发明专利