
Claude Code Agent SDK 为你提供了一个可编程的智能体循环。这是好消息。
更重要的消息是,它没有提供什么。
它不会给你的智能体补上大多数生产工作流真正需要的那层现实世界能力:实时搜索、图像生成、视频生成、产物存储和发布。SDK 提供的是 Shell 和编排层。如果你想要一个更强的智能体,背后仍然需要对应的运行时。
这个区别很重要,因为很多 SDK 指南都停留在“如何启动一个智能体”。而生产团队真正关心的下一个问题是:这个智能体到底能不能把事情做完?
这篇指南会把两面都讲清楚:Claude Code Agent SDK 擅长什么,以及当你需要智能体做的不只是读文件和跑 bash 时,AnyCap 这样的能力运行时该放在什么位置。
什么是 Claude Code Agent SDK?
Claude Code Agent SDK 是 Anthropic 的 Python 和 TypeScript 工具包,用于把 Claude Code 风格的智能体行为嵌入到你自己的应用中。
你可以这样理解:
- Claude 模型 = 推理
- Agent SDK = 可编程的智能体循环
- 能力运行时 = 媒体、搜索、存储和发布所缺失的执行层
SDK 负责你原本需要自己搭建的核心编排工作:
- 规划与迭代执行
- 文件访问与编辑
- Shell 执行
- 工具调用
- MCP 集成
- 子智能体模式
这已经替代了大量自定义胶水代码。但它依然只是生产栈中的一部分。
它与原始 Claude API 有什么不同
| 功能 | Claude API | Claude Code Agent SDK |
|---|---|---|
| 智能体循环 | 需要自己构建 | 内置 |
| 文件访问 | 无 | 包含 |
| Shell 执行 | 无 | 包含 |
| 工具编排 | 手动 | 包含 |
| MCP 支持 | 手动 | 包含 |
| 子智能体模式 | 手动 | 更容易实现 |
如果你在构建代码审查 worker、CI 自动化或仓库助手,那么这个 SDK 相比手搓循环是一次很大的升级。
但你仍然要清楚它的边界:仅仅因为它有工具接口,并不意味着它会自动变成完整的能力运行时。
安装与设置
前置条件
- Python 3.10+ 或 Node.js 20+
- Anthropic API Key 或 Claude Code 访问权限
- 已安装 Claude Code CLI 作为运行时执行面
安装 Claude Code CLI
npm install -g @anthropic-ai/claude-code
安装 Agent SDK
Python
pip install claude-agent-sdk
TypeScript
npm install @anthropic-ai/claude-agent-sdk
认证
claude login
你的第一个智能体
from claude_agent_sdk import Agent, tool
@tool
def read_file(path: str) -> str:
with open(path, "r") as f:
return f.read()
@tool
def list_files(directory: str = ".") -> list:
import os
return os.listdir(directory)
agent = Agent(
system_prompt="You are a careful code reviewer.",
tools=[read_file, list_files],
model="claude-sonnet-4-20250514"
)
result = agent.run("Review ./src for security issues")
print(result.output)
这正是 SDK 发挥优势的地方。你定义工具、传入任务,然后让智能体循环处理探索与迭代。
核心概念
1. 智能体循环
任务 → 计划 → 工具调用 → 观察 → 重新规划 → 最终回答
这个循环才是 SDK 的真正价值。它让你不必手动把每一轮都接起来。
2. 子智能体
子智能体让你能够拆解工作,而不是把所有内容都塞进一个很长的上下文里。
agent = Agent(
system_prompt="You are a tech lead reviewing a codebase.",
tools=["task"]
)
它适合并行目录审查、分拆式调查以及大型代码库。
3. MCP 支持
SDK 可以连接兼容 MCP 的工具,这对内部 API、数据库或专用服务很有用。
agent = Agent(
mcp_servers=[
{
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem"],
"env": {"ALLOWED_DIRECTORIES": "/project"}
}
]
)
但很多指南都忽略了一个关键细节:MCP 是协议层,不是完整的能力战略。 如果你的智能体需要更广泛、跨职能的工具执行面,你通常需要的是能力运行时,而不是五个互不相关的点状集成。
生产环境注意事项
成本控制
常规任务使用更低成本的模型,设置 max_turns,并把大范围并行工作分配给子智能体,而不是堆进一个臃肿的单会话中。
上下文管理
保持提示词精简,避免不必要的文件加载,并在会话变长时总结中间结果。
权限
把智能体的文件访问和外部集成限制在最低必要范围内。
常见错误及修复方法
OverloadedError
使用指数退避重试。
import time
from claude_agent_sdk import OverloadedError
def run_with_retry(agent, prompt, max_retries=3):
for attempt in range(max_retries):
try:
return agent.run(prompt)
except OverloadedError:
if attempt == max_retries - 1:
raise
time.sleep(2 ** attempt)
ContextLengthExceededError
把工作拆成子任务,并使用子智能体,而不是一次性做成单体运行。
MaxTurnsReached
只有在任务边界足够清晰时才增加 max_turns。否则,应拆解工作流。
权限错误
只扩大到你的智能体实际需要的目录和集成范围。
Agent SDK 仍然无法提供什么
这是对生产工作流最重要的部分。
Claude Code Agent SDK 可以:
- 读取和编辑文件
- 执行 Shell 命令
- 编排工具调用
- 管理迭代式智能体循环
但它单独并不能提供以下所缺失的能力层:
- 实时网页搜索
- 图像生成
- 视频生成
- 云存储与分享
- 网页发布
这也是为什么很多团队最终做出了演示里很惊艳、实际却不完整的智能体。它可以很好地推理一个发布页面,但如果没有额外基础设施,它无法生成主视觉图、保存最终产物或发布交付结果。
AnyCap 的位置在哪里
在这里,最适合把 AnyCap 理解为你的 Claude 智能体可以借助执行的那层能力运行时。
当你把这些层分开时,架构会更清晰:
- Claude 模型 → 负责思考
- Claude Code Agent SDK → 负责编排
- AnyCap CLI → 负责执行跨职能能力
- AnyCap skill → 教会智能体如何高效使用这套 CLI
安装能力运行时
curl -fsSL https://anycap.ai/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
anycap login
添加 skill 层
npx -y skills add anycap-ai/anycap -a claude-code
之后,你的智能体就可以用同一套能力执行面来完成这些事:
anycap search "latest competitor pricing"
anycap image generate "product hero image"
anycap video generate "10-second launch teaser"
anycap drive upload ./report.pdf
anycap page publish ./launch-brief.md
这就是“我搭了一个智能体循环”和“我搭了一个真正能把工作做完的智能体”之间的区别。
什么时候该使用 Agent SDK
当你需要以下能力时,可以使用 Agent SDK:
- 在产品或自动化中嵌入可编程智能体
- 可重复使用的代码审查 worker
- CI/CD 中的仓库助手
- 需要迭代式智能体循环的后台任务
如果这个智能体还需要做研究、生成媒体、交付文件或发布结果,那就应当配合能力运行时一起使用。
总结
Claude Code Agent SDK 很强大,是因为它解决了编排问题。它给开发者的是 Claude Code 循环的可编程版本,而不是逼着大家从零自己搭。
但它仍然只是 Shell 和协调层。
如果你的智能体需要与真实世界交互——搜索最新信息、生成创意资产、保存输出、发布结果——你同样需要那层缺失的能力层。
这种心智模型可以避免团队高估 SDK 单独能做的事情。
SDK 让智能体变得可编程。
能力运行时让智能体在代码之外也真正有用。