用 Agents API 构建可长期运行、会调用工具的云端智能体

2026-09-10 20 预计阅读时间: 1 分钟
来源: openai.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:7 分钟

云端智能体正在从“一次请求、一次回答”转向更长的执行过程:它需要规划任务、调用工具、保存上下文,并在稍后继续运行。Agents API 面向的正是这类场景:通过托管服务和 Codex harness,统一处理编排、长时间会话与工具使用。

从聊天接口到任务执行器

普通聊天接口通常围绕一个同步请求设计:发送提示词,等待文本结果。实际工程任务却可能包含多个步骤,例如读取代码、运行检查、修改文件,再汇总结果。每一步都可能耗时,也可能需要不同工具。

Agents API 的价值不只是增加一个“agent”名称,而是把这些运行时问题放进托管执行模型中:

  • 编排:决定任务如何拆解,以及工具调用如何串联。
  • 长时间会话:让任务不必被限制在一次短请求的生命周期内。
  • 工具使用:让智能体能够接入搜索、代码执行或业务系统等外部能力。

这意味着应用层可以更多关注任务边界、权限和结果格式,而不是自己维护一套脆弱的循环:调用模型、解析工具请求、执行工具、拼接上下文,再重复调用。

一个最小的调用骨架

下面的示例使用假设性的 HTTP 路径和字段,展示接入时应保留的核心结构。实际项目中请以你所使用的 Agents API 版本文档为准,替换 endpoint、认证方式和模型名称。

运行前设置环境变量:export AGENTS_API_KEY='your-key'

curl -X POST "https://api.example.com/v1/agents/runs" \
  -H "Authorization: Bearer $AGENTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "code-reviewer",
    "session_id": "repo-review-2025-01",
    "input": "检查当前仓库中未处理的安全问题,并按严重程度输出报告。",
    "tools": [
      {"type": "repository", "name": "read_files"},
      {"type": "shell", "name": "run_tests", "timeout_seconds": 120}
    ],
    "output_format": "markdown"
  }'

这个请求体现了三个重要设计点:session_id 用于关联长会话,tools 明确声明智能体可以使用的能力,output_format 则把下游消费需要的格式提前固定下来。若真实 API 使用不同字段,保留这些设计意图即可。

长会话不是无限权限

长时间运行会放大错误和权限问题。一个卡住的任务可能持续占用资源;一个权限过宽的工具则可能让错误决策造成更大影响。因此,接入时建议把会话管理和安全边界一起设计:

  1. 设置超时和预算:为单次运行限定最长时间、最大工具调用次数或计算预算。
  2. 工具最小化授权:只暴露完成任务所需的命令、目录和 API 操作。
  3. 区分会话状态与业务数据:会话用于连续推理,订单、用户权限等关键事实仍应从可信业务系统读取。
  4. 记录每一步事件:保存提示词版本、工具调用、参数、结果和失败原因,方便审计与重放。
  5. 处理重复执行:工具调用应尽量幂等;对于付款、删除和发布等动作,增加审批或幂等键。

尤其不要把“会话持续存在”误解为“模型永远记得一切”。工程上仍需要明确状态的来源、保留时间和恢复策略。

适合先落地的任务

Agents API 更适合有清晰输入、可验证结果和有限工具面的任务,而不是一开始就做一个无边界的通用助手。可以从以下类型开始:

  • 自动分析构建失败,并给出可复现的修复建议;
  • 对代码变更运行测试和静态检查,再生成审查报告;
  • 汇总多个内部系统的数据,输出固定格式的运营报告;
  • 持续处理一个需要多轮工具调用的研究或排障任务。

上线前可以使用这份检查清单:

  • 是否定义了成功、失败和需要人工接管的状态?
  • 工具是否有清晰的输入校验、权限和超时?
  • 长会话中断后能否恢复,而不是从头执行副作用操作?
  • 是否能查看完整的事件链和成本指标?
  • 是否用一组真实任务评估了准确率、耗时、工具失败率和人工介入率?

结语:先把智能体当作受控的工作流

Agents API 的核心变化,是把智能体从一次性文本生成提升为可持续运行的任务执行单元。托管编排、长时间会话和工具使用可以减少基础设施工作,但不会替应用承担任务定义、安全治理和结果验收。

较稳妥的路径是从一个低风险、可验证的内部任务开始:限制工具面,设置时间与预算上限,记录完整执行轨迹,再逐步扩大会话复杂度和自动化权限。这样,智能体才会从演示中的“会回答”,变成生产系统中“能完成工作”。


相关推荐