在 API 上构建智能体
智能体(agent) 是一个运行在循环中的模型:它通过调用 工具、观察结果并决定下一步来追求目标,直到完成。在构建它之前,先选择 能解决问题的最简单方案。
决策测试(不要过度构建)
- 单次调用 — 一个提示词就能解决。适用于大多数任务。最便宜、最可靠。
- 工作流 — 你在代码中编排一系列固定的调用(确定性的控制流)。当步骤已知时使用。
- 智能体 — 由模型动态决定步骤。仅当路径确实无法硬编码时才使用。
当 自适应 本身就是目的时才动用智能体——而不是因为它听起来很厉害。你能掌控的工作流更易于测试和调试。
设计循环
一个最简的自定义智能体:
- 系统提示词:目标、约束以及可用的工具。
- 循环:发送消息 → 如果出现
tool_use,运行该工具,追加tool_result,重复 → 直到得出最终答案或满足停止条件。 - 护栏:最大迭代次数上限、token/成本预算,以及对工具输入的校验。
- 上下文管理:随着历史增长进行摘要/裁剪(与 上下文管理 同理)。
Claude Agent SDK 为你提供了这个循环——工具、权限、上下文处理一应俱全,无需你自己手写。
让它更健壮
- 为一切设定上限:迭代次数、时间、成本。智能体可能陷入循环。
- 优雅地处理工具失败(将错误作为结果返回)。
- 最小权限 + 人在回路 应对高风险操作——参见 保护智能体安全。
- 在信任它之前,先在真实案例上 评估 它——参见 评测。