AI Agent(八):部署与运行

AI Agent / 工程实践 / 幂等 / 可观测性2026.10.099 分钟阅读

Agent 服务的任务存储、幂等提交、故障恢复、监控与发布。

服务分层与任务生命周期

生产 Agent 可以拆分为请求入口、任务存储、调度执行器、模型适配器和工具网关。请求入口完成身份验证并创建任务;任务存储保存目标与状态;执行器推进循环;模型适配器处理供应商协议;工具网关实施参数、权限和调用策略。规模较小时,这些职责可以位于同一进程。

用户请求经身份验证进入任务存储与队列;执行器读取任务状态,调用模型适配器与工具网关;网关连接订单、物流和政策服务,执行结果写回任务记录。
图 1 Agent 运行架构

生命周期可以包含 queued、running、waiting_input、waiting_approval、completed、failed 和 canceled。调度器按状态推进任务:等待审批时挂起,完成后忽略重复投递的消息。每次状态转换记录原因和版本。

后台任务独立于浏览器连接运行。客户端重新连接后,按任务 ID 读取已保存进度。取消任务使用单独的接口,分别处理尚未开始、正在执行和已经提交的动作。

工具网关从可信任务上下文注入身份,检查工具允许范围,限制结果体量,并关联模型调用与业务操作。模型适配器负责协议转换,订单访问统一经过网关。

超时、重试与幂等

超时表示调用方尚未取得结果。订单查询可以在预算内重试;调查单创建和退款提交超时后,先按操作 ID 查询业务状态,再决定是否重试。

第一次提交前分配业务操作 ID,重试时保持不变。幂等存储记录租户、操作类型、请求摘要、状态和结果。相同键对应不同参数时报冲突;同一操作的记录和业务变更一起提交。

CREATE TABLE agent_operation (
  tenant_id TEXT NOT NULL,
  operation_id TEXT NOT NULL,
  request_hash TEXT NOT NULL,
  status TEXT NOT NULL CHECK (status IN (
    'pending', 'succeeded', 'failed', 'unknown')),
  result_json TEXT,
  PRIMARY KEY (tenant_id, operation_id)
);

这张 SQLite 兼容表保存操作记录,并约束唯一键和状态。同一数据库中的变更放在事务内;跨系统写入由下游接受幂等键,或支持按操作 ID 查询结果。远程成功、本地仍为 pending 时,通过查询补齐本地状态。

退避策略包含最大尝试次数、截止时间和随机抖动,分散服务恢复时的请求。参数错误交回调用者修正,授权拒绝结束调用,结果未知的写操作进入核查流程。任务成本包含重试的消耗。

长任务、检查点与人工接管

长任务通过租约分配给工作进程,执行期间定期续期,过期后由其他进程接手。每次接手递增执行版本,关键写入检查版本,拒绝旧进程的提交。

检查点保存已确认的进度,操作记录保存外部写入的状态。恢复时先核查未确认操作,再推进新动作。重规划沿用已完成事实和用户约束。

人工接管时,将目标、已确认结果、未解决问题、证据和待处理操作整理给客服。客服作出修正后,将修正保存为带来源的状态变更,防止旧的自动执行器覆盖。

Anthropic 关于长运行 Agent 的工程资料采用初始化、进度记录和验证来支持跨上下文执行。订单系统可以持久化任务清单与证据引用,恢复后核验当前业务状态和授权。

恢复后先核对工具和政策版本。依赖已撤销工具或过期政策的步骤,重新规划只读调查或转入人工核查。

可观测性与成本管理

一条完整轨迹需要关联用户请求、任务、模型调用、工具调用和业务操作。可以使用 run_id 贯穿任务、call_id 关联模型工具往返、operation_id 关联业务提交。

日志记录时间、工具名、参数摘要、错误分类、重试次数、模型配置和 token 用量。敏感字段应在采集阶段脱敏,原始证据按权限存储,日志中保留引用。

成本分为单次推理、单任务和全局并发三个层次。为任务设置调用预算,为租户设置配额,通过队列背压和下游限流控制总负载。等待外部事件期间挂起任务,事件到达后再唤醒。

缓存用于复用稳定政策与工具元数据,按身份、订单版本和时效设置缓存键及失效规则。缓存中的写动作再次执行时,重新经过授权与幂等检查。

发布、回滚与运行验收

发布版本包含模型配置、提示词、工具契约、权限策略和运行时代码。先验证离线任务集,再用影子模式读取授权范围内的真实输入、记录拟执行动作,最后逐步扩大真实流量。

回滚时按版本查找并处理受影响的业务操作。例如新版错误创建的调查单,需要在切回旧版后另行处理。必要时暂停写工具,保留只读查询和人工处理。

验证阶段重点可观察结果
离线回归输入、权限和业务状态既有合法案例通过,禁止操作被拒绝
影子运行真实输入与服务响应差异无写入,记录拟执行动作
小流量发布成功率、尾延迟和费用变化可按版本比较
故障演练响应丢失、崩溃和权限撤销恢复不重复,未知状态可核查
持续运行漂移与异常积累可暂停、定位、回滚与人工接管

最小落地范围可以限定为只读订单调查:核对身份,查询订单与物流,检索政策,返回证据和未知事项。等这条路径的错误可定位、预算可控制、评测可重复后,再引入调查单创建等写能力。扩展写能力时,补上权限、幂等和恢复用例。

验收时模拟模型供应商不可用、日志系统故障和下游限流。供应商不可用时保留任务,稍后继续;关键变更的审计记录持久化成功后,再提交业务操作。

— 本页完 —
← 返回文章列表

搜索内容

输入关键词搜索文章、笔记与随笔。