P263 · 任务流程

区分 Agent 定义版本与运行实例

Separate definition versions from runs

复用有版本的定义,但每次执行使用独立的运行 ID。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

服务要用同一套已审 Agent 配置运行两个作业。教学宿主确实支持不可变定义版本:agent-a v3;每次执行有独立 run id,运行可指定版本。使用 latest 或每次重建无记录定义,会让事后无法说明实际配置。

具体做法

设置阶段保存定义身份与版本,运行阶段分别创建 r1/r2 并明确指向 agent-a v3。运行特有输入和允许覆盖另行记录,不悄悄改共享定义。更新定义产生 v4 后,旧运行仍按其绑定处理,新运行选择 v3/v4并记录。核对真实宿主是否提供这些版本语义。

反例

每个作业创建一个无追踪新定义,运行只写 latest;更新后也不记录哪个版本或覆盖实际被使用。

改进写法

按教学宿主版本契约保存 agent-a v3。启动 r1/r2 时各有独立运行身份,明确引用 v3并记录任务输入与运行覆盖。更新产生 v4时,不改写旧运行的 v3关联;新运行显式选择并记录版本。若宿主不支持绑定,不声称固定有效,而是记录实际配置快照与能力缺口。

为什么这样改

定义表达可复用配置,运行表达一次执行。把两种身份分开,配置演进不会把所有历史作业都变成“现在的 latest”,也使针对一次运行的差异可追溯。

如何验证

示意记录 r1/r2→agent-a v3,新 r3→v4;覆盖字段与共享定义分列。检查定义修改与运行状态互不混淆,旧记录未被最新值覆盖。

版本字段存在不证明宿主按它执行,需对应的实际读取或运行配置证据。本篇未创建真实 Agent。

适用边界

固定定义不冻结工具、凭据、外部数据或环境。冻结来源的具体端点与 CLI 是实例,不是当前全部平台的契约;先核实真正支持的版本与覆盖规则。

原文与版本

如何收录这些方法