SuperAPI AI 工具集

using-decision-tree

智能体与模型

查看项目

更新于 10-30 05:59

技能介绍

using-decision-tree 是 ohyeh/agent-scripts 仓库中的一个技能路由脚本,其定位是:在执行某项任务之前,先确定应由哪个技能或配方负责,以及按什么顺序执行。它特别建议在手动执行内核路由索引未明确命名的任务(例如 PDF 读取或填写、测试计划等)之前调用它。

用途与结构:该文件本身只是整棵决策树的“主干”,不列出任何具体成员,也不提出领域问题。领域问题和唯一的成员名单都存放在 references/ 下的分支文件中。新增一个领域时,只需增加一个分支文件并添加一行索引,主干文件无需改动。

使用方式(按原文步骤):

  1. 若内核路由索引为此触发指定的技能不是 using-decision-tree,则打开该技能并在此停止,内核路由优先。
  2. 读取 references/index.md,选择 when 与任务相符的行;若没有匹配行,则遵循 references/map.md 的 §Nothing fits。
  3. 读取对应的分支文件,自上而下回答其中的问题;成员名称只能取自该分支的成员表,并引用所使用的行 id。
  4. 将选中的成员实时绑定:jq -r '.skills|keys[]' ~/.agents/.skill-lock.json 是已安装名单,需与本轮的技能列表交叉核对;已安装但未列出即本轮不可调用;带有 disable-model-invocation: true(见其 SKILL.md 前 8 行)的成员以内联方式阅读;缺失的成员须在计划中说明,并指出替代者或跳过的角色,不得静默替换。
  5. 读取所选成员的 SKILL.md,然后执行该分支的契约;任务进行中不再返回主干。
  6. 被指派单一任务的 worker 不进入此树,其任务简报已绑定成员。

变更规则:每个成员行带有 class:owner(涉及偏好、成本或所有者裁定,需所有者批准具体 diff 才能更改)或 mechanical(即“仍然胜任此工作的已安装技能”;当其复核事实为真并有引用依据时,例如 jq 显示该成员已从锁文件中消失,agent 可在 advisor 与 sol 就同一具体 diff 达成一致后移除或标记该行,然后上报)。命名新成员永远不属于 mechanical,而是 owner 行。主干、索引以及分支的问题或契约仅在所有者批准时变更;应编辑仓库源码,而非已安装副本。

适用场景:需要为任务选择技能/配方并确定执行顺序的 agent 工作流程。限制:具体成员名单与领域问题未在本资料中提供,需查阅 references 下的分支文件;本文档明确主干不包含这些信息。