资讯详情

资讯详情

手把手教你编写 Agent Skills:用 SKILL.md 给 AI 助手装上“技能包”并接入 TaoToken

1. 为什么你的 AI 助手总是“不懂你”你有没有过这种体验同一个 AI 助手写通用文案时挺聪明一旦让它按你们团队的规范写代码、按公司模板出周报就开始自由发挥。你反复在对话里贴规范、贴模板下次开新会话它又忘得一干二净。问题不在模型笨而在于你每次都在“临时教它”。Agent Skills 就是来解决这件事的它把专业知识、工作流程、脚本工具打包成一个可复用的“技能包”AI 助手按需加载加载后就知道该按什么规则干活。一句话概括就是——写一次到处用。这套格式最早由 Anthropic 开源核心载体是一个叫SKILL.md的 Markdown 文件。它不依赖某个特定模型本质是“给 AI 看的说明书”头部用 YAML 声明技能名和触发条件正文用自然语言写清楚什么时候用、怎么一步步做、输出长什么样。这篇面向三类人想让 AI 稳定遵循团队规范的开发者、想把重复流程沉淀成资产的效率党、以及正在搭 Agent 工作流的工程师。我会从SKILL.md的结构讲起交付一份可直接复制的骨架再演示怎么通过统一 Key/API 通道把技能包接到 TaoToken 上跑通验证。全程可跟做不需要你先成为提示词专家。2. 先搞懂 SKILL.md 的结构与触发逻辑2.1 一个 Skill 就是一个文件夹别被“技能包”三个字吓到。最简单的 Skill 只有一个文件code-review/ └── SKILL.md复杂一点的可以带脚本和参考资料data-processor/ ├── SKILL.md # 必需技能说明书 ├── scripts/ # 可选可执行脚本 ├── references/ # 可选参考文档 └── assets/ # 可选模板、图片文件夹名只能用小写字母、数字和连字符比如code-review、weekly-report。这一点很关键很多加载失败都是因为名字里带了大写或下划线。2.2 头部 YAML决定“什么时候被激活”SKILL.md分两部分头部是---包裹的 YAML 元数据--- name: code-review description: 按照团队规范进行代码审查检查命名规范、注释要求、错误处理等。当用户要求审查代码、检查代码质量或 review PR 时使用。 ---字段是否必填说明name必填技能名最多 64 字符小写字母/数字/连字符description必填最多 1024 字符写清“做什么 什么时候用”license可选许可证如 Apache-2.0compatibility可选环境要求如 Python 3.10metadata可选作者、版本号等附加信息description是整个技能里最值钱的一行。AI 判断要不要加载这个技能主要看它。写法上建议把“触发词”直接写进去比如“当用户提到写周报、本周总结、工作汇报时使用”。你写得越具体误触发和漏触发就越少。2.3 正文给 AI 的操作手册头部之后就是自由发挥的 Markdown 正文。结构上建议固定四块什么时候用、具体步骤、示例、注意事项。示例部分尤其重要——给一组“输入 → 输出”的对照AI 模仿起来会稳得多。3. 接入 TaoToken 前的准备统一 Key 与 API 通道技能包写好了得有个地方让 AI 真正跑起来。TaoToken 提供统一的 Key 和 API 通道把模型调用收敛到一个入口省得你在多个平台之间来回切配置。你需要准备两样东西第一一个可用的 API Key。登录控制台后在 API Keys 页面创建复制出来先存好后面配置要用。第二确认 API 基地址。TaoToken 的 API 入口是https://taotoken.net/api注意这个地址后面不加任何查询参数保持干净。注意Key 属于敏感凭证不要硬编码进会提交到 Git 的文件里。建议用环境变量或本地.env管理。如果你还没创建 Key可以先去控制台把 Key 建好再回来继续下面的配置。整个流程是建 Key → 写配置 → 发一次验证请求 → 确认技能被正确加载。4. 可复制配置从 SKILL.md 骨架到 API 调用4.1 一份可直接用的 SKILL.md 骨架先建文件夹再写文件。下面这份骨架你可以直接复制改掉 name 和 description 就能用--- name: weekly-report description: 根据本周工作内容生成规范周报。当用户提到写周报、本周总结、工作汇报时使用。 --- # 周报生成技能 ## 什么时候使用 - 用户说“帮我写周报” - 用户说“总结一下本周工作” - 用户提供了本周工作内容让你整理 ## 周报格式 ### 标题 【周报】姓名 - 日期范围 ### 正文结构 **一、本周完成**按项目分类说明完成情况和产出 **二、进行中**当前进度和预计完成时间 **三、下周计划**按优先级排序 **四、需要协助**需要他人配合的事项 ## 写作要求 1. 语言简洁每条不超过 50 字 2. 用数据说话如“完成 3 个需求”而非“完成了一些需求” 3. 突出成果不写流水账 ## 示例 输入这周修了两个 bug一个登录页样式一个支付接口超时。用户中心改版完成 60%。 输出【周报】张三 - 2024.01.15-01.19 **一、本周完成** - 【问题修复】修复登录页样式错位 - 【问题修复】解决支付接口超时优化重试机制 **二、进行中** - 【用户中心改版】进度 60%预计下周三完成4.2 带脚本的技能让 AI 调用你的工具如果技能需要执行代码把脚本放进scripts/并在正文里写清调用命令## 可用脚本 - scripts/process.py - 数据处理主脚本 ## 使用方法 python scripts/process.py --input data.csv --output result.json脚本本身要遵守几条约定不要交互式输入AI 没法回答“请输入 Y/N”、提供--help、输出用 JSON 等结构化格式、错误信息要说明哪里错了怎么修。下面是一个符合规范的脚本示例# /// script # dependencies [pandas] # /// import pandas as pd import argparse parser argparse.ArgumentParser(description处理 CSV 并输出 JSON) parser.add_argument(--input, requiredTrue, help输入文件路径) parser.add_argument(--output, requiredTrue, help输出文件路径) args parser.parse_args() df pd.read_csv(args.input) df.to_json(args.output, orientrecords, force_asciiFalse) print(f处理完成结果保存到 {args.output})4.3 配置文件把技能接到 TaoToken接下来写调用配置。以常见的 OpenAI 兼容风格为例把 base_url 指向 TaoToken 的 API 入口Key 从环境变量读取export TAOTOKEN_API_KEY你的Key export TAOTOKEN_BASE_URLhttps://taotoken.net/api对应的客户端配置片段import os from openai import OpenAI client OpenAI( api_keyos.environ[TAOTOKEN_API_KEY], base_urlos.environ[TAOTOKEN_BASE_URL], ) resp client.chat.completions.create( modelclaude-sonnet-4-5, messages[ {role: system, content: 你已加载 weekly-report 技能请按技能说明生成周报。}, {role: user, content: 这周修了两个 bug用户中心改版完成 60%。}, ], ) print(resp.choices[0].message.content)这里的关键点base_url用https://taotoken.net/api不要自己拼多余的路径模型名按你实际可用的填。技能内容通过 system 消息注入或者由你的 Agent 框架在检测到触发词时自动加载。5. 验证请求确认技能真的被加载了配置写完别急着高兴先发一次最小验证请求确认通道通、技能生效。第一步验证 API 通道本身是否可用curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer $TAOTOKEN_API_KEY能返回模型列表说明 Key 和地址都没问题。如果这里就报 401先回去检查 Key 是否复制完整、有没有多余空格。第二步验证技能触发。发一条带触发词的请求看输出是否符合SKILL.md里定义的格式resp client.chat.completions.create( modelclaude-sonnet-4-5, messages[ {role: system, content: open(weekly-report/SKILL.md).read()}, {role: user, content: 帮我写周报这周修了两个 bug用户中心改版完成 60%。}, ], ) print(resp.choices[0].message.content)成功的标志有三个输出带上了【周报】标题、正文按“本周完成/进行中/下周计划”分块、每条控制在 50 字以内。如果格式对上了说明技能包被正确加载并遵循了。第三步做一次“负向测试”。发一条不含触发词的请求比如“帮我写个快排”看 AI 是否没有套用周报格式。如果它还是输出周报说明description写得太宽泛需要收窄触发条件。6. 本篇常见错排查技能不生效AI 完全没按格式走。先查文件夹名大写字母和下划线都会导致加载失败改成全小写加连字符。再查description是否写清了触发场景太笼统的“处理各种任务”基本等于没写。YAML 头部解析报错。最常见的是---没顶格、冒号后面没空格、或者 description 里用了未转义的特殊字符。YAML 对缩进和符号很敏感建议先用在线 YAML 校验器过一遍。API 返回 401 或 403。九成是 Key 的问题复制时带了换行、用了已删除的 Key、或者环境变量没生效。用echo $TAOTOKEN_API_KEY确认变量真的有值。请求 404。检查 base_url 是不是写成了https://taotoken.net/api/带尾斜杠或者自己多拼了/v1/v1。保持https://taotoken.net/api原样即可。脚本执行报“找不到模块”。脚本头部用# /// script声明依赖运行时才会自动装。如果你手动跑记得先pip install pandas。另外脚本不要有input()这类交互调用AI 环境里会直接卡住。输出格式时好时坏。多半是示例给得不够具体。在SKILL.md里补一组完整的“输入 → 输出”对照AI 的稳定性会明显提升。7. 把技能沉淀成资产下一步怎么走跑通第一个技能后你会发现真正有价值的不是某个具体技能而是“把重复流程写成 SKILL.md”这个习惯。团队代码规范、文档模板、数据清洗流程、发布检查清单都可以沉淀成技能包谁需要谁加载。如果你要长期做编码类或 Agent 类工作流建议把 Key 管理和调用通道固定下来避免每次换项目都重配一遍。可以到 Coding Plan 页面看看适合长期使用的方案日常调试和验证模型输出用模型对话页面直接试最快需要新建或轮换 Key去 API Keys 页面操作接入细节和参数说明接入文档里有完整对照。动手建议先挑一个你每周都要重复做、且规则明确的任务花二十分钟写成SKILL.md用本篇的验证方法跑一遍。第一个技能跑通之后第二个会快得多。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →