前言¶
做 Agent 或复杂 LLM 应用时,常见问题不是「模型不够聪明」,而是提示词零散:同一类任务有时用 CoT,有时硬写步骤,换模型(Claude 4.x、GPT-4.1、OpenAI o 系列)后效果反复调。网上技巧贴很多,但缺少和官方文档对齐、能直接挂进 Cursor / Claude Code 等环境的系统化说明。下面介绍 oakoss 维护的 prompt-engineering Skill:把推理模式、模板、扩展思考与工具调用设计收进一份可安装的 Agent Skill,供编码助手在相关任务里按同一套原则行事。
这是什么¶
prompt-engineering 是 oakoss/agent-skills 仓库中的单个 Skill,路径为 skills/prompt-engineering。元数据标明:作者 oakoss,版本 1.0,许可证 MIT;内容参考 Anthropic Prompt engineering 文档。Skill 描述覆盖:为推理模型编写提示、实现 Chain-of-Thought(CoT)或 Tree-of-Thoughts(ToT)、设计 ReAct 循环、构建 few-shot、优化提示表现、结构化 system prompt、使用 extended thinking、以及设计工具调用工作流;也适用于提示模板、多步 Agent 工作流、结构化思考协议和多模态提示。
该 Skill 在清单里标记为 user-invocable: false,即通常由 Agent 在匹配场景时自动选用,而不是用户每次手动 @ 调用;安装后仍会通过 Skill 机制影响助手在相关任务上的行为。
核心功能¶
设计原则(Key Principles)¶
Skill 用六条原则约束写法,便于和「堆规则」区分:
- Explicit over implicit:对输出格式、行为写清楚,少靠模型猜意图(面向 Claude 4.x、GPT-4.1 等按字面执行的模型)。
- Objective over instruction:对 OpenAI o 系列、带 extended thinking 的 Claude,写清目标即可,不必强行规定逐步方法。
- Structure signals intent:用 XML 标签、分隔符和一致排版表达结构。
- One good example beats many rules:few-shot 示例格式一致,往往比长段规则更有效。
- Feedback loops are built-in:在定稿前让模型自检、批评或打分。
- Token economy matters:压缩上下文、去掉废话,关键信息前置。
按模型区分的写法¶
- Claude 4.x:高精度遵循指令;推荐
<rules>、<context>、<output_format>等 XML 分段;正向描述「要做什么」;可利用 extended thinking、interleaved thinking。 - OpenAI o-series(o3、o4-mini):内部消耗 reasoning tokens;用 developer message 而非 system;函数描述当作接口契约;不要额外加显式推理提示;多轮时按 API 要求回传 persisted reasoning items。
- GPT-4.1 与常规模型:适合显式分步、few-shot、结构化输出 schema;CoT 与结构化思考协议更有价值。
- 多模态:说明每张图代表什么、动作动词明确、多图要标明关系;必要时裁剪到相关区域。
模式速查(Quick Reference)¶
Skill 提供对照表,把任务和技法对应起来,例如:
| 模式 | 要点 |
|---|---|
| Zero-shot CoT | 用 "Let's think step by step" 等触发,无示例也可拉推理 |
| Few-shot CoT | 示例里带完整推理链 |
| Self-consistency | 多路径生成再多数表决,适合难题 |
| Tree-of-Thoughts | 并行多种策略并剪枝,成本高 |
| ReAct | Thought → Action → Observation 循环 |
| Extended thinking / Interleaved thinking | Claude 上预算化深度思考、工具调用间思考 |
| Think tool | 无操作工具,为 Agent 留出结构化推理空间 |
| Reasoning models | o3/o4-mini 用目标导向提示,勿叠 CoT |
| Token optimization | 控制延迟与费用 |
常见错误与纠正¶
资料以表格列出典型反例,例如:单条提示塞满规则 → 应分层级与优先级;对推理模型硬写逐步计划 → 应目标导向;在推理模型上再加 CoT → 冗余甚至有害;Claude 的 thinking 块不应塞进 user 文本,应保持在 assistant 消息中原样回传;优化前没有基线指标 → 应先度量再单变量 A/B。
工程化工作流¶
截断前的 Workflow 从「定义目标与成功指标」起步,再「选对模式(CoT、ReAct、ToT 等)」——完整步骤以仓库内 SKILL 正文为准。整体取向是:先度量,再改提示,且一次只动一个变量。
安装与启用¶
Skill 随 agent-skills 集合分发,安装方式与仓库 README 一致。浏览或预览:
pnpm dlx skills add oakoss/agent-skills --list
只安装 prompt-engineering:
pnpm dlx skills add oakoss/agent-skills -s prompt-engineering
安装全部 Skill:
pnpm dlx skills add oakoss/agent-skills --all
指定目标 Agent(示例为 Claude Code):
pnpm dlx skills add oakoss/agent-skills -a claude-code
用户级全局安装:
pnpm dlx skills add oakoss/agent-skills -g
集合说明支持 Claude Code、Cursor、Gemini CLI、OpenAI Codex、VS Code、GitHub Copilot 等(见 agentskills.io)。各客户端具体 Skill 目录以所用工具的文档为准;本 Skill 遵循通用 SKILL.md 格式。
典型用法¶
Skill 本身是指南型能力,不提供单独 CLI。典型用法是让助手在下列场景自动套用文中模式与检查项:
- 结构化 system prompt:角色 + 专长 + 准则 + 输出格式;复杂段用 XML 包裹。
- Agent 循环:按 ReAct 设计「思考 → 调工具 → 读 observation」的提示与停止条件;Claude 4 可在工具之间用 interleaved thinking。
- 难题探索:在成本可接受时用 ToT(多策略、淘汰弱枝)或 self-consistency;常规模型用 few-shot CoT。
- 推理模型任务:对 o3/o4-mini 写清目标与工具契约,避免
"Let's think step by step"等冗余 CoT。 - 优化迭代:先定指标,再对 prompt 变体做 A/B;输出用 JSON mode 或 schema,避免手写解析非结构化回复。
具体模板句式、标签命名和 API 参数以 Skill 全文及 Anthropic / OpenAI 官方文档为准。
适用场景与注意¶
适合:需要结构化推理的提示设计、多步 Agent 编排、可复用 prompt 模板、extended thinking 配置、图文多模态提示、工具调用流程设计,以及提示质量与 token 成本的系统化优化。
不适合(Skill 原文 When NOT to use):简单事实问答、直接检索、以及更适合开放式生成的创意写作——这些场景不必加载整套高级模式。
注意:
- 推理模型与常规模型的提示策略相反:前者忌过度规划,后者常需 CoT 与分步说明。
- ToT、self-consistency 会显著增加调用次数与 token,需在任务难度与预算间权衡。
user-invocable: false表示依赖 Agent 自动匹配;若环境未加载该 Skill,行为不会生效。- 资料版本为
1.0;模型族名称(如 Claude 4.x、GPT-4.1)以 Skill 正文为准,升级模型后应回看 Model-Specific 一节。
结尾¶
prompt-engineering 把 Prompt 从零散技巧收成与官方文档对齐的一套原则、模式表、反例清单和工作流,适合作为 Agent 项目的「提示层规范」。在需要系统化改写 system prompt、设计 ReAct/ToT 或区分推理模型与常规模型时,可通过 agent-skills 安装后交给编码助手按需引用。
官方地址:https://github.com/oakoss/agent-skills/tree/main/skills/prompt-engineering