🛠️ Agentic SDK 智能体SDK
开发框架 SDK OpenClaw
"写 AI Agent 就像造机器人——你可以从零开始焊铁皮、装电机、写驱动,但更聪明的做法是用现成的 SDK:框架搭好了,你只需要告诉它'去拿咖啡',它会自己规划路线、避开障碍、完成任务。"
📖 什么是 Agentic SDK?
Agentic SDK(智能体开发套件)是用于构建 AI Agent 的软件开发框架。它封装了 LLM 调用、工具集成、记忆管理、状态编排等复杂逻辑,让开发者专注于定义 Agent 的行为和能力,而非底层实现。
核心组件
- Agent Runtime - Agent 执行引擎,管理生命周期
- Tool System - 工具注册、发现、调用机制
- Memory Layer - 短期/长期记忆管理
- Orchestration - 多 Agent 协作编排
- Observability - 日志、追踪、监控集成
⚙️ 主流 Agentic SDK 对比
| SDK | 语言 | 特点 | 适用场景 |
|---|---|---|---|
| OpenClaw SDK | JS/TS, Python | 全栈、Skills 系统、内置工具丰富 | 企业级 Agent 应用 |
| LangChain | Python, JS | 生态丰富、链式调用 | 快速原型、研究 |
| LangGraph | Python | 图状态机、可视化 | 复杂工作流 |
| CrewAI | Python | 角色扮演、团队协作 | 多 Agent 协作 |
| AutoGen | Python | 微软出品、对话驱动 | 研究、对话系统 |
| Allos | Python | LLM 无关、开源 | 跨模型 Agent |
🔧 OpenClaw SDK 实战
1. 创建简单 Agent
// JavaScript/TypeScript
const { Agent, Tool } = require('openclaw');
// 定义工具
const searchTool = new Tool({
name: 'web_search',
description: '搜索网络获取信息',
parameters: {
query: { type: 'string', description: '搜索关键词' }
},
execute: async ({ query }) => {
const results = await fetch(`/api/search?q=${query}`);
return results.json();
}
});
// 创建 Agent
const agent = new Agent({
name: 'research-agent',
model: 'gpt-4o',
systemPrompt: '你是一个研究助手,帮助用户查找和分析信息。',
tools: [searchTool],
memory: {
enabled: true,
type: 'conversation' // 对话记忆
}
});
// 运行 Agent
const response = await agent.run('帮我查一下 OpenClaw 的最新特性');
console.log(response.content);
2. Python SDK 用法
from openclaw import Agent, Tool, Memory
# 定义工具
@Tool
def calculate(expression: str) -> float:
"""计算数学表达式"""
return eval(expression)
@Tool
def get_weather(city: str) -> dict:
"""获取城市天气"""
# 调用天气 API
return {"city": city, "temp": 25, "condition": "sunny"}
# 创建 Agent
agent = Agent(
name="assistant",
model="claude-3-5-sonnet",
tools=[calculate, get_weather],
memory=Memory(type="episodic", ttl=3600)
)
# 同步运行
result = agent.run("北京今天天气怎么样?温度加10度是多少?")
print(result.content)
# 流式输出
async for chunk in agent.stream("帮我分析一下"):
print(chunk, end="", flush=True)
3. 多 Agent 协作
const { Agent, Orchestrator } = require('openclaw');
// 定义专业 Agent
const researcher = new Agent({
name: 'researcher',
role: '研究员',
systemPrompt: '负责搜集和整理信息',
tools: ['web_search', 'document_reader']
});
const writer = new Agent({
name: 'writer',
role: '撰稿人',
systemPrompt: '负责撰写和润色文章',
tools: ['text_editor']
});
const reviewer = new Agent({
name: 'reviewer',
role: '审稿人',
systemPrompt: '负责审核和提供建议'
});
// 创建编排器
const orchestrator = new Orchestrator({
mode: 'sequential', // sequential | parallel | hierarchical
agents: [researcher, writer, reviewer],
workflow: `
1. researcher: 收集主题相关资料
2. writer: 基于资料撰写初稿
3. reviewer: 审核并提出修改建议
4. writer: 根据建议修改
`
});
// 执行工作流
const result = await orchestrator.run({
topic: 'AI Agent 发展趋势',
targetLength: 2000
});
4. Skills 系统
// 使用 OpenClaw Skills
const { Skill } = require('openclaw');
// 加载内置 Skill
const webScraper = await Skill.load('camofox-web-scraper');
const ragPipeline = await Skill.load('rag-retrieval');
// 创建带 Skills 的 Agent
const agent = new Agent({
name: 'data-agent',
skills: [webScraper, ragPipeline]
});
// Skills 自动可用
await agent.run('从 https://example.com 抓取数据并存入知识库');
⚡ 核心能力详解
1. 工具调用(Tool Calling)
SDK 自动处理工具调用的完整流程:
用户请求 → LLM 决策调用哪个工具 → 参数提取 →
执行工具 → 结果处理 → LLM 整合回答
2. 记忆管理(Memory)
- Conversation Memory - 对话历史
- Episodic Memory - 事件记忆
- Semantic Memory - 知识记忆
- Working Memory - 工作记忆(当前任务)
3. 状态编排(Orchestration)
- Sequential - 顺序执行
- Parallel - 并行执行
- Conditional - 条件分支
- Loop - 循环迭代
- Hierarchical - 层级委托
⚠️ 选择 SDK 的坑:
- 不要只看 Star 数——要看维护活跃度和文档质量
- 生态丰富 ≠ 适合你的场景——LangChain 大而全,OpenClaw 专而精
- 注意 LLM 锁定风险——选择支持多模型的 SDK
- 调试能力很重要——复杂 Agent 很难排查问题
📊 SDK 选型决策树
需要构建 AI Agent?
├── 快速原型/研究 → LangChain
├── 企业级应用 → OpenClaw SDK
├── 复杂工作流 → LangGraph / OpenClaw
├── 多 Agent 协作 → CrewAI / OpenClaw
├── 跨模型需求 → Allos / OpenClaw
└── 微软生态 → AutoGen