Agent / Skill 高效表达指南
Overview
用最少的 token 传递最多的有效信息,同时最大化模型准确率。本文综合 4 份权威来源,提炼出核心原则、关键词体系、句式模式、反模式清单及量化数据,为 AGENTS.md 和 SKILL.md 的编写提供可操作的精简表达指南。
为什么重要
写 prompt 不止是表达内容,更是表达成本——每个词都是 token,每个 token 都对应推理延迟和上下文窗口占用。用粗放散文写 SKILL.md,不仅烧 token,还稀释关键约束让模型抓不住重点。本文是 Anthropic 官方 + 国内多个实践派的综合精简表达指南,覆盖关键词体系、句式模式、反模式清单,让你的 AGENTS.md / SKILL.md 既精简又准确。
为什么重要
写 prompt 不止是表达内容,更是表达成本——每个词都是 token,每个 token 都对应推理延迟和上下文窗口占用。用粗放散文写 SKILL.md,不仅烧 token,还稀释关键约束让模型抓不住重点。本文是 Anthropic 官方 + 国内多个实践派的综合精简表达指南,覆盖关键词体系、句式模式、反模式清单,让你的 AGENTS.md / SKILL.md 既精简又准确。
核心原则
“找到最小的、高信号的 token 集合,最大化达成期望结果的可能性。” — Anthropic, Effective Context Engineering for AI Agents, 2025.09
三条底线:
- 每个 token 都在消耗模型的注意力预算 — 冗余指令加速”上下文腐烂”(context rot),导致关键信息被遗忘
- AGENTS.md 控制在 300 行以下 — 什么都重要 = 什么都不重要
- SKILL.md 正文不超过 500 行 — 超出拆分到独立引用文件
高效关键词表
约束力关键词(从强到弱)
| 关键词 | 约束力 | 适用场景 | 来源 |
|---|
Never/禁止 | 绝对禁止 | 红线、安全规则 | Anthropic Skill Best Practices |
MUST/必须 | 硬性要求 | 格式、路径、审批流程 | RFC 2119 |
Always/始终 | 始终执行 | 每次执行都不能跳过的步骤 | Claude Prompting Best Practices |
SHOULD/应该 | 强烈建议 | 有合理例外的场景 | RFC 2119 |
Default to X/默认 | 有默认值 | 配置项、格式选择 | Anthropic Context Engineering |
Prefer X over Y | 偏好 | 多种方案都行但有优先级 | AGENTS.md 实践指南 |
可以/May | 可选 | 自由度高的决策点 | RFC 2119 |
动作关键词
| 关键词 | 模型行为 | 来源 |
|---|
Read/读取 | 读文件,不修改 | Anthropic |
Write/写入 | 创建或覆盖文件 | Anthropic |
Append/追加 | 追加内容,不覆盖 | claw-flow 约定 |
Validate/校验 | 检查但不修改 | Anthropic |
Stop/停止 | 中止执行并报错 | Claude Prompting Best Practices |
Ask user/询问用户 | 中断等待人类输入 | Anthropic Context Engineering |
绝对不要用的词(模糊 = 被忽略)
| 反模式 | 问题 | 替换 | 来源 |
|---|
尽量/try to | 模型选择性忽略 | 必须/MUST | AGENTS.md 实践指南 |
你可以考虑/you might | 无约束力 | Always do X | Claude Prompting Best Practices |
推荐/recommend | 模型当建议而非指令 | Default to X | Anthropic |
请注意/note that | 装饰性废话 | 直接写规则 | Strunk 简洁原则 |
在这种情况下 | 可删除的填充词 | 直接写条件 | Token Optimize |
确保/make sure | 冗余(指令本身就是要求) | 删除,直接写动作 | Strunk |
句式模式
命令式(最高效)
动词 + 对象 + 约束
| 废话版(多 2-3 倍 token) | 精简版 | 节省 |
|---|
| ”在进行编译之前,你应该确保先读取配置文件" | "编译前 read workspace/{project_id}/config/*.yaml” | 60% |
| “请注意,你不应该直接写入 wiki 目录" | "Never write workspace/{project_id}/wiki/ directly” | 55% |
| “你可以考虑在完成任务后清理临时文件" | "任务结束 → delete workspace/tmp/“ | 50% |
条件式
条件 → 动作
| 废话版 | 精简版 |
|---|
| ”如果在执行过程中发现配置文件不存在的情况" | "配置缺失 →" |
| "当用户提供的输入不符合预期格式时" | "输入格式错误 →“ |
表格式(信息密度最高)
同等内容,表格比散文省 40-60% token,且模型解析更准确。
反模式清单
表达层反模式
| 反模式 | 示例 | 问题 | 正解 | 来源 |
|---|
| 空洞修饰 | ”这个非常重要的步骤” | 浪费 token,零信息量 | 删除修饰词 | Strunk 规则 13 |
| 被动语态 | ”文件将被写入到目录中” | 多 token、主语不明 | ”kb-collect 写入 workspace/{project_id}/raw/“ | Strunk 规则 10 |
| 否定绕弯 | ”不是不可以” / “not uncommon” | 认知负担 | ”可以” / “common” | Strunk 规则 11 |
| 重复解释 | 同一规则在 3 个地方写 | 注意力分散 | 写一次 + 交叉引用 | Anthropic |
| 过度 CRITICAL | ”CRITICAL: You MUST …” | 过度触发,模型过度收紧 | 中性条件式指令 | Claude Best Practices |
| hedging 堆砌 | ”可能需要考虑也许…” | 无约束力 | 直接给结论 | AGENTS.md 实践指南 |
结构层反模式
| 反模式 | 问题 | 正解 | 来源 |
|---|
| 巨型文件 | 5000 行 AGENTS.md | 300 行以下 + 渐进式披露 | AGENTS.md 实践指南 |
| 嵌套引用过深 | A.md → B.md → C.md | 引用保持一级深度 | Anthropic Skill Best Practices |
| 术语不一致 | 混用 endpoint / URL / route | 全文统一一个术语 | Anthropic Skill Best Practices |
| 示例过多 | 10+ few-shot | 3-5 个最佳,过多降低泛化 | Claude Best Practices |
| 边缘案例堆砌 | prompt 里列举 20 个 if-else | 给出核心规则 + 少量示例让模型泛化 | Anthropic Context Engineering |
量化数据
精简表达的 token 节省
| 优化手段 | 节省幅度 | 准确率影响 | 来源 |
|---|
| 命令式替代说明式 | 50-60% | 提升(指令更明确) | Strunk + Anthropic |
| 表格替代散文 | 40-60% | 提升(结构化更利于解析) | Token Optimize |
| 删除修饰词 / hedging | 15-25% | 提升(信噪比提高) | Strunk 规则 13 |
| 渐进式披露(正文 + 引用) | 60-80% | 无影响(按需加载) | Anthropic Skill Best Practices |
| 正面指令替代负面指令 | 10-20% | 提升(目标形态更明确) | Claude Best Practices |
冗余对准确率的负面影响
| 冗余类型 | 准确率下降幅度 | 机制 | 来源 |
|---|
| context 长度翻倍 | 5-15% | 注意力稀释 + context rot | Anthropic Context Engineering |
| 重复规则 3 次以上 | 3-8% | 模型困惑”为什么反复强调” | Claude Best Practices |
| few-shot 超过 5 个 | 5-10% | 过拟合到具体样本 | Claude Best Practices |
| 边缘案例堆砌 >10 条 | 10-20% | 核心规则被淹没 | Anthropic Context Engineering |
Agent / Skill 精简写法速查
AGENTS.md 精简 Checklist
[ ] 总行数 ≤ 300
[ ] 前 10 行建立项目心智模型(是什么 + 技术栈 + 仓库结构)
[ ] 硬性规则用"禁止"/"必须"/"Never",不用"建议"/"尽量"
[ ] 每条规则附 WHY(模型能自主泛化到类似场景)
[ ] 详细内容放 docs/,AGENTS.md 只放引用链接
[ ] 术语全文统一(如 workspace / 工作区 只用一个)
[ ] 命令用速查表格式(一行一命令 + 注释)
[ ] 表格 > 散文(同等信息密度高 40-60%)
[ ] 无空洞修饰词(删除"非常"/"重要的"/"请注意")
SKILL.md 精简 Checklist
[ ] 总行数 ≤ 500(超出拆分到 references/)
[ ] Description 包含能力动词 + 领域名词 + 触发场景
[ ] Step 用"动词 + 对象 + 约束"三段式
[ ] 每个 Step 只做一件事
[ ] 条件用"→"箭头式,不用"如果...那么..."
[ ] 无被动语态("文件被写入" → "写入文件")
[ ] 无否定绕弯("不是不可以" → "可以")
[ ] 关键约束用 Never / MUST,不用"尽量"/"推荐"
See Also