Agent 的 Skills 是什么?和工具、提示词有什么区别?

第 1184 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 三者的区别
  3. 技能解决了什么问题
  4. 怎么写好一个技能
  5. 数据团队可以沉淀哪些技能

面试怎么回答

提示词放每次都要遵守的规则,常驻上下文;工具定义 Agent 能做什么动作;技能是一套怎么做好某类任务的说明,包括步骤、注意事项、示例和配套脚本,平时只暴露名称和描述,需要时才加载完整内容。技能解决了上下文按需加载、团队经验复用、可版本管理、确定性部分交给脚本这几个问题。写技能要讲清楚什么时候用、给出具体步骤和判断标准、写进踩过的坑并配示例,再用一组任务对比加载前后的完成率。数据团队可以把命名规范、口径查询、异动分析、任务排查手册沉淀成技能。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

最近不少 Agent 产品都支持「Skills(技能)」:把某类任务的做法打包成一个文件夹,里面有说明文档、脚本和模板,Agent 需要时再加载。面试官问这题,想看你能不能分清工具、提示词、技能各自解决什么问题,以及怎么在团队里沉淀可复用的 Agent 能力。

三者的区别

  • 提示词:写在系统指令里的规则和要求,每次调用都在上下文里,适合放「永远要遵守」的东西;
  • 工具:Agent 可以调用的动作,比如查询、写文件、调接口。工具回答的是「能做什么」;
  • 技能:一套「怎么做好某件事」的说明,通常包含步骤、注意事项、示例,以及配套的脚本或模板。平时只放一个简短的名称和描述,需要时才把完整内容读进上下文。技能回答的是「这件事该怎么做」。

举个例子:「执行 SQL」是工具;「按公司规范做一次指标异动分析」是技能,它会告诉 Agent 先查数据是否正常、再按哪些维度拆、报告用什么模板,过程中会用到执行 SQL 这个工具。

技能解决了什么问题

  1. 上下文按需加载:几十种任务的详细做法如果全写进系统提示,上下文会非常长。技能只在用到时加载;
  2. 知识可复用:团队的经验(比如「排查 Flink 任务失败的步骤」)写成技能后,所有人的 Agent 都能用;
  3. 可维护:技能是文件,可以版本管理、评审、测试,比散落在各处的提示词好管理;
  4. 确定性的部分交给脚本:格式转换、数据校验这类事写成脚本放在技能里,比让模型每次临时生成代码更稳定。

怎么写好一个技能

  • 描述写清楚什么时候该用它,否则 Agent 不会主动加载;
  • 内容写步骤和判断标准,而不是泛泛的原则;
  • 把团队踩过的坑写进去;
  • 配上示例输入输出;
  • 用一组任务测试:加载技能前后,完成率和质量有没有提升。

数据团队可以沉淀哪些技能

  • 公司数仓的表命名规范和分层规则;
  • 指标口径查询和异动分析流程;
  • 任务失败的排查手册;
  • 数据质量规则的编写规范;
  • 报告和周报的模板。

本质上,这是把团队的「操作手册」变成 Agent 能直接用的形式。