在技能架构中,专业能力被封装为可调用的“技能”,用以增强 智能体 的行为。技能主要是由提示词驱动的专长,智能体可以按需调用。 有关内置技能支持,请参阅 深度智能体。
这种模式在概念上与 智能体技能 和由 Jeremy Howard 推出的 llms.txt 相同,后者利用工具调用实现文档的渐进式披露。技能模式将渐进式披露应用于专业化的提示词和领域知识,而不仅仅是文档页面。要获取现成的、能提升您智能体在 LangChain 生态任务中表现的技能,请查看 LangChain Skills 仓库。

核心特征

  • 基于提示词的专长:技能主要由专门的提示词定义
  • 渐进式披露:技能根据上下文或用户需求变得可用
  • 团队分发:不同的团队可以独立开发和维护技能
  • 轻量组合:技能比完整的子智能体更简单
  • 引用感知:技能可以引用脚本、模板和其他资源

适用场景

当您希望一个 智能体 具备多种可能的专业能力,不需要在技能之间强制实施特定约束,或者需要不同团队独立开发功能时,请使用技能模式。常见的例子包括编码助手(针对不同语言或任务的技能)、知识库(针对不同领域的技能)和创意助手(针对不同格式的技能)。

基本实现

完整实现请参见下面的教程。

教程:构建一个按需加载技能的 SQL 助手

学习如何实现具有渐进式披露功能的技能,其中智能体按需加载专业提示词和模式,而不是预先全部加载。

扩展模式

编写自定义实现时,您可以通过多种方式扩展基本技能模式:
  • 动态工具注册:将渐进式披露与状态管理相结合,在技能加载时注册新的 工具。例如,加载一个“database_admin”技能既可添加专业上下文,也可注册数据库特定工具(备份、恢复、迁移)。这利用了跨多智能体模式中相同的工具和状态机制——工具通过更新状态来动态改变智能体的能力。
  • 分层技能:技能可以在树状结构中定义其他技能,创建嵌套的专业化。例如,加载“data_science”技能可能会使“pandas_expert”、“visualization”和“statistical_analysis”等子技能变得可用。每个子技能可以根据需要独立加载,从而实现领域知识的细粒度渐进式披露。这种分层方法通过将能力组织成逻辑分组(这些分组可以按需发现和加载)来帮助管理大型知识库。
  • 引用感知:虽然每个技能只有一个提示词,但该提示词可以引用其他资产的位置,并提供信息说明智能体应在何时使用这些资产。 当这些资产变得相关时,智能体会知道这些文件存在,并根据需要将其读入内存以完成任务。 这同样遵循了渐进式披露模式,并限制了上下文窗口中的信息量。