1 为什么交互策略(Policy)不能像领域技能(Capability)一样编写为skill?

  • Token资源严重浪费
    • Schema与元数据常驻:每个注册的技能都需要向Agent暴露名称、描述和调用参数。一个只做“问问题”的通用技能,会浪费模型上下文。
    • 多轮上下文冗余传递:技能之间的调用需要传递上下文状态,会产生多余的序列化和解析消耗。
  • 增加推理步数和交互延迟(Latency)
    • 模型在技能之间的调用会在多轮对话内完成,技能之间多一次同步调用就会多一轮对话。
  • 上下文割裂和问答质量下降
    • 脱离上一个技能调用下一个技能后,传递的上下文状态有损失,会导致问答质量下降。

1.1 解决方案:

方案使用场景优势
作为“前置槽位校验”内联到SKILL.md规则简短,与当前技能特定参数/边界直接相关零额外加载成本,模型响应迅速,强领域相关
作为reference引用流程极度复杂保持主技能精简,按需加载,节省token

前置槽位校验示例:

markdown
## Execution Steps
 
1. **Prerequisite Check**:
   - Check if required parameters (`target_env`, `service_name`) are explicitly provided.
   - If ANY required parameter is missing or ambiguous, **STOP execution immediately**.
   - Ask the user a targeted, numbered question with default suggestions (e.g., "Which environment: 1) Staging (default), 2) Production?").
   - Do NOT proceed to Step 2 until the user confirms.
 
2. **Run Task**:
   ...