前言¶
做 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