官方教程中文版扩展与自动化
使用 Agent SDK
用 Claude Agent SDK 把 Claude Code 的 agent loop、工具和上下文管理嵌入自己的程序。
Claude Agent SDK 是把 Claude Code 作为库使用的入口。它让你在 Python 或 TypeScript 程序中调用同一套 agent loop、工具、上下文管理和权限机制。
官方文档说明:旧的 Claude Code SDK 已更名为 Claude Agent SDK。
能做什么
Agent SDK 适合把 Claude Code 能力嵌到自己的系统里:
- 读取文件。
- 运行命令。
- 搜索代码。
- 编辑文件。
- 调用 MCP。
- 使用 skills、hooks、project instructions。
- 流式返回消息和工具调用。
- 跟踪成本和 usage。
- 做结构化输出。
- 部署成生产 agent 服务。
如果你只是日常写代码,用 Claude Code CLI / IDE 就够;如果你要把 coding agent 做成产品、服务、内部平台或自动化 worker,再用 SDK。
安装
TypeScript:
npm install @anthropic-ai/claude-agent-sdkPython:
pip install claude-agent-sdk官方说明 TypeScript SDK 会按平台带一个 Claude Code native binary optional dependency,因此不一定需要另外安装 Claude Code。
认证
基础方式是 API key:
export ANTHROPIC_API_KEY=your-api-keySDK 也支持第三方 API provider,例如 Amazon Bedrock、Google Vertex AI、Microsoft Foundry。对应环境变量和云凭据要按官方 provider 文档配置。
最小 Python 示例
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="What files are in this directory?",
options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"]),
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())权限边界
SDK 不等于“无限权限”。生产化时要显式控制:
allowed_tools。- 文件系统访问范围。
- shell 命令权限。
- API key 和 secrets。
- 审批和用户输入。
- 日志和 OpenTelemetry。
- sandbox 或容器隔离。
把 Claude Code 嵌入系统后,安全边界从“本地 CLI 使用习惯”变成“产品运行时治理”。