提起Claude Agent SDK(以下简称SDK),不得不提一下Claude Code,一句话来讲,SDK 是把 Claude Code 的“智能体执行引擎”封装成 Python/TypeScript 库,我们可以在自己的程序中使用Claude Code的能力来读写文件、调用命令等。

先来看一个示例代码:

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. 安装依赖

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模型。

export ANTHROPIC_API_KEY=sk-ant-xxxxx
export ANTHROPIC_BASE_URL=https://api.siliconflow.cn

3. 编写相应代码并运行

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计费,建议使用成本较低的模型,以免产生高额账单。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐