mcpField
P
prompt-engineering

prompt-engineering

github.com/codealive-aiAgent 工作流167147 次安装2 天前更新
代码仓库

关于 prompt-engineering

面向各类 LLM 的通用提示词工程技能,提供编写与审查提示词的方法。内容结合结构组织、输出控制、技术目录、风险参考和提示词审计流程。

主要功能

  1. 01使用 XML 标签组织提示词
  2. 02控制输出长度与格式
  3. 03涵盖多类提示技术
  4. 04说明事实性、安全与偏见风险
  5. 05按八个维度审查提示词

适用场景

  1. 01为 LLM 任务组织指令
  2. 02设计供工具调用 Agent 使用的提示词
  3. 03检查提示词的清晰度与安全性
  4. 04适配批处理或 RAG 工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/codealive-ai/ai-driven-development --skill prompt-engineering

安装后在 Claude Code 中输入/prompt-engineering确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
claude-fable5-prompting.md
claude-fable51-prompting.md
claude-family-prompting.md
evaluation-redteaming.md
failure-taxonomy.md
gemini3-family-prompting.md
gpt5-family-prompting.md
gpt5-prompting-guide.md
gpt56-sol-prompting.md
gpt6-astra-prompting.md
mistakes-context.md
mistakes-debt.md
mistakes-hallucinations.md
mistakes-security.md
mistakes-structure.md
prompt-audit-checklist.md
prompting-introduction.md
prompting-risks.md
prompting-techniques.md

详细介绍

提示词工程

适用于任何大模型的通用技巧,帮助编写有效的提示词。

核心原则

1. 使用 XML 标签构建结构

使用 XML 标签创建清晰、可解析的提示词:

<context>Background information here</context>
<instructions>
1. First step
2. Second step
</instructions>
<examples>Sample inputs/outputs</examples>
<output_format>Expected structure</output_format>

优点:

  • 清晰度:区分上下文、指令和示例
  • 准确性:防止模型混淆各个部分
  • 灵活性:便于单独修改各个部分
  • 可解析性:便于提取结构化输出

最佳实践:

  • 全程使用一致的标签名称(使用 <instructions>,不要有时改用 <steps>)
  • 明确引用标签:“使用 <context> 标签中的数据……”
  • 使用嵌套标签表示层级:<examples><example id="1">...</example></examples>
  • 与其他技巧结合使用:用 <thinking> 表示思维链,用 <answer> 表示最终输出
2. 控制输出形式

明确指定长度、格式和结构方面的限制:

<output_spec>
- Default: 3-6 sentences or ≤5 bullets
- Simple yes/no questions: ≤2 sentences
- Complex multi-step tasks:
  - 1 short overview paragraph
  - ≤5 bullets: What changed, Where, Risks, Next steps, Open questions
- Use Markdown with headers, bullets, tables when helpful
- Avoid long narrative paragraphs; prefer compact structure
</output_spec>
3. 防止偏离范围

明确限制模型不应执行的操作:

<constraints>
- Implement EXACTLY and ONLY what is requested
- No extra features, components, or embellishments
- If ambiguous, choose the simplest valid interpretation
- Do NOT invent values, make assumptions, or add unrequested elements
</constraints>
4. 明确处理歧义

避免幻觉和过度自信:

<uncertainty_handling>
- If the question is ambiguous:
  - Ask 1-3 precise clarifying questions, OR
  - Present 2-3 plausible interpretations with labeled assumptions
- When facts may have changed: answer in general terms, state uncertainty
- Never fabricate exact figures or references when uncertain
- Prefer "Based on the provided context..." over absolute claims
</uncertainty_handling>
5. 为长上下文提供依据

对于超过 10k 个 token 的输入,添加重新锚定上下文的指令:

<long_context_handling>
- First, produce a short internal outline of key sections relevant to the request
- Re-state user constraints explicitly before answering
- Anchor claims to sections ("In the 'Data Retention' section...")
- Quote or paraphrase fine details (dates, thresholds, clauses)
</long_context_handling>

Agent 提示词

工具使用规则
<tool_usage>
- Prefer tools over internal knowledge for:
  - Fresh or user-specific data (tickets, orders, configs)
  - Specific IDs, URLs, or document references
- Parallelize independent reads when possible
- After write operations, restate: what changed, where, any validation performed
</tool_usage>
用户进度更新
<user_updates>
- Send brief updates (1-2 sentences) only when:
  - Starting a new major phase
  - Discovering something that changes the plan
- Avoid narrating routine operations
- Each update must include a concrete outcome ("Found X", "Updated Y")
- Do not expand scope beyond what was asked
</user_updates>
高风险输出的自检
<self_check>
Before finalizing answers in sensitive contexts (legal, financial, safety):
- Re-scan for unstated assumptions
- Check for ungrounded numbers or claims
- Soften overly strong language ("always", "guaranteed")
- Explicitly state assumptions
</self_check>

结构化提取

对于数据提取任务,务必提供架构:

<extraction_spec>
Extract data into this exact schema (no extra fields):
{
  "field_name": "string",
  "optional_field": "string | null",
  "numeric_field": "number | null"
}
- If a field is not present in source, set to null (don't guess)
- Re-scan source for missed fields before returning
</extraction_spec>

网络研究提示词

<research_guidelines>
- Browse the web for: time-sensitive topics, recommendations, navigational queries, ambiguous terms
- Include citations after paragraphs with web-derived claims
- Use multiple sources for key claims; prioritize primary sources
- Research until additional searching won't materially change the answer
- Structure output with Markdown: headers, bullets, tables for comparisons
</research_guidelines>

示例:修改前后

不使用结构:

You're a financial analyst. Generate a Q2 report for investors. Include Revenue, Margins, Cash Flow. Use this data: {{DATA}}. Make it professional and concise.

使用结构:

You're a financial analyst at AcmeCorp generating a Q2 report for investors.

<context>
AcmeCorp is a B2B SaaS company. Investors value transparency and actionable insights.
</context>

<data>
{{DATA}}
</data>

<instructions>
1. Include sections: Revenue Growth, Profit Margins, Cash Flow
2. Highlight strengths and areas for improvement
3. Use concise, professional tone
</instructions>

<output_format>
- Use bullet points with metrics and YoY changes
- Include "Action:" items for areas needing improvement
- End with 2-3 bullet Outlook section
</output_format>

提示词迁移检查清单

在不同模型或版本之间调整提示词时:

  1. 更换模型,保持提示词不变 — 隔离变量
  2. 固定推理/思考深度,使其匹配先前模型的特征
  3. 运行评估 — 如果结果良好,即可发布
  4. 如果出现回归,调整提示词 — 调整详细程度/格式/范围限制
  5. 每次小幅修改后重新评估 — 每次只改一处

快速参考

技巧标签模式使用场景
区分各部分<context>、<instructions>、<data>任何复杂提示词
控制长度使用 <output_spec> 指定字数/项目符号数量限制防止冗长
防止偏离范围使用 <constraints> 明确写出“不要”功能蔓延
处理不确定性<uncertainty_handling>事实查询
思维链<thinking>、<answer>推理任务
提取使用 JSON 结构的 <schema>数据解析
研究<research_guidelines>支持网络访问的 Agent
自检<self_check>高风险领域
工具使用<tool_usage_rules>Agent 系统
控制主动性<persistence>、<context_gathering>Agent 自主性
角色设定<role> + 行为限制语气与风格

提示词技术目录

提示词技术综合目录。完整详情、示例和学术参考资料请参阅 references/prompting-techniques.md。

技术使用场景
零样本提示无需示例即可直接执行任务;分类、翻译、摘要
少样本提示通过示例进行上下文学习;格式控制、标签校准、风格匹配
思维链(CoT)逐步推理;算术、逻辑、常识推理任务
元提示将 LLM 用作协调者,委派任务给专业提示词;复杂的多领域任务
自一致性对多个 CoT 路径采样,选择占多数的答案;提高数学和推理任务的准确性
生成知识先生成相关知识,再作答;常识和事实性问答
提示链将复杂任务拆分为按顺序执行的子任务;文档分析、多步骤工作流
思维树(ToT)通过前瞻和回溯探索多个推理分支;规划、谜题
RAG生成前检索外部文档;知识密集型任务、最新数据
ART(自动推理 + 工具)使用 CoT 自动选择并协调工具;需要计算、搜索、API 的任务
APE(自动提示工程师)由 LLM 生成并评分候选提示词;大规模优化提示词
主动提示(Active-Prompt)识别不确定的示例,有选择地进行标注以用于 CoT;自适应少样本提示
定向刺激添加提示/关键词来引导生成方向;摘要、对话
PAL(程序辅助 LM)通过生成代码而非文本进行推理;数学、数据处理、符号任务
ReAct交替进行推理过程与工具操作;搜索、问答、决策型 Agent
反思(Reflexion)Agent 根据语言反馈对失败进行自我反思;迭代改进、调试
多模态 CoT两阶段流程:先生成推理依据,再结合文本和图像作答;视觉推理任务
图提示基于结构化图的提示词;节点分类、关系抽取、图任务
提示词基础

LLM 设置、提示词要素、格式和实用示例请参阅 references/prompting-introduction.md。内容包括:

  • LLM 设置 — temperature、top-p、最大长度、停止序列、频率/存在惩罚
  • 提示词要素 — 指令、上下文、输入数据、输出标识
  • 设计建议 — 从简单开始、明确具体、避免含糊、说明要做什么(而不是不要做什么)
  • 任务示例 — 摘要、抽取、问答、分类、对话、代码生成、推理
风险与误用

对抗性攻击、事实性问题和偏差缓解请参阅 references/prompting-risks.md。内容包括:

  • 对抗性提示 — 提示注入、提示泄露、越狱(DAN、Waluigi 效应)、防御策略
  • 事实性 — 基于真实情况、校准置信度、承认不知情的模式
  • 偏差 — 示例分布偏斜、示例顺序效应、均衡的少样本设计

提示词审计 / 评审

如果需要审计、评审或改进提示词,请遵循以下工作流。完整检查清单及各项检查的参考资料请参阅 prompt-audit-checklist.md。

工作流
  1. 完整阅读提示词 — 确定其目的、目标模型和部署场景(交互式聊天、Agent 系统、批处理流水线、RAG 增强)
  2. 检查 8 个维度 — 逐项检查,并按严重程度记录问题(严重 / 警告 / 建议):
#维度检查内容
1清晰度与具体性任务定义、成功标准、受众、输出格式、相互冲突的约束
2结构与格式章节划分(XML 标签)、提示词异味(单体式、层次混杂、负面偏向)
3安全与防护控制与数据分离、提示词中的机密信息、抵御注入的能力、工具权限
4幻觉与事实准确性角色设定、依据、无来源引用、不确定性的处理
5上下文管理信息位置(是否埋在中间)、上下文大小、RAG 文档数量、重新提供依据
6可维护性与技术债务硬编码值、重新生成的逻辑、模型锁定、可测试性
7模型特定适配特定模型的参数和注意事项(参见下方的模型特定指南)
8评估准备情况评估标准、对抗性测试用例、模式强制、监控
  1. 生成报告 — 问题表(维度、检查项、严重程度、问题、修复方案)+ 重写后的提示词或针对性修复建议。使用检查清单参考中的报告模板。
  2. 针对每个问题,引用相关参考文件,方便用户深入了解。
快速决策:优先检查哪些维度
  • 面向用户的聊天机器人 → 优先检查安全(#3)、幻觉(#4)、清晰度(#1)
  • 带工具的 Agent 系统 → 优先检查安全(#3)、上下文(#5)、可维护性(#6)
  • 批处理 / 流水线 → 优先检查结构(#2)、评估(#8)、可维护性(#6)
  • RAG 增强 → 优先检查上下文(#5)、安全(#3)、幻觉(#4)

常见错误与反模式

三个互补层面 — 根据需求选择:

按类别深入分析 — 根本原因、作用机制、预防检查清单(摘自《指令架构》,2026 年):

错误类别主要问题参考资料
幻觉与逻辑模糊性引发的虚构、自动化偏见、提示词过载、验证任务中的逻辑失误、缺少角色设定mistakes-hallucinations.md
结构脆弱性对格式敏感(差异最高达 76 个百分点)、可复现性危机、提示词异味目录(6 种反模式)、审慎阶梯mistakes-structure.md
上下文退化“中间遗失”导致的 U 形注意力、RAG 过度检索、简单粗暴的数据加载、向上下文工程的转变mistakes-context.md
提示词债务再生成代码的令牌成本、债务分类(提示词 / 超参数 / 框架 / 成本)、多 Agent 解决方案、自动修复mistakes-debt.md
安全直接 / 间接注入、越狱、系统提示词泄露(OWASP LLM07:2025)、RAG 投毒、多模态注入、对抗性后缀mistakes-security.md

快速参考 — 包含 MRP、风险评分、案例研究和行动项的 18 类问题分类:failure-taxonomy.md。可从这里了解概况,或确定应优先处理哪些类别。涵盖:控制平面与数据平面模型、启发式风险评分、真实事件(EchoLeak CVE-2025-32711、Mata 诉 Avianca 案、Samsung 影子 AI)。

如何衡量与测试 — 评估指标、CI 门禁、红队测试、工具:evaluation-redteaming.md。涵盖:TruthfulQA、FActScore、SelfCheckGPT、PromptBench、AILuminate、LLM 评审的陷阱、护栏库、尚待研究的问题。

特定模型指南

每个模型系列都有独特的参数、注意事项和模式。请参阅目标模型的参考资料:

  • Claude 系列 — Claude 4.x 系列的默认设置、参数、工具和迁移模式
  • Claude Fable 5.1 — 五级工作量校准、进度更新块、并行工具、仅追加历史记录、完成度与范围控制、定向编辑、长输出预算、子 Agent、视觉和拒绝处理
  • Claude Fable 5 — 始终开启的自适应思考、精简的指令设计、长时运行的进度依据、操作边界、记忆和迁移说明
  • GPT-6 Astra — 主动性、指令层级、写作风格、子 Agent 校准、验证范围、异步工具、轮次中途引导、工作量调整和迁移限制
  • GPT-5 系列 — GPT-5 / 5.1 / 5.2 / 5.4 / 5.5:reasoning_effort、text.verbosity、命名工具、Agent 式提示、完整性/验证约定、压缩和迁移路径
  • GPT-5.6 Sol — 以结果为先的精简提示、自主性边界、max 工作量和 Pro 模式、程序化工具调用、持久化推理、显式缓存、检索预算、长时运行状态、前端与视觉验证以及迁移工作流
  • Gemini 3 系列 — Gemini 2.5/3/3.1:temperature 必须为 1.0、thinking_budget 与 thinking_level、约束的位置(提示词末尾)、角色优先级、函数调用、结构化输出、多模态和图像生成
  • GPT-5.2 详情 — Compaction API 代码示例、网络研究 Agent 提示词、完整 XML 规范块

评论

支持 Markdown