在 Agent SDK 中使用技能系统——封装和复用工作流。
什么是技能
技能是封装特定工作流的指令集。在 Agent SDK 中,你可以:
- 定义技能描述和指令
- 按需加载技能到系统指令
- 在代理循环中激活特定技能
定义技能
SKILLS = {
"code_review": {
"name": "代码审查",
"description": "全面审查代码质量、安全性和性能",
"system_prompt": """你是一个代码审查专家。
审查以下方面:
1. 安全问题(注入、XSS 等)
2. 性能问题(N+1 查询、内存泄漏)
3. 代码风格一致性
4. 潜在的 Bug
5. 不必要的复杂度"""
},
"debug": {
"name": "调试助手",
"description": "分析错误信息和堆栈跟踪",
"system_prompt": """你是一个调试专家。
请分析错误信息,找出根本原因,
并提供具体的修复建议。"""
}
}
激活技能
def run_with_skill(prompt, skill_name):
"""使用特定技能运行代理。"""
skill = SKILLS.get(skill_name)
if not skill:
raise ValueError(f"未知技能: {skill_name}")
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=2048,
system=skill["system_prompt"],
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
# 使用
result = run_with_skill(
"审查 auth.py 的代码",
"code_review"
)
下一步
- Agent SDK 斜杠命令
- 技能系统:Claude Code 中的技能