提起Claude Agent SDK(以下简称SDK),不得不提一下Claude Code,一句话来讲,SDK 是把 Claude Code 的"智能体执行引擎"封装成 Python/TypeScript 库,我们可以在自己的程序中使用Claude Code的能力来读写文件、调用命令等。
先来看一个示例代码:
python
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="修改auth.py中的bug",
options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"]),
):
print(message) # Claude 读取文件,修复bug
asyncio.run(main())
使用SDK可以在Python程序中调用 Claude Code同等的能力,以上代码使用提示词即可完成对auth.py文件的修改。
这挺夸张的,我们回顾一下使用n8n或LangGraph,上述工作需要我们去提前定义工作流的节点、分支等繁琐步骤。使用SDK则可以一步到位处理某些任务,SDK的一大优势就是可用在非固定的工作流程中。n8n与LangGraph的优势在于固定的、稳定需要重复的业务流程。当然,LangGraph可以和SDK一起用,以达成保持确定的业务流程及灵活的Agent行为,从而可高效完成任务。
具体怎么用?
这里使用Python演示
1. 安装依赖
bash
python3 -m venv .venv
source .venv/bin/activate
pip install claude-agent-sdk -i https://mirrors.aliyun.com/pypi/simple
2. 设置API KEY
这里默认是ANTHROPIC的KEY,我们可以换成其他厂商的,这里以硅基流动为例,使用deepseek-ai/DeepSeek-V4-Pro模型。
bash
export ANTHROPIC_API_KEY=sk-ant-xxxxx
export ANTHROPIC_BASE_URL=https://api.siliconflow.cn
3. 编写相应代码并运行
python
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="查看当前系统版本及查看系统资源占用",
options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"],model="deepseek-ai/DeepSeek-V4-Pro"),
):
if hasattr(message, "result"):
print({message.result})
asyncio.run(main())
运行结果是:
## 系统版本信息
**操作系统:** Ubuntu 24.04.1 LTS (Noble Numbat)
**内核版本:** 6.17.0-35-generic
**架构:** x86_64
**系统运行时间:** 25天12小时
## 资源占用情况
### 💾 内存使用
- **总内存:** 7.8 GB
- **已使用:** 3.7 GB (47.4%)
- **可用内存:** 4.1 GB
- **交换分区:** 3.8 GB 总量,已使用 1.6 GB
### 💿 磁盘使用
- **根分区 (/):** 98 GB 总量
- 已使用:72 GB (77%)
- 可用:22 GB
### ⚡ CPU 和负载
- **当前负载:** 0.65 (1分钟), 0.44 (5分钟), 0.28 (15分钟)
- **CPU使用率:** 6.2% 用户态, 2.1% 系统态, 87.5% 空闲
- **进程数:** 264个进程,1个运行中,263个休眠
### 🔝 资源占用较高的进程
1. **chainmain+** - 8.3% CPU (两个进程)
2. **code-4f+** - 8.3% CPU
3. **claude** - 8.3% CPU (占用266MB内存)
总体来说,您的系统运行状态良好:
- ✅ CPU负载较轻,资源充足
- ✅ 内存使用正常,有足够可用空间
- ⚠️ 磁盘使用率较高(77%),建议清理不必要的文件
关于SDK的能力,这么说吧,Claude Code的核心能力他都有,比如读写文件、执行命令、Hooks、子代理、接入MCP工具、使用Skill、自定义指令等等。
那什么时候该用SDK,什么时候该直接使用Claude Code(CLI)呢?Claude 官方给了一张表供参考:

那这个能用Coding Plan吗?官方的AI说不能,可能会有封号风险。。。那还是先不用了。


最后
Claude Agent SDK适合用在非固定的流程上,集成在现有的业务代码后,在某些流程节点上可以发挥高级智能,而不是死板的流程。还有一点,如果使用API计费,建议使用成本较低的模型,以免产生高额账单。