[ PROMPT_NODE_23828 ]
Agent SDK 说明文档
[ SKILL_DOCUMENTATION ]
# 智能体 SDK — Python
Claude 智能体 SDK 提供了一个更高级的接口,用于构建具有内置工具、安全特性和智能体能力的 AI 智能体。
## 安装
bash
pip install claude-agent-sdk
---
## 快速开始
python
import anyio
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage
async def main():
async for message in query(
prompt="Explain this codebase",
options=ClaudeAgentOptions(allowed_tools=["Read", "Glob", "Grep"])
):
if isinstance(message, ResultMessage):
print(message.result)
anyio.run(main)
---
## 内置工具
| 工具 | 描述 |
| --------- | ------------------------------------ |
| Read | 读取工作区中的文件 |
| Write | 创建新文件 |
| Edit | 对现有文件进行精确编辑 |
| Bash | 执行 shell 命令 |
| Glob | 按模式查找文件 |
| Grep | 按内容搜索文件 |
| WebSearch | 搜索网络信息 |
| WebFetch | 获取并分析网页 |
| AskUserQuestion | 向用户提问以澄清信息 |
| Agent | 生成子智能体 |
---
## 主要接口
### `query()` — 简单的单次使用
`query()` 函数是运行智能体最简单的方法。它返回一个消息的异步迭代器。
python
from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage
async for message in query(
prompt="Explain this codebase",
options=ClaudeAgentOptions(allowed_tools=["Read", "Glob", "Grep"])
):
if isinstance(message, ResultMessage):
print(message.result)
### `ClaudeSDKClient` — 完全控制
`ClaudeSDKClient` 提供对智能体生命周期的完全控制。当您需要自定义工具、钩子、流式传输或中断执行的能力时,请使用它。
python
import anyio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock
async def main():
options = ClaudeAgentOptions(allowed_tools=["Read", "Glob", "Grep"])
async with ClaudeSDKClient(options=options) as client:
await client.query("Explain this codebase")
async for message in client.receive_response():
if isinstance(message, AssistantMessage):
for block in message.content:
if isinstance(block, TextBlock):