首页 教程 常见问题

13.16 Agent SDK 技能

在 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"
)

下一步