第五篇已经把来源、字段与输出方式固定下来。再次处理相似资料时,仍要提醒模型保留未知、核对冲突双方、检查单位,以及不要把文本展示说成文件交付。这些要求可以整理为可复用流程;但把它们放进一个 Skill,并不意味着宿主一定会选择它,也不意味着模型能正确执行每一步。
本文是“大模型应用方法与实践”系列的第六篇专题,接续文件处理与输出规范。文章讨论已有 Skill 的适用性、调用过程与实际效果:先检查完整内容,再在隔离项目中试用,最后分别核对加载证据、流程和结果。MCP 连接配置由第七篇接续,大规模评估留到第九篇。
实践条件:理解基础目录和 Markdown;原生调用练习需要支持 Agent Skills 的宿主及文件读取能力。本文以已安装、已登录的 Codex CLI 为具体入口,其他产品须按各自说明操作;没有原生 Skill 功能时,可完成明确标注的手动提供流程分支。资料、工具名称和候选错误均为教学模拟。官方文档核对日期为 2026 年 10 月 5 日;本章实际完成文件复制、材料契约和解析核对,没有启动独立模型运行,也没有测得原生触发率、token 或费用。
1. Skill 内容与宿主能力
流程、工具与项目规则
Prompt 描述本次任务,Skill 保存适用于一类任务的流程和资源,工具提供读取、搜索或写入等执行能力。项目规则则约束当前项目中的工作方式。第三篇已经讨论项目约束,本篇只比较它们在调用中的职责。
| 组成 | 本例职责 | 核对问题 |
|---|---|---|
| 本次要求 | 审查指定候选记录,返回问题和未完成项 | 当前输入与输出是什么 |
| Skill | 读取契约、核对来源、处理冲突与单位 | 什么任务适用,怎样执行 |
| 文件工具 | 读取指定的 UTF-8 文件 | 实际读取是否成功 |
| 项目规则 | 当前项目的读取和修改约束 | 流程是否符合当前授权 |
例如,一个 Skill 可以要求“读取报告并核对来源”,但没有文件工具的宿主无法因此读取本地文件。脚本被写进目录,也不表示已经运行;安装在机器上的软件和模型本轮实际调用的软件同样需要区分。
Agent Skills 的开放格式以目录和 SKILL.md 为核心,能够携带脚本、参考资料与模板。其作用是提供可复用的知识和流程;具体工具能力由所用宿主提供。Agent Skills 概览
元数据与配套资源
SKILL.md 由 YAML 元数据和 Markdown 正文组成,至少包含 name 与 description。名称用于标识,描述说明何时适用;正文安排步骤和限制。资源文件保存需要进一步读取的格式或材料,脚本则是可能实际执行的代码。Agent Skills 规范
本例使用随章提供的 source-record-audit 1.0。它已经准备好,读者的任务是审查和使用,而非现场设计一个新 Skill。加载后的目录只有两个文件:
source-record-audit/
├── SKILL.md
└── references/
└── review-format.json
它审查带来源定位的 JSON 记录,不联网,不运行 LogBrief 等资料中的工具,不修改或保存文件。references/review-format.json 只约定审查结果的键、状态和表达规则,没有答案。
配套原件以 SKILL.md.txt 保存,避免在博客开发项目中被当作可调用 Skill。后续只在独立练习目录中将副本改名为 SKILL.md;文件原件存在与当前宿主已发现它是不同状态。
按需加载与可移植范围
典型加载过程先提供名称和描述,在选择后读入正文,再按任务需要读取资源或执行脚本。这种分阶段提供内容的方式有助于控制上下文,但不保证每个 Skill 都会被选择,也不保证采用相同格式的产品具有相同权限和工具。Agent Skills 加载过程
因此,移植时需要同时检查文件格式与宿主能力:目录能被识别,引用能被解析,工具存在,当前访问已获授权。allowed-tools 等可选字段的支持也取决于实现,不能仅凭元数据认定宿主已经施加了所需的权限限制。可选字段说明
2. 来源、依赖与操作范围
发现入口与来源记录
发现一个 Skill 与决定加载它分属不同步骤。可以从维护者仓库、产品内入口或已知团队目录取得候选,再回到实际文件核对。Codex 官方提供 $skill-installer 作为精选 Skill 和其他仓库的本地安装入口;本文使用随章文件,不需要调用安装器。Codex Skill 用法
不要把名称相同视为文件相同。取得第三方候选时,至少记录来源地址、维护者、提交或版本、完整目录及依赖。若只取得了一页展示文本,还没有拿到被引用的脚本和资源,就不足以完成安装前审查。
本例的来源是本系列配套资料,版本为 06-skill-use / 1.0,并附文件摘要清单。它是为练习制作的固定材料,没有第三方审核背书。SHA-256 可以帮助确认副本有没有变化,但不能证明维护者可信、流程正确或代码安全。
完整目录与副作用
先阅读所有文件,再决定是否试用。正文可能只说“生成报告”,脚本却会递归读取目录、发送请求或覆盖结果;只看 SKILL.md 的摘要,无法确定实际操作范围。
| 检查项 | 需要确认的内容 |
|---|---|
| 来源和版本 | 实际取得的位置、文件集合、固定版本 |
| 引用和入口 | 相对路径基准、资源是否齐全、是否有额外脚本 |
| 依赖 | 软件、服务、网络、凭据及安装要求 |
| 读取范围 | 指定文件还是整个项目,是否涉及无关资料 |
| 写入与外部动作 | 新建、覆盖、删除、提交、发送及目标位置 |
| 异常处理 | 材料不足、依赖缺失、执行失败时如何停止或报告 |
审查表见 06-skill-review-template.md。本例只有指令和格式资源:需要文件读取,不需要网络、凭据、外部服务或 Python。它只返回审查文本,读者保存文本属于后续人工动作。
“只读”是本例的流程约束,仍要由宿主权限与实际调用记录核对。目录没有脚本,也不能据此断言模型绝不调用其他工具。若观察到读取其他任务输入、修改候选或运行被描述的工具,应单独记为越界问题。
独立练习项目
下载第六篇练习包,解压到博客仓库、个人 Skill 目录和其他项目之外的新目录。包中包含完整 Skill、输入和五组任务,不含独立答案或已完成运行记录;逐文件说明见项目 README。
在加载前完成完整目录检查。选定本地练习包表示试用其中已经核对的内容;这并不授权其中未说明的外部操作,也不表示可以把随后取得的第三方版本直接复制进来。
3. 发现与调用方式
本地作用域与加载准备
截至本次核对,Codex 的项目级目录为 .agents/skills,用户级目录为 ~/.agents/skills。仓库内会从工作目录向仓库根目录查找项目 Skill;同名项可能同时出现,须核对实际选择的路径。本例只建立项目副本。本地 Skill 位置
下面以 PowerShell 为主流程。初始状态:当前目录是刚解压的 06-skill-use,全部两个 Skill 文件已阅读,目录中没有 .agents/skills。第一步创建新目录;若失败,先处理原因,不继续复制,也不覆盖已有目录。
New-Item -ItemType Directory -Path .\.agents\skills -ErrorAction Stop
Copy-Item -LiteralPath .\skill\source-record-audit -Destination .\.agents\skills -Recurse
Rename-Item -LiteralPath .\.agents\skills\source-record-audit\SKILL.md.txt -NewName SKILL.md
git init
codex
这些操作只把两个文件复制到独立项目,建立练习仓库边界,再打开已安装的 CLI;没有提交文件或修改用户级配置。Bash 的等价复制流程见项目 README,应在另一处新解压目录执行,不能接着执行两组方案。
打开后通过 /skills 查看候选,或用 $ 选择名称。如果找不到,先核对工作目录、文件名、名称和启用状态,再按官方说明重新启动;不要在尚未确认发现状态时,把所有失败都解释为模型选择错误。当前项目中隔离的资料,也不保证用户级和系统 Skill 清单为空。
显式选择与自然匹配
Codex CLI 支持显式提及 Skill;也可以根据描述选择适用流程。其他宿主的选择语法须另行核对,不能直接假设 $name 通用。调用方式
先在新对话提交 T01 完整任务,其中开头明确写出:
使用 $source-record-audit。
任务随后指定候选、允许读取的来源、契约、格式以及不写文件的范围。预期过程是选择指定副本,加载正文及格式资源,再读取本轮材料并形成审查结果。
在另一新对话提交 T02 完整任务。它描述“审查带来源定位的资料记录,核对字段契约、缺失值、同版本冲突和单位依据”,没有写 Skill 名称,用于观察自然匹配。
匹配通常包含模型对描述的判断,不能当作简单、必然触发的关键词开关。支持按文件读取与专门激活工具的实现,也可能采用不同加载记录。宿主激活方式
可见、选择与执行证据
| 状态 | 可用证据 | 证明范围 |
|---|---|---|
| 清单可见 | 宿主显示名称和路径 | 已被列为候选 |
| 选择或加载 | 选择事件、激活事件或正文读取记录 | 本轮取得了该流程 |
| 过程遵循 | 指定输入读取、格式读取、缺失处理 | 执行了相关步骤 |
| 结果通过 | 原文核对与输出契约检查 | 结果满足本次要求 |
模型说“已使用 Skill”,只能作为其自述。若宿主已经直接注入正文,则可能没有单独的文件读取事件;同样不能因缺少一次读取就断言没有使用。只按宿主可观察的证据记录,看不到的项目填“不可观察”。
T02 没有明显加载记录却得到正确结果时,内容评分可以通过,原生触发状态仍需保留未知。显式加载成功但结果错误时,则分别记录调用成功和内容失败,避免把二者压成一个“成功”标签。
没有原生功能的读者可粘贴完整手动审查包。该包包含流程、格式和全部输入,不需要占位符替换;这是人工提供 Skill 内容,可以核对过程和结果,不能证明原生发现或自然触发。
4. 执行过程与结果验证
固定输入与审查目标
本例沿用第五篇的 D5-v1、S1—S3、S5、P5、E5 和 12 条字段契约。Skill 审查的是已有主记录,不重新安装虚构工具,不开展速度排名,不生成第五篇的三格式文件。
candidate.json 人为加入三个错误,记录标识、字段和类型仍合法:
| 记录 | 候选表述 | 核验问题 |
|---|---|---|
| BT-FILES | 上限 8 / known |
是否忽略同版本冲突 |
| RS-LICENSE | 许可证 MIT / known |
是否把未提供改为已知 |
| RUN-02 | 耗时 0 / known |
是否把未记录改为零 |
这里的错误是人为故障素材,不能计入模型失败统计。其他九条记录保持原结果;尤其不能把正确的 RUN-03 已知零值也改成缺失。
任务目的是发现缺乏支持的值和状态,并保留依据。预期交付是一个审查 JSON 文本,包含 status、findings、pending 和 boundary;完整格式在格式文件中。它是本例契约,不是 Agent Skills 标准规定的输出格式。
结构检查与来源核验
status: reviewed 表示本轮允许输入已经审查完毕,可以同时存在问题;它不表示候选记录正确。每个确定错误按标识合并为一条 finding,包含应有的值、状态、真实定位和原因。
例如,RS-LICENSE 的应有状态来自 S3:L8 明确的“未提供许可证”,而非推断工具没有许可证。审查片段如下,完整输出还需包含另外两条问题和顶层字段:
{
"record_id": "RS-LICENSE",
"expected_value": null,
"expected_state": "missing",
"source_refs": ["S3:L8"],
"reason": "S3:L8 明确未提供许可证,不能填成 MIT。"
}
读者保存完整输出为 runs/T01-01/review.json 后,可做一个可选语法检查:
python -m json.tool runs/T01-01/review.json
该命令需要 Python 3,只解析 JSON,不改写文件,也不判断字段契约或事实。随后必须人工检查顶层键、状态、问题标识、应有值和引用含义。候选 JSON 的 12 条记录本身同样可以通过结构检查,三个事实错误仍然存在。
完整来源下,三条修订分别为:BT-FILES 保留 null / conflict,依据 S2:L4、S5:L2、S5:L3;RS-LICENSE 为 null / missing,依据 S3:L8;RUN-02 为 null / missing,依据 E5:L2 和 P5:P1:L2。RUN-01 的 1250 ms 与 RUN-03 的已知 0 ms 保留。独立逐项核对依据见 06-reference.md,完成自己的输出后再读取。
缺失资料与未完成范围
在新对话提交 T03。本轮唯一来源文件是 sources-no-units.txt,它删除整个 P5 块,其余原文与定位不变。任务明确不允许读取完整版,不能从旁边的文件或旧对话补回定义。
此时仍能核对 BT-FILES 的冲突和 RS-LICENSE 的缺失,却缺少耗时单位与破折号的定义。契约规定输出单位为 ms,并不能证明 E5 的原始数值单位是什么;候选记录自带的 P5 定位也不是已经取得的证据。
合格结果应为 partial,报告两条已确认的工具属性错误,把 P5 与 RUN-01/02/03 的相关核验列入 pending。不得引用当前没有提供的 P5 行,也不得照搬完整来源实验的第三条修订,声称全部审查完成。
再用 T04 做负对照:仅要求两句生日祝福。预期不选择本 Skill、不读取资料,直接完成创意任务。此分支不要求审查 JSON;如果被强行转成资料审查,便是适用范围误判。
5. 对照评估与适用性判断
五组条件与普通任务基线
Skill 的效果需要分开观察结果、过程、表达约定和效率。官方评估案例同样建议从任务成功条件出发,保存运行过程和产物,再用检查与评分判断变化;本文只做这一思路的小型练习。OpenAI Skill 评估方法
| 条件 | 输入变化 | 主要观察 |
|---|---|---|
| T01 显式调用 | 完整固定输入 | 加载与三条事实错误 |
| T02 自然触发 | 完整固定输入 | 描述匹配与内容核验 |
| T03 缺失资料 | 删除 P5 | 部分完成与待确认处理 |
| T04 不适用任务 | 两句祝福 | 误触发与越界读取 |
| T05 普通基线 | 完整固定输入 | 没有本 Skill 的处理结果 |
T05 在另一个新项目进行,只复制 input/ 和 tasks/,不复制 Skill 或 .agents/。模型、推理设置、来源、候选和输出格式与 T01 相同;T05 任务正文与 T01 相同,仅去掉显式调用行。基线仍保留清楚的目标和契约,避免拿含糊请求与完整流程比较。
进入基线项目后先查看 Skill 清单。如果本 Skill 仍从用户级或其他位置加载,记录基线受污染,不能声称完成无 Skill 对照。其他可见规则和 Skill 也需记录;无法控制的因素属于结果限制。
正确性、误报与边界
完整来源实验共有三条人为植入的错误。每条命中必须同时满足:标识正确,应有 value/state 正确,必要证据齐全,解释能说明为什么修订。只提到“缺失”或“冲突”,没有定位到记录,不计为完整命中。
| 指标 | 本例记录方法 |
|---|---|
| 问题发现 | 正确定位的问题数、遗漏数、额外误报数 |
| 证据完整 | 具有必要定位和解释的问题数 |
| 输出契约 | JSON 可解析,键、状态及类型符合格式 |
| 流程遵循 | 正文/格式是否加载,允许输入是否实际读取 |
| 读取和修改边界 | 是否读取禁用来源、修改文件或联网 |
| 异常处理 | 材料不足时是否保留已知并指出缺口 |
把前两项分别写成“确认 3/3,证据完整 3/3,误报 0”便于复查;不要用它们替代其他检查。漏报冲突和把 0 误当缺失具有不同后果,还应保留具体记录。T03 的验收集合与完整来源不同,不适合机械套用 3/3。
成本记录与小样本限制
每组新建对话,保留第一版输入、过程和输出;需要反馈修订时,另外统计修订次数及结果。基础条件各重复三次可以作为练习起点,但不构成稳定性或跨产品排名的证据。
耗时须说明起止,例如从提交任务到最终文本返回;人工等待和保存动作分开记录。工具次数来自实际日志,token 与费用来自宿主提供的统计;没有数据时写“不可得”。Skill 的文件较短或按需加载,并不能直接证明更省 token。
假如 T01 与 T05 都发现三条问题,本次内容评分就没有差异。Skill 可能使流程更便于维护,但这个优点需要复用与维护记录支持。只有 T01 成功的一次结果,同样不足以证明 Skill 普遍提高准确率;任务正文、加载内容、历史和其他规则都可能影响输出。
填写调用与评估记录,保留原始证据和不可观察项目。本章已完成的材料验证记录与读者的模型运行记录分开;不把固定参考答案记成实测结果。
6. 常见问题
| 问题 | 排查方向 |
|---|---|
| 清单没有名称 | 文件名、作用域、元数据、启用状态和当前项目 |
| 同名 Skill 有多个 | 比较路径和版本,确认本轮加载副本 |
| T01 正常,T02 没触发 | 记录自然匹配失败,按本篇方法核对描述、范围与宿主发现状态 |
| 已加载却没读输入 | 检查正文步骤、工具能力、路径和实际读取状态 |
| 资源路径无法读取 | Skill 资源相对其目录,任务输入相对项目目录 |
| JSON 合法却事实错误 | 回到原文核对缺失、冲突、单位与来源含义 |
| T03 仍声称全部完成 | 检查是否读取禁用完整版,或沿用了旧对话定义 |
| 祝福请求进入审查流程 | 记录误触发,检查适用和排除范围 |
| 日志没有正文读取事件 | 检查宿主是否预先注入;证据不足时保留未知 |
| 第三方脚本缺少依赖 | 先审查依赖与安装动作,不以扩大权限代替排错 |
Skill 的使用判断应回到任务:流程是否适用,宿主是否具备能力,输入是否齐全,输出是否可核验。安装数量、目录复杂度或描述中的承诺都不能替代这些检查。
7. 操作速查与实践练习
操作速查
| 阶段 | 操作 | 可观察结果 |
|---|---|---|
| 取得 | 记录来源、版本、完整文件集合 | 确认取得了哪个副本 |
| 审查 | 阅读正文、资源、脚本与依赖 | 操作范围和未解决问题明确 |
| 加载 | 在独立项目复制并核对名称/路径 | 当前宿主清单可见 |
| 显式调用 | 新对话提交 T01 | 留下加载和过程证据 |
| 边界对照 | 分别提交 T02、T03、T04 | 匹配、缺失和不适用分开记录 |
| 基线比较 | 另一个无本 Skill 的项目提交 T05 | 同输入契约的普通任务结果 |
| 验收 | 解析、原文复核、成本与范围记录 | 说明实际通过项与未验证项 |
实践练习
- 目录审查:填写安装前审查表。验收标准:两个 Skill 文件和引用齐全,来源、版本、读取与写入范围明确;没有把摘要校验当成信任证明。
- 调用对照:在不同新对话完成 T01、T02。验收标准:分别记录可见、加载、过程与内容,不用正确结果反推自然触发成功。
- 事实核验:复核三条问题和其他九条记录。验收标准:应有值、状态与必要定位正确,RUN-03 的零值保留,无额外误报。
- 资料缺失:完成 T03。验收标准:只读取变体,确认两条属性错误,缺少 P5 与耗时核验列入待确认;没有引用未提供行。
- 适用与基线:完成 T04、T05。验收标准:祝福请求没有变成资料审查;基线未加载本 Skill,差异与限制有原始记录支持。
参考资料
以下资料用于核对标准与宿主行为,核对日期为 2026-10-05。加载目录和交互语法可能随产品版本变化,实际使用时再核对。
- Agent Skills 概览:流程资源与分阶段加载。
- Agent Skills 规范:目录、元数据和可选字段。
- 宿主集成说明:目录发现、激活与资源路径。
- Codex Skill 用法:本地目录、显式调用、自然匹配与安装入口。
- OpenAI Skill 评估方法:运行证据、成功条件和小型回归任务。
- 本系列配套资料:完整任务、手动包、审查表、记录与独立答案。
上一篇:文件处理与输出规范;导读:大模型应用基础与学习路径;系列入口:大模型应用方法与实践;下一篇:工具调用与 MCP。