mcpField
C
customaize-agent:prompt-engineering

customaize-agent:prompt-engineering

github.com/neolabhqAgent 工作流1.8k512 次安装9 周前更新
代码仓库

关于 customaize-agent:prompt-engineering

customaize-agent:prompt-engineering 是一套面向 LLM 和 Agent 提示词设计的技能,适用于需要提升指令一致性与可控性的场景。内容涵盖示例学习、模板、系统提示词、迭代优化及 Agent 提示实践。

主要功能

  1. 01少样本示例设计
  2. 02逐步推理提示模式
  3. 03提示词测试与迭代优化
  4. 04可复用模板与变量
  5. 05系统提示词结构设计
  6. 06Agent 指令与上下文管理

适用场景

  1. 01为分类任务构造输入输出示例
  2. 02优化生产提示词的一致性
  3. 03创建可复用的多轮对话模板
  4. 04为编码 Agent 编写约束明确的指令

安装

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

$npx skills add https://github.com/neolabhq/context-engineering-kit --skill customaize-agent:prompt-engineering

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

详细介绍

提示词工程模式

用于最大限度提升大模型性能、可靠性和可控性的高级提示词工程技术。

核心能力

1. 少样本学习

通过展示示例而非解释规则来教模型。加入 2-5 组输入输出示例,展示期望的行为。在需要统一格式、特定推理模式或处理边缘情况时使用。更多示例能提高准确性,但会消耗 token,应根据任务复杂度权衡。

示例:

Extract key information from support tickets:

Input: "My login doesn't work and I keep getting error 403"
Output: {"issue": "authentication", "error_code": "403", "priority": "high"}

Input: "Feature request: add dark mode to settings"
Output: {"issue": "feature_request", "error_code": null, "priority": "low"}

Now process: "Can't upload files larger than 10MB, getting timeout"
2. 思维链提示

要求模型在给出最终答案前逐步推理。添加“Let's think step by step”(零样本),或加入示例推理过程(少样本)。适用于需要多步逻辑、数学推理的复杂问题,或需要验证模型思考过程的情况。可使分析类任务的准确率提高 30-50%。

示例:

Analyze this bug report and determine root cause.

Think step by step:
1. What is the expected behavior?
2. What is the actual behavior?
3. What changed recently that could cause this?
4. What components are involved?
5. What is the most likely root cause?

Bug: "Users can't save drafts after the cache update deployed yesterday"
3. 提示词优化

通过测试和改进,系统性地优化提示词。从简单版本开始,衡量性能(准确率、一致性、token 用量),然后反复迭代。使用多样化输入进行测试,包括边缘情况。通过 A/B 测试比较不同版本。对于一致性和成本都很重要的生产环境提示词,这一点至关重要。

示例:

Version 1 (Simple): "Summarize this article"
→ Result: Inconsistent length, misses key points

Version 2 (Add constraints): "Summarize in 3 bullet points"
→ Result: Better structure, but still misses nuance

Version 3 (Add reasoning): "Identify the 3 main findings, then summarize each"
→ Result: Consistent, accurate, captures key information
4. 模板系统

构建包含变量、条件部分和模块化组件的可复用提示词结构。适用于多轮对话、基于角色的交互,或同一模式适用于不同输入的情况。减少重复,并确保类似任务的一致性。

示例:

# Reusable code review template
template = """
Review this {language} code for {focus_area}.

Code:
{code_block}

Provide feedback on:
{checklist}
"""

# Usage
prompt = template.format(
    language="Python",
    focus_area="security vulnerabilities",
    code_block=user_code,
    checklist="1. SQL injection\n2. XSS risks\n3. Authentication"
)
5. 系统提示词设计

设置在整个对话中持续生效的全局行为和约束。定义模型的角色、专业水平、输出格式和安全准则。对于不应随对话轮次变化的稳定指令,使用系统提示词,从而为用户消息中的可变内容腾出 token 空间。

示例:

System: You are a senior backend engineer specializing in API design.

Rules:
- Always consider scalability and performance
- Suggest RESTful patterns by default
- Flag security concerns immediately
- Provide code examples in Python
- Use early return pattern

Format responses as:
1. Analysis
2. Recommendation
3. Code example
4. Trade-offs

关键模式

渐进式披露

从简单的提示词开始,只在需要时增加复杂度:

  1. 级别 1:直接指令

    • “总结这篇文章”
  2. 级别 2:添加约束

    • “用 3 个要点总结这篇文章,重点关注主要发现”
  3. 级别 3:添加推理要求

    • “阅读这篇文章,找出主要发现,然后用 3 个要点进行总结”
  4. 级别 4:添加示例

    • 加入 2-3 个总结示例,并提供输入输出对
指令层级
[System Context] → [Task Instruction] → [Examples] → [Input Data] → [Output Format]
错误恢复

构建能妥善处理失败情况的提示词:

  • 加入备用指令
  • 要求提供置信度评分
  • 不确定时要求给出其他解读
  • 指定如何标示缺失信息

最佳实践

  1. 明确具体:模糊的提示词会产生不一致的结果
  2. 展示而非描述:示例比描述更有效
  3. 广泛测试:使用多样且有代表性的输入进行评估
  4. 快速迭代:微小改动也可能产生重大影响
  5. 监控性能:在生产环境中跟踪指标
  6. 版本控制:将提示词视为代码,进行适当的版本管理
  7. 记录意图:说明提示词为何采用这种结构

常见陷阱

  • 过度设计:尚未尝试简单提示词,就从复杂提示词开始
  • 示例污染:使用与目标任务不匹配的示例
  • 上下文溢出:示例过多,超出 token 限制
  • 指令含糊:留下多种解读的空间
  • 忽略边缘情况:未在异常或边界输入上进行测试

集成模式

与 RAG 系统集成
# Combine retrieved context with prompt engineering
prompt = f"""Given the following context:
{retrieved_context}

{few_shot_examples}

Question: {user_question}

Provide a detailed answer based solely on the context above. If the context doesn't contain enough information, explicitly state what's missing."""
与验证集成
# Add self-verification step
prompt = f"""{main_task_prompt}

After generating your response, verify it meets these criteria:
1. Answers the question directly
2. Uses only information from provided context
3. Cites specific sources
4. Acknowledges any uncertainty

If verification fails, revise your response."""

性能优化

Token 效率
  • 删除冗余的词语和短语
  • 首次定义后统一使用缩写
  • 合并相似指令
  • 将稳定内容移至系统提示词
降低延迟
  • 在不牺牲质量的前提下尽量缩短提示词
  • 对长篇输出使用流式传输
  • 缓存常见的提示词前缀
  • 尽可能批量处理相似请求

Agent 提示最佳实践

基于 Anthropic 的 Agent 提示官方最佳实践。

核心原则

上下文窗口

“上下文窗口”指的是语言模型在生成新文本时可以回顾和参考的全部文本量,以及它生成的新文本。这不同于语言模型训练时使用的大型数据语料库,而是代表模型的“工作记忆”。较大的上下文窗口让模型能够理解并回应更复杂、更长的提示词,而较小的上下文窗口可能会限制模型处理较长提示词或在较长对话中保持连贯性的能力。

  • 逐步累积 token:随着对话逐轮推进,每条用户消息和助手回复都会累积在上下文窗口中。之前的轮次会完整保留。
  • 线性增长模式:上下文使用量会随着每一轮线性增长,之前的轮次会完整保留。
  • 200K token 容量:可用上下文窗口总量(200,000 个 token)代表 Claude 存储对话历史和生成新输出的最大容量。
  • 输入输出流程:每一轮包含:
    • 输入阶段:包含所有之前的对话历史以及当前用户消息
    • 输出阶段:生成文本回复,该回复会成为后续输入的一部分
简洁至关重要

上下文窗口是共享资源。你的提示词、命令、技能会与 Claude 需要了解的所有其他内容共享上下文窗口,包括:

  • 系统提示词
  • 对话历史
  • 其他命令、技能、钩子、元数据
  • 你的实际请求

默认假设:Claude 已经非常聪明

只添加 Claude 尚不了解的上下文。对每条信息都提出质疑:

  • “Claude 真的需要这个解释吗?”
  • “我可以假设 Claude 已经知道这个吗?”
  • “这一段内容值得占用这些 token 吗?”

好例子:简洁(约 50 个 token):

## Extract PDF text

Use pdfplumber for text extraction:

```python
import pdfplumber

with pdfplumber.open("file.pdf") as pdf:
    text = pdf.pages[0].extract_text()
```

坏例子:过于冗长(约 150 个 token):

## Extract PDF text

PDF (Portable Document Format) files are a common file format that contains
text, images, and other content. To extract text from a PDF, you'll need to
use a library. There are many libraries available for PDF processing, but we
recommend pdfplumber because it's easy to use and handles most cases well.
First, you'll need to install it using pip. Then you can use the code below...

简洁版本假设 Claude 知道 PDF 是什么,也了解库的工作原理。

设置合适的自由度

根据任务的脆弱性和可变性,匹配具体程度。

高自由度(基于文本的指令):

适用于:

  • 存在多种有效方法
  • 决策取决于上下文
  • 可通过启发式方法指导处理方式

示例:

## Code review process

1. Analyze the code structure and organization
2. Check for potential bugs or edge cases
3. Suggest improvements for readability and maintainability
4. Verify adherence to project conventions

中等自由度(伪代码或带参数的脚本):

适用于:

  • 存在首选模式
  • 允许一定程度的变化
  • 配置会影响行为

示例:

## Generate report

Use this template and customize as needed:

```python
def generate_report(data, format="markdown", include_charts=True):
    # Process data
    # Generate output in specified format
    # Optionally include visualizations
```

低自由度(具体脚本,参数很少或没有参数):

适用于:

  • 操作脆弱且容易出错
  • 一致性至关重要
  • 必须遵循特定顺序

示例:

## Database migration

Run exactly this script:

```bash
python scripts/migrate.py --verify --backup
```

Do not modify the command or add additional flags.

类比:把 Claude 想象成一个沿着路径探索的机器人:

  • 两侧都是悬崖的窄桥:只有一种安全的前进方式。提供具体的防护措施和精确指令(低自由度)。示例:必须严格按顺序运行的数据库迁移。
  • 没有危险的开阔地带:有多条路径都能成功。给出大致方向,并相信 Claude 能找到最佳路线(高自由度)。示例:最佳处理方式取决于上下文的代码审查。

Agent 沟通中的说服原则

适用于编写提示词,包括但不限于:Claude Code 的命令、钩子、技能,或用于子 Agent 的提示词,以及与任何其他 LLM 的交互。

概述

大模型对说服原则的反应与人类相同。了解这种心理学有助于你设计更有效的技能——不是为了操纵,而是为了确保即使在压力下也能遵循关键实践。

研究基础: Meincke 等人(2025)对 N=28,000 场 AI 对话中的 7 项说服原则进行了测试。说服技巧使服从率提高了一倍以上(33% → 72%,p < .001)。

七项原则

1. 权威

含义: 对专业知识、资历或官方来源表示尊重。

在提示词中的作用:

  • 使用祈使语气:“YOU MUST”“Never”“Always”
  • 将要求描述为不可协商:“No exceptions”
  • 消除决策疲劳和自我合理化

适用场景:

  • 强调纪律的技能(TDD、验证要求)
  • 安全关键实践
  • 已确立的最佳实践

示例:

✅ Write code before test? Delete it. Start over. No exceptions.
❌ Consider writing tests first when feasible.
2. 承诺

含义: 与先前的行动、陈述或公开声明保持一致。

在提示词中的作用:

  • 要求进行声明:“Announce skill usage”
  • 强制明确选择:“Choose A, B, or C”
  • 使用跟踪工具:用 TodoWrite 创建清单

适用场景:

  • 确保技能得到实际遵循
  • 多步骤流程
  • 问责机制

示例:

✅ When you find a skill, you MUST announce: "I'm using [Skill Name]"
❌ Consider letting your partner know which skill you're using.
3. 稀缺

含义: 时间限制或资源有限带来的紧迫感。

在提示词中的作用:

  • 设定有时限的要求:“Before proceeding”
  • 设置顺序依赖:“Immediately after X”
  • 防止拖延

适用场景:

  • 立即验证要求
  • 有时限的工作流
  • 防止出现“我稍后再做”的情况

示例:

✅ After completing a task, IMMEDIATELY request code review before proceeding.
❌ You can review code when convenient.
4. 社会认同

含义: 遵从他人的做法或公认的常态。

在提示词中的作用:

  • 使用普遍模式:“Every time”“Always”
  • 指明失败模式:“X without Y = failure”
  • 建立规范

适用场景:

  • 记录普遍实践
  • 提醒常见失败情况
  • 强化标准

示例:

✅ Checklists without TodoWrite tracking = steps get skipped. Every time.
❌ Some people find TodoWrite helpful for checklists.
5. 共同身份

含义: 共享身份、“我们感”以及群体归属感。

在提示词中的作用:

  • 使用协作性语言:“our codebase”“we're colleagues”
  • 强调共同目标:“we both want quality”

适用场景:

  • 协作工作流
  • 建立团队文化
  • 非等级制实践

示例:

✅ We're colleagues working together. I need your honest technical judgment.
❌ You should probably tell me if I'm wrong.
6. 互惠

含义: 有义务回报已获得的好处。

运用方式:

  • 谨慎使用——可能让人觉得是在操纵
  • 提示词中很少需要

避免场景:

  • 几乎所有情况(其他原则更有效)
7. 好感

含义: 更愿意与自己喜欢的人合作。

运用方式:

  • 不要将其用于促使服从
  • 与坦诚反馈文化相冲突
  • 会助长谄媚

避免场景:

  • 始终避免用于强调纪律

不同提示词类型对应的原则组合

提示词类型使用避免
强调纪律权威 + 承诺 + 社会认同好感、互惠
指导/技巧适度使用权威 + 共同身份过度强调权威
协作共同身份 + 承诺权威、好感
参考资料仅需清晰所有说服原则

原理:心理学基础

明确的规则可减少自我合理化:

  • “YOU MUST”可消除决策疲劳
  • 绝对化措辞可避免出现“这算不算例外?”之类的问题
  • 明确反对自我合理化,可堵住特定漏洞

实施意图可形成自动化行为:

  • 明确的触发条件 + 必须执行的操作 = 自动执行
  • “当 X 发生时,执行 Y”比“通常执行 Y”更有效
  • 降低遵循要求时的认知负担

大模型具有人类般的特性:

  • 在包含这些模式的人类文本上训练
  • 训练数据中,权威性语言通常先于服从行为
  • 经常对承诺序列(陈述 → 行动)进行建模
  • 社会认同模式(人人都做 X)可建立规范

合乎伦理的使用

正当用途:

  • 确保遵循关键实践
  • 编写有效的文档
  • 防止可预见的故障

不正当用途:

  • 为个人利益操纵他人
  • 制造虚假的紧迫感
  • 利用内疚感迫使他人服从

判断标准: 如果用户充分了解这种技巧,它是否仍符合用户的真实利益?

快速参考

设计提示词时,请问自己:

  1. 它属于哪种类型?(约束型、指导型还是参考型)
  2. 我想改变什么行为?
  3. 哪些原则适用?(约束型通常适用权威原则和承诺原则)
  4. 我是否结合了太多原则?(不要把七种原则全用上)
  5. 这符合伦理吗?(是否符合用户的真实利益?)

评论

支持 Markdown