Prompt Engineering: Writing Agent Prompts as Reusable Engineering Standards

前言

做 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 用六条原则约束写法,便于和「堆规则」区分:

  1. Explicit over implicit:对输出格式、行为写清楚,少靠模型猜意图(面向 Claude 4.x、GPT-4.1 等按字面执行的模型)。
  2. Objective over instruction:对 OpenAI o 系列、带 extended thinking 的 Claude,写清目标即可,不必强行规定逐步方法。
  3. Structure signals intent:用 XML 标签、分隔符和一致排版表达结构。
  4. One good example beats many rules:few-shot 示例格式一致,往往比长段规则更有效。
  5. Feedback loops are built-in:在定稿前让模型自检、批评或打分。
  6. 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。典型用法是让助手在下列场景自动套用文中模式与检查项:

  1. 结构化 system prompt:角色 + 专长 + 准则 + 输出格式;复杂段用 XML 包裹。
  2. Agent 循环:按 ReAct 设计「思考 → 调工具 → 读 observation」的提示与停止条件;Claude 4 可在工具之间用 interleaved thinking。
  3. 难题探索:在成本可接受时用 ToT(多策略、淘汰弱枝)或 self-consistency;常规模型用 few-shot CoT。
  4. 推理模型任务:对 o3/o4-mini 写清目标与工具契约,避免 "Let's think step by step" 等冗余 CoT。
  5. 优化迭代:先定指标,再对 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye