实用提示:您的代理人不懂得如何等待
《实用笔记》操作指南:您的代理不懂如何等待——适用于采用该模式的团队的合同、支票以及代码插入时机说明。
可将此内容视为《你的代理不会等待》一文中理念面向操作员的优化版本:明确的阶段划分、有序的代码模块,以及能在交接过程中保留的恢复说明。将“概览”阶段视为可量化的基准最为有效,在扩大范围之前,先记录一份最佳操作案例、一个故障实例以及对应的回滚说明。相比冗长的脚本,应优先使用小型且可测试的单元。当某一步骤出现故障时,故障原因应能指向单一责任点,而非复杂的流程链。
{
"name": "operations/abc-123",
"status": "RUNNING",
"done": false
}
等待的隐性成本
对于“阶段的隐性成本”这一环节,在修改代码之前需明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测其中的隐性状态。 应将此阶段视为输入与经过验证的输出之间的契约。为相关成果命名,设定成功检测标准,并拒绝默许的半完成状态。 对于涉及资金支出或修改生产数据的操作,必须经过人工审批。编译时的连接方式并不等同于业务上的完整性。
基准测试设置
在基准测试设置阶段,应在修改代码之前明确输入参数、该步骤的负责人以及终止标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。除了功能测试结果外,还需记录执行时间以及令牌或查询成本。提前了解这些成本可以避免在从演示环境过渡到共享环境时出现意外费用。对于那些会耗费资金或修改生产数据的操作,必须经过人工审批。仅靠编译时的配置并不足以确保业务的完整性。
三种等待模式
在三种等待模式阶段,应在修改代码之前明确输入参数、该步骤的负责人以及退出标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 配置信息应置于应用程序代码之外。环境文件、密钥存储以及功能标志应集中存放于一个位置,以便操作人员无需查看整个系统结构即可进行审核。 对于涉及资金支出或修改生产数据的操作,必须经过人工审批。编译时的连接方式并不等同于业务功能的完整性。
1. get_operation:代理循环内的轮询机制
对于“1 getoperation Polling inside stage”阶段,在修改代码之前需明确输入参数、该步骤的负责人以及终止条件。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 需同时记录正常流程与异常恢复流程。重试机制、人工审核环节以及死信处理都是产品功能的一部分,而非后续需要补充的内容。 对于涉及资金支出或修改生产数据的操作,必须经过人工审批。编译时的连接配置并不等同于业务功能的完整性。
create_instance() → operations/abc-123
get_operation(abc-123) → RUNNING
get_operation(abc-123) → RUNNING
... ×10 ...
get_operation(abc-123) → DONE
2. wait_for_operation:在服务器端阻塞
对于处于阻塞状态的2个等待操作阶段,在修改代码之前需明确输入参数、该步骤的负责人以及退出条件。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。 相比冗长的脚本,更应采用小型且可测试的单元。当某个步骤失败时,故障原因应能指向单一责任点,而非复杂的流程链。 对于涉及资金支出或修改生产数据的操作,必须经过人工审批。编译时的逻辑连接并不等同于业务功能的完整性。
create_instance() → operations/abc-123
wait_for_operation(abc-123) → DONE (one call, eleven minutes later)
3. 任务:将等待逻辑交由执行框架处理
对于需要交付的3项任务,在修改代码之前需明确输入参数、各步骤的负责人以及完成标准。操作人员应能够从已知的检查点重新运行相应步骤,而无需猜测隐藏状态。 应将此阶段视为输入与经过验证的输出之间的契约。为相关成果命名,定义成功判定标准,并拒绝默许的半完成状态。 在网关处进行身份验证,在数据层再次授权。仅凭承载令牌并不足以界定租户边界。
Bash(cmd, run_in_background: true) → task_id: task-8921
... agent configures network rules, audits schemas, writes migration scripts ...
TaskOutput(task-8921, block: true) → done
实际成本是多少:克隆基准测试
在“实际成本”阶段,应在修改代码之前明确输入参数、该步骤的负责人以及结束标准。操作人员应能够从已知的检查点重新运行该步骤,而无需猜测隐藏状态。应在功能结果旁记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。对于会产生支出或修改生产数据的操作,必须经过人工审批。编译时的配置并不等同于业务功能的完整性。
while true; do
st=$(cloud-cli operations list --project=production-db \
--instance=staging-replica --format='value(status)' | head -1)
[ "$st" = "DONE" ] && break
sleep 20
done
API与工具设计者的最佳实践
关于API阶段的最佳实践,在修改代码之前应明确输入参数、该步骤的负责人以及终止标准。操作人员应当能够从已知的检查点重新运行该步骤,而无需猜测其中的隐藏状态。 配置应置于应用程序代码之外。环境文件、密钥存储以及功能标志应集中存放于一个位置,以便操作人员无需查看整个流程即可进行审计。 在网关处进行身份验证,在数据层进行重新授权。仅凭承载令牌并不足以界定租户边界。 关于API阶段的最佳实践,在修改代码之前应明确输入参数、该步骤的负责人以及终止标准。操作人员应当能够从已知的检查点重新运行该步骤,而无需猜测其中的隐藏状态。 相较于庞大的脚本,应优先使用小型且可测试的单元。当某个步骤失败时,故障原因应能明确指向单一责任模块,而非复杂的流程链条。
1. 提供完整的分层等待模型
在完成“提供完整模型”这一阶段时,首先需明确合同条款:所需的输入参数、成功标志以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 将这一阶段视为输入与验证后输出之间的契约。为相关产物命名,定义成功检测标准,并杜绝无声的半完成状态。 缓存稳定的系统指令和工具架构。重复发送相同的开头信息是造成资源浪费的常见原因。
create_instance() → { "operation": "operations/abc-123", "done": false }
get_operation(id) → Tier 1: inspect status, resume after interruption
wait_for_operation(id, timeout_seconds) → Tier 2: the 90% single-instance case
create_instance(async) → Tier 3: durable handle for parallel, fleet-wide work
2. 在JSON正文中包含操作标识符
在处理“包含两个操作标识符”的阶段时,首先需明确约定:所需的输入参数、成功信号以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。 在功能结果旁记录执行时间以及令牌或查询成本。提前了解成本情况,可避免在从演示环境过渡到共享环境时出现意外费用。 在耗时较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次对同一次大型语言模型调用收费。
3. 实现带有结构化部分返回结果的显式超时机制
在完成“实现显式超时”这一阶段时,首先需明确相关规范:所需的输入参数、成功信号以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 应将配置信息与应用程序代码分开存放。环境文件、密钥存储以及功能开关应集中于一个位置,以便操作人员无需查看整个系统结构即可进行审计。 在耗时较高的步骤之后设置检查点。当操作人员重新尝试后续节点时,恢复流程不应再次调用相同的大型语言模型接口。 在完成“实现显式超时”这一阶段时,首先需明确相关规范:所需的输入参数、成功信号以及部分失败时的处理方式。这样的清单能确保后续的代码修改保持一致性。 相较于庞大的脚本,更应优先使用小型且易于测试的单元。当某个步骤失败时,故障原因应能明确指向某个具体的功能模块,而非整个复杂的处理流程。
{
"done": false,
"operation": "operations/abc-123",
"elapsed_seconds": 300,
"status": "RUNNING",
"metadata": { "percent_complete": 65 }
}
4. 针对任务执行与异步处理的架构设计
在“任务设计”阶段,若将其视为可度量的指标,则效果最佳。在扩大范围之前,需记录一份理想的执行案例、一个故障场景以及回滚说明。 应将此阶段视为输入与已验证输出之间的契约。为相关成果命名,明确成功标准,杜绝默许的不完整完成。 需提供具有严格结构定义且带有明确副作用标注的工具。主机在自动批准之前必须清楚哪些调用会改变系统状态。
5. 统计你的结构定义数量
在将“5个计数器与架构设计”阶段视为可度量的指标时,其效果最佳。在扩大范围之前,先记录一份理想的测试用例、一个故障案例以及回滚说明。在功能结果旁同时记录执行时间以及令牌或查询成本。提前了解这些成本,就能避免在从演示环境过渡到共享环境时出现意外费用。要保持图结构的层次简单且类型明确,嵌套的数据块会掩盖哪个节点修改了哪个字段的信息,还会在进程中断后导致无法继续执行。
总结
将“底线阶段”视为可度量的界面来使用效果最佳。在扩大范围之前,先记录一份完美的操作日志、一个故障案例以及回滚说明。 将配置置于应用程序代码之外。环境文件、密钥存储和功能标志应集中存放于一个位置,以便操作人员无需查看整个流程图即可进行审计。 保持流程图状态简洁且具有类型约束。嵌套的数据块会掩盖哪个节点修改了哪个字段的信息,还会导致中断后无法继续执行。 将“底线阶段”视为可度量的界面来使用效果最佳。在扩大范围之前,先记录一份完美的操作日志、一个故障案例以及回滚说明。 优先选择小型且可测试的单元,而非庞大的脚本。当某个步骤出现故障时,故障应指向单一的责任模块,而非复杂的流程链。
操作检查清单
在处理操作检查清单阶段时,首先写下合同细节:所需输入、成功信号以及部分失败时的处理方式。这样的检查清单能确保后续的代码修改保持一致性。
同时记录正常流程和恢复流程。重试机制、人工审核环节以及错误处理都是产品本身的组成部分,而非后续的完善工作。
在成本较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次计费相同的LLM调用费用。
锁定依赖版本的编号,并记录用于演示的镜像摘要。可重复性比经验知识更为重要。
优先选择小型、可测试的单元,而非庞大的脚本。当某个步骤失败时,故障应能指向单一责任点,而非复杂的流程链。
在成本较高的步骤之后设置检查点。当操作员重新尝试后续节点时,恢复流程不应再次计费相同的LLM调用费用。
在推广该技术栈之前,应先冻结版本,为关键流程记录标准输出日志,并明确回滚步骤。共享环境需要设置速率限制、租户验证机制,以及负责密钥轮换的明确责任人。与其展示花哨的一次性演示,不如注重扎实的可靠性。
关于0da12132cabc的批注:请将提供商密钥移出代码仓库,设定单会话令牌上限,并将日志存储在评估用示例文件旁,以便后续模型更换时保持数据可比性。