Skip to main content
计划是需要多个步骤的复杂任务的执行策略。 代理可以通过 session/update 通知与客户端共享计划,提供对其思考和进度的实时可见性。

创建计划

当语言模型创建执行计划时,代理应该向客户端报告:
{
  "jsonrpc": "2.0",
  "method": "session/update",
  "params": {
    "sessionId": "sess_abc123def456",
    "update": {
      "sessionUpdate": "plan",
      "entries": [
        {
          "content": "分析现有代码库结构",
          "priority": "high",
          "status": "pending"
        },
        {
          "content": "识别需要重构的组件",
          "priority": "high",
          "status": "pending"
        },
        {
          "content": "为关键函数创建单元测试",
          "priority": "medium",
          "status": "pending"
        }
      ]
    }
  }
}
entries
PlanEntry[]
required
表示要完成的任务的计划条目数组

计划条目

每个计划条目代表整体执行策略中的特定任务或目标:
content
string
required
此任务旨在完成的内容的人类可读描述
priority
PlanEntryPriority
required
此任务的相对重要性。
  • high
  • medium
  • low
status
PlanEntryStatus
required
此任务的当前执行状态
  • pending
  • in_progress
  • completed

更新计划

随着代理在计划中的进展,它应该通过发送更多具有相同结构的 session/update 通知来报告更新。 代理必须在每次更新中发送所有计划条目的完整列表及其当前状态。客户端必须完全替换当前计划。

动态计划

计划可以在执行期间演变。代理可以在发现新要求或完成任务时添加、删除或修改计划条目,使其能够根据所学内容进行调整。