prompt-engineering:把 Agent 的 Prompt 寫成可複用的工程規範

前言

做 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

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

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

小夜