教程

Claude Agent SDK 官方指南:用 TypeScript 与 Python 构建生产级 AI Agent

Claude Agent SDK 官方文档中文整理:SDK 与 CLI 的关系、适用场景、TypeScript/Python 基础用法、query API、流式消息、工具权限控制、MCP 集成、会话管理、生产部署边界和安全建议。

2026/5/203分钟 阅读ClaudeEagle

Claude Agent SDK 是把 Claude Code 从终端协作工具变成可编程 Agent 引擎的官方接口。CLI 适合人坐在终端里和 Claude 一起改代码;Agent SDK 适合把 Claude 放进系统、服务、CI/CD、内部平台和自动化流程里。


什么时候该用 Agent SDK?

如果你的需求是一次性的本地协作,直接用 claude CLI 即可。如果你需要程序化地创建、运行、监控和消费 Claude 的输出,就应该考虑 SDK。

典型场景:

  • CI 失败后自动分析原因并给出修复建议
  • 在内部平台里提供“让 AI 修这个 issue”的按钮
  • 把代码审查、文档生成、测试补齐做成后台任务
  • 从 GitHub/GitLab webhook 接收事件后自动启动 Agent
  • 构建面向团队的 AI worker,而不是只服务单个开发者

TypeScript 最小示例

ts
import { query } from '@anthropic-ai/claude-agent-sdk'

for await (const message of query({
  prompt: 'Analyze this repository and summarize the architecture',
  options: {
    cwd: '/path/to/repo'
  }
})) {
  console.log(message)
}

SDK 返回 async iterator,意味着你可以边运行边消费消息,把进度实时显示在 Web UI、日志系统或任务面板里。


Python 最小示例

python
import asyncio
from claude_agent_sdk import query

async def main():
    async for message in query(
        prompt='Find risky code paths in this repository',
        options={'cwd': '/path/to/repo'}
    ):
        print(message)

asyncio.run(main())

Python 版本适合后端自动化、数据平台和 CI glue code;TypeScript 版本适合 Node 服务、开发平台和前端团队内部工具。


权限设计:生产环境的核心

生产级 Agent 的关键不是“能做很多事”,而是“只允许它做这次任务需要做的事”。

代码审查任务只需要读权限:

ts
query({
  prompt: 'Review this pull request for security issues',
  options: {
    cwd: '/repo',
    allowedTools: ['Read', 'Grep', 'Glob', 'Bash(git diff *)'],
    disallowedTools: ['Write', 'Edit', 'Bash(git push *)']
  }
})

自动修复任务才需要 EditWrite。创建 PR 的任务再额外允许 Git/GitHub/GitLab 相关命令。不要给所有 Agent 默认全权限。


结构化输入与结构化输出

不要只传一句模糊 Prompt:

text
fix the bug

更好的输入应该包含任务、仓库、分支、日志、限制和交付物:

json
{
  "task": "fix_test_failure",
  "repository": "acme/payments",
  "branch": "feature/refactor-auth",
  "failing_job": "unit-tests",
  "constraints": ["do not modify public API", "add regression test"]
}

输出也应固定格式,便于系统消费:

text
Return JSON with keys: summary, changed_files, risks, next_steps.

与 MCP 的组合

Agent SDK 负责驱动 Agent,MCP 负责连接外部工具。一个生产级自动修复系统可能这样运行:

  1. Webhook 收到 Sentry issue
  2. SDK 启动 Claude Agent
  3. MCP 获取 Sentry stack trace 和 GitHub issue
  4. Claude 定位代码并生成修复
  5. SDK 收集结果并创建 PR
  6. 人类 review 后合并

这样 Claude 不再是“本地助手”,而是企业研发平台里的一个可审计 worker。


生产最佳实践

  • 每个任务使用独立工作目录或临时 clone
  • 按任务最小化工具权限
  • 对外部 Issue、网页、日志内容当作不可信输入处理
  • 所有代码变更走 PR,不直接合并主分支
  • 记录完整消息流,便于审计和复盘
  • 密钥放 Secrets,不进入 Prompt
  • 长任务用流式输出,避免黑盒等待

来源:Claude Code 官方文档 - Agent SDK | 整理:ClaudeEagle

相关文章推荐

教程Claude Code Agent SDK 完整开发指南:构建自定义 AI Agent 工作流Claude Code Agent SDK 完整开发指南:TypeScript/Python 两种 SDK 用法;四种权限模式(只读/Auto/完全权限/自定义白名单);流式响应实时接收输出;自定义工具注入(queryDatabase/sendSlackNotification 示例);多 Agent 编排(主 Agent + 并行子 Agent);GitHub Actions CI/CD 集成;错误处理和指数退避重试;成本监控(按模型计价)。2026/5/3教程LangGraph 2026 完全解析:从零到生产的确定性 AI 工作流引擎实战指南LangGraph 2026 版完整教程:状态机 + LLM 的核心心智模型、State/Node/Edge/Loop/Checkpoint 五大概念详解、生产级 Code Review Agent 完整代码、Human-in-the-Loop 实现、LangGraph Platform 部署,以及与 LangChain 的本质差异。2026/4/19教程CrewAI 快速上手教程:30 分钟搭建第一个多 Agent 协作系统(含完整代码)CrewAI 完整入门教程:Agent/Task/Crew 三大构建块详解,30 分钟实现技术资讯自动生成的多 Agent 系统,含并行执行配置、内存设置、成本分级控制,以及 Agent 忽略工具、输出不稳定等常见问题解决。2026/4/17教程OpenClaw 快速入门:用 Telegram 控制 AI Agent,5 分钟搭建个人 AI 助理OpenClaw 5 分钟快速入门:用 Telegram 控制 AI Agent,含安装配置、Bot 创建、Skills 定义、多渠道支持、Claude Code 编程任务集成,以及与 Claude Code CLI 的区别和互补关系。2026/4/13教程完美 CLAUDE.md 写法指南:三大支柱结构、防踩坑清单和可直接复用的模板CLAUDE.md 完整写法指南:三大支柱结构(WHAT/WHY/HOW)、10 项防踩坑规则、渐进式披露策略、与 AGENTS.md 的选择,附可直接复用的模板和优化检查清单。2026/4/11教程Claude Code 程序化调用完全指南:-p 标志、结构化输出、流式响应与会话续接Claude Code 程序化调用完全指南:-p/--print 非交互模式基础用法、三种输出格式(text/json/stream-json)、按 JSON Schema 提取结构化数据(structured_output 字段)、jq 解析响应、流式响应(stream-json + --verbose + --include-partial-messages + jq -rj 过滤 text_delta)、--allowedTools 自动批准工具(权限规则语法/末尾空格注意事项)、自动创建 Commit 示例、--append-system-prompt/--system-prompt 系统提示词、--continue/--resume 会话续接(Session ID 捕获)、GitHub Actions CI/CD 集成,以及 Python/TypeScript Agent SDK 高级用法入口。2026/3/8