跳转到内容

Assistant API 风格

1. Assistant API 风格:从动作到资源的进化

Section titled “1. Assistant API 风格:从动作到资源的进化”

Assistant API 风格是一种面向 Agent 时代 的接口设计模式。它打破了传统无状态请求/响应模型,将智能体的构建与运行抽象为对持久化资源的管理。这种模式特别适合 LangGraph 等需要维护复杂状态与多步异步逻辑的框架。

与传统 API 围绕具体动作(如 /summarize)设计不同,Assistant API 风格围绕四大核心资源构建:

资源名称核心作用技术映射 (以 LangGraph 为例)
Assistant (助理)配置蓝图:定义身份、指令、模型及挂载的工具集。编译后的 Graph 对象及其持久化配置。
Thread (线程)持久化会话:代表独立的工作区,承载所有上下文。thread_id,状态持久化的唯一索引。
Message (消息)状态存储:会话中的输入输出记录。MessagesStateState 中的消息列表。
Run (运行)执行流:代表 Agent 在特定 Thread 上的完整生命周期。graph.invoke() 的异步执行实例。

3.1. 资源中心化设计 (Resource-Centric)

Section titled “3.1. 资源中心化设计 (Resource-Centric)”

API 交互逻辑从“调用函数”转变为“操作对象”。例如,通过 POST /threads 创建会话,通过 POST /threads/{id}/messages 提交任务。这种 RESTful 的资源管理方式使得 Agent 的生命周期管理更加直观。

3.2. 原生状态持久化 (Stateful Conversation)

Section titled “3.2. 原生状态持久化 (Stateful Conversation)”

这是该风格与传统 Chat Completions API 的本质区别:

  • 上下文自动管理:服务端自动处理历史消息挂载与 Token 窗口管理,开发者无需手动维护上下文缓存。
  • 状态一致性:利用 Checkpointer 机制,确保 Agent 在多轮对话中能够精准回溯历史状态。

3.3. 长流程异步控制 (Long-Running Runs)

Section titled “3.3. 长流程异步控制 (Long-Running Runs)”

由于 Agent 执行往往涉及多步搜索或工具调用,该风格原生支持异步执行模式:

  • Run 状态机:通过轮询 Run 对象的状态(如 queued, in_progress, requires_action),客户端可以精准把控 Agent 的执行进度。
  • 暂停与恢复:允许流程在需要人工干预(Human-in-the-loop)或等待工具结果时挂起,并在条件满足后恢复执行。

3.4. 统一的工具交互协议 (Unified Tool Calling)

Section titled “3.4. 统一的工具交互协议 (Unified Tool Calling)”

提供标准化的“调用-反馈”循环:

  1. Agent 决策使用工具,Run 进入 requires_action 状态。
  2. 客户端获取工具参数并执行本地/远程逻辑。
  3. 客户端提交 tool_outputs,Agent 流程继续推进。

业务逻辑(Assistant 配置)交互状态(Thread 内容) 分离。开发者可以针对同一 Assistant 开启无数个 Thread,或在同一 Thread 上切换不同的 Assistant 配置进行协作。


Assistant API 风格通过将状态管理、上下文维护及复杂异步编排的重担从客户端转移至 API 服务端,极大地降低了构建可靠 AI 应用的门槛。它不仅是一种 API 规范,更是 Agent 协作时代的软件基础设施。