高级策略

代理和技能

使用可重用技能包构建AI代理

随着 AI 系统从简单的问答发展到自主任务执行,理解**智能体(Agent)技能(Skill)**变得至关重要。本章探讨提示词如何作为 AI 智能体的基础构建块,以及技能如何将专业知识打包成可复用的综合指令集。

智能体

自主 AI 系统

由以下驱动

技能

可复用的专业知识

技能

可复用的专业知识

技能

可复用的专业知识

由以下组成
提示词
提示词
提示词
提示词
提示词

提示词是原子 → 技能是分子 → 智能体是完整结构

什么是 AI 智能体?

AI 智能体是一个能够自主规划、执行和迭代任务的 AI 系统。与简单的提示-响应交互不同,智能体可以:

  • 规划 - 将复杂目标分解为可执行的步骤
  • 执行 - 使用工具并在现实世界中采取行动
  • 观察 - 处理其行动的反馈
  • 适应 - 根据结果调整其方法
  • 持久化 - 在交互之间维护上下文和记忆

目标

规划

执行

观察

适应

循环直到完成

完成

提示词作为构建块

每个智能体,无论多么复杂,都是由提示词构建的。正如原子结合形成分子,分子结合形成复杂结构,提示词结合起来创造智能的智能体行为。

系统提示词

身份与角色

规划提示词

如何思考

工具提示词

如何行动

恢复提示词

如何恢复

这些提示词类型叠加在一起形成完整的智能体行为:

系统提示词(智能体的身份)

建立智能体是谁以及如何行为的基础提示词:

You are a code review assistant. Your role is to:
- Analyze code for bugs, security issues, and performance problems
- Suggest improvements following best practices
- Explain your reasoning clearly
- Be constructive and educational in feedback

You have access to tools for reading files, searching code, and running tests.

规划提示词(如何思考)

指导智能体推理和规划过程的指令:

Before taking action, always:
1. Understand the complete request
2. Break it into smaller, verifiable steps
3. Identify which tools you'll need
4. Consider edge cases and potential issues
5. Execute step by step, validating as you go

工具使用提示词(如何行动)

关于何时以及如何使用可用工具的指导:

When you need to understand a codebase:
- Use grep_search for finding specific patterns
- Use read_file to examine file contents
- Use list_dir to explore directory structure
- Always verify your understanding before making changes

恢复提示词(如何处理失败)

当事情出错时的指令:

If an action fails:
1. Analyze the error message carefully
2. Consider alternative approaches
3. Ask for clarification if the task is ambiguous
4. Never repeat the same failed action without changes
提示词栈

智能体的行为源于多层提示词的协同工作。系统提示词奠定基础,规划提示词指导推理,工具提示词启用行动,恢复提示词处理失败。它们共同创造出连贯、有能力的行为。

什么是技能?

如果提示词是原子,技能就是分子——赋予智能体特定能力的可复用构建块。

技能是一个全面的、可移植的指令包,为 AI 智能体提供特定领域或任务的专业知识。技能是智能体的可复用模块:你只需构建一次,任何智能体都可以使用它们。

技能 = 可复用的智能体模块

只需编写一次代码审查技能。现在每个编程智能体——无论是用于 Python、JavaScript 还是 Rust——都可以通过加载该技能立即成为专业的代码审查员。技能让你像搭积木一样构建智能体能力。

技能的结构

一个设计良好的技能通常包括:

📄 SKILL.md(必需)

主指令文件。包含定义技能的核心专业知识、指南和行为。

📚 参考文档

智能体在工作时可以参考的支持文档、示例和上下文。

🔧 脚本与工具

支持技能功能的辅助脚本、模板或工具配置。

⚙️ 配置

用于将技能适配到不同上下文的设置、参数和自定义选项。

示例:代码审查技能

以下是代码审查技能可能的样子:

📁code-review-skill/
📄SKILL.md核心审查指南
📄security-checklist.md安全模式
📄performance-tips.md优化指南
📁language-specific/
📄python.mdPython 最佳实践
📄javascript.mdJavaScript 模式
📄rust.mdRust 指南

SKILL.md 文件定义整体方法:

---
name: code-review
description: Comprehensive code review with security, performance, and style analysis
---

# Code Review Skill

You are an expert code reviewer. When reviewing code:

## Process
1. **Understand Context** - What does this code do? What problem does it solve?
2. **Check Correctness** - Does it work? Are there logic errors?
3. **Security Scan** - Reference security-checklist.md for common vulnerabilities
4. **Performance Review** - Check performance-tips.md for optimization opportunities
5. **Style & Maintainability** - Is the code readable and maintainable?

## Output Format
Provide feedback in categories:
- 🔴 **Critical** - Must fix before merge
- 🟡 **Suggested** - Recommended improvements
- 🟢 **Nice to have** - Optional enhancements

Always explain *why* something is an issue, not just *what* is wrong.

技能与简单提示词的区别

简单提示词

单一指令

一次性使用

有限上下文

通用方法

无支持材料

技能

全面的指令集

跨项目可复用

带参考资料的丰富上下文

特定领域的专业知识

支持文档、脚本、配置

构建有效的技能

1. 清晰定义专业知识

从清晰描述技能能实现什么开始:

---
name: api-design
description: Design RESTful APIs following industry best practices, 
  including versioning, error handling, and documentation standards
---

2. 层次化组织知识

从通用到具体组织信息:

# API Design Skill

## Core Principles
- Resources should be nouns, not verbs
- Use HTTP methods semantically
- Version your APIs from day one

## Detailed Guidelines
[More specific rules...]

## Reference Materials
- See `rest-conventions.md` for naming conventions
- See `error-codes.md` for standard error responses

3. 包含具体示例

抽象规则通过示例变得清晰:

## Endpoint Naming

✅ Good:
- GET /users/{id}
- POST /orders
- DELETE /products/{id}/reviews/{reviewId}

❌ Avoid:
- GET /getUser
- POST /createNewOrder
- DELETE /removeProductReview

4. 提供决策框架

帮助智能体在模糊情况下做出选择:

## When to Use Pagination

Use pagination when:
- Collection could exceed 100 items
- Response size impacts performance
- Client may not need all items

Use full response when:
- Collection is always small (<20 items)
- Client typically needs everything
- Real-time consistency is critical

5. 添加恢复模式

预见可能出错的情况:

## Common Issues

**Problem**: Client needs fields not in standard response
**Solution**: Implement field selection: GET /users?fields=id,name,email

**Problem**: Breaking changes needed
**Solution**: Create new version, deprecate old with timeline

组合技能

当多个技能协同工作时,智能体变得更加强大。考虑技能如何相互补充:

代码审查

+

安全审计

+

文档编写

=

完整的代码质量智能体

组合技能时,确保它们不会冲突。技能应该是:

  • 模块化 - 每个技能很好地处理一个领域
  • 兼容 - 技能不应给出矛盾的指令
  • 有优先级 - 当技能重叠时,定义哪个优先

分享和发现技能

技能在分享时最有价值。像 prompts.chat 这样的平台允许你:

  • 发现社区为常见任务创建的技能
  • 下载技能直接到你的项目
  • 分享你自己的专业知识作为可复用技能
  • 迭代基于实际使用改进技能
从社区技能开始

在从零开始构建技能之前,检查是否有人已经解决了你的问题。社区技能经过实战检验,通常比从零开始更好。

智能体-技能生态系统

智能体和技能之间的关系创造了一个强大的生态系统:

AI 智能体

代码审查

技能 1

API 设计

技能 2

测试编写

技能 3

核心提示词

规划 • 工具 • 恢复 • 记忆

智能体提供执行框架——规划、工具使用和记忆——而技能提供领域专业知识。这种分离意味着:

  • 技能是可移植的 - 同一个技能可以与不同的智能体一起工作
  • 智能体是可扩展的 - 通过添加技能来添加新功能
  • 专业知识是可分享的 - 领域专家可以贡献技能而无需构建完整的智能体

最佳实践

构建技能

  1. 从具体开始,然后泛化 - 首先为你的确切用例构建技能,然后抽象
  2. 包含失败案例 - 记录技能无法做什么以及如何处理
  3. 为技能添加版本 - 跟踪更改,以便智能体可以依赖稳定版本
  4. 用真实任务测试 - 根据实际工作验证技能,而不仅仅是理论

与智能体一起使用技能

  1. 先阅读技能 - 在部署之前了解技能的功能
  2. 谨慎自定义 - 仅在必要时覆盖技能默认值
  3. 监控性能 - 跟踪技能在你的上下文中的表现
  4. 贡献改进 - 当你改进技能时,考虑回馈社区
未来是可组合的

随着 AI 智能体变得更加强大,组合、分享和自定义技能的能力将成为核心竞争力。未来的提示工程师不仅仅编写提示词——他们将架构使 AI 智能体在特定领域真正专业的技能生态系统。

简单提示词和技能之间的关键区别是什么?

什么是智能体循环?

为什么技能被描述为'智能体的可复用模块'?