主题
提示词工程(Prompt Engineering)完全指南
提示词工程是有效使用 AI 模型的核心技能。本文整理自 Anthropic 官方文档,涵盖核心技巧、实用示例和最佳实践。
场景化的可复制模板(写测试、Code Review、重构、写中文技术文)见 场景实战。
一、核心原则
1. 清晰直接
黄金法则:把你的提示词给一个不了解任务的同事看,如果他们能理解,AI 也能。
❌ 不够好:
帮我写个分析面板✅ 更好:
创建一个数据分析面板。包含尽可能多的相关功能和交互。
不要只做基础版本,要做一个功能完整的实现。2. 提供上下文
告诉 AI 为什么要做这件事,它能给出更精准的回复。
❌ 不够好:
永远不要用省略号✅ 更好:
你的回复会被文字转语音引擎朗读,所以永远不要用省略号,
因为语音引擎无法正确发音。3. 给 AI 一个角色
在系统提示词中设定角色,能显著影响 AI 的语气和行为。
你是一个专业的 Python 编程助手,擅长代码审查和优化。二、实用技巧与示例
技巧 1:使用示例(Few-Shot)
提供 3-5 个相关示例,能大幅提高输出的一致性和准确性。
示例:情感分类
请将以下用户反馈分类为正面、中性或负面。
<examples>
<example>
<input>这个产品太好用了,超出我的预期!</input>
<output>正面</output>
</example>
<example>
<input>还行吧,没什么特别的感觉。</input>
<output>中性</output>
</example>
<example>
<input>客服态度太差了,再也不会买你们的产品。</input>
<output>负面</output>
</example>
</examples>
现在请分类:
<input>物流很慢,但产品质量还不错。</input>
<output>技巧 2:使用 XML 标签组织提示词
XML 标签帮助 AI 区分不同类型的信息(指令、上下文、示例、输入)。
<instructions>
你是一个专业的代码审查助手。请审查以下代码:
1. 找出潜在的 bug
2. 提出性能优化建议
3. 检查代码风格
</instructions>
<context>
这是一个电商平台的订单处理模块,需要高并发支持。
</context>
<code>
{用户代码}
</code>技巧 3:长文档处理
当处理大量文档时(20k+ tokens):
- 长文档放在提示词顶部
- 用 XML 标签包装每个文档
- 让 AI 先引用相关段落再分析
<documents>
<document index="1">
<source>年度报告.pdf</source>
<document_content>
{年度报告内容}
</document_content>
</document>
<document index="2">
<source>竞品分析.xlsx</source>
<document_content>
{竞品分析内容}
</document_content>
</document>
</documents>
请从以上文档中引用相关段落,然后分析战略优势并推荐 Q3 重点方向。
先列出相关引用,放在 <quotes> 标签中,然后给出分析。技巧 4:控制输出格式
告诉 AI 应该做什么,而不是不该做什么:
❌ "不要用 Markdown" ✅ "你的回复应该由流畅的段落组成"
使用 XML 标签控制格式:
将你的分析放在 <analysis> 标签中,
将建议放在 <recommendations> 标签中。减少 Markdown 过度使用:
<avoid_excessive_markdown>
撰写报告、文档、技术说明时,使用清晰的段落和句子。
只在以下情况使用 Markdown:
- 行内代码:`code`
- 代码块:```...```
- 简单标题:## 和 ###
不要使用 **加粗** 和 *斜体*。
除非用户明确要求,否则不要使用列表。
</avoid_excessive_markdown>三、实战示例
示例 1:代码生成
你是一个全栈开发工程师。请创建一个用户注册功能。
<requirements>
1. 前端:React 表单,包含输入验证
2. 后端:Node.js API,包含密码哈希
3. 数据库:PostgreSQL 用户表
4. 错误处理:友好的错误提示
</requirements>
<constraints>
- 使用 TypeScript
- 遵循 RESTful API 设计
- 包含基本的单元测试
</constraints>
请按步骤实现,先给出方案,再写代码。示例 2:技术文档撰写
<role>你是一位资深技术写作专家</role>
<task>
为这个 API 编写开发者文档
</task>
<api_info>
{API 信息}
</api_info>
<output_format>
文档应包含:
1. 概述(一段话说明 API 用途)
2. 认证方式
3. 端点列表(每个端点包含:URL、方法、参数、示例请求、示例响应)
4. 错误码说明
5. 常见问题
</output_format>
使用清晰简洁的语言,面向有一定编程经验的开发者。示例 3:数据分析
你是一个数据分析师。请分析以下销售数据:
<data>
{销售数据}
</data>
<questions>
1. 哪些产品销量最高?哪些最低?
2. 按地区分析销售趋势
3. 识别异常数据点
4. 提出改进建议
</questions>
请先引用数据中的关键数字,再给出分析结论。
将数据引用放在 <quotes> 标签中,分析放在 <analysis> 标签中。示例 4:多步骤任务
请完成以下任务,按顺序执行:
1. 分析现有代码库的结构
2. 识别需要重构的模块
3. 制定重构计划
4. 逐步实施重构
5. 运行测试确保功能正常
每个步骤完成后,简要总结你做了什么。四、Claude Code 中的提示技巧
在 Claude Code 中使用提示
bash
# 带提示启动
claude "审查这个项目的安全性并提出改进建议"
# 管道输入
cat error.log | claude -p "分析错误原因并给出解决方案"
# 继续对话
claude -c会话内命令
| 命令 | 用途 |
|---|---|
/plan | 进入计划模式,先设计方案再执行 |
/code-review | 代码审查 |
/diff | 查看变更 |
/batch | 大规模并行重构 |
五、常见错误
| 错误 | 改进 |
|---|---|
| "帮我写代码" | 明确语言、框架、功能需求 |
| "修复 bug" | 描述具体症状和预期行为 |
| 一次性给太多任务 | 拆分步骤,逐步执行 |
| 不提供上下文 | 说明项目背景和技术栈 |
六、进阶技巧
提示词链(Prompt Chaining)
将复杂任务分解为多个提示词,按顺序执行:
第一步:分析需求,输出需求文档
第二步:根据需求文档,设计架构
第三步:根据架构,编写代码
第四步:审查代码,优化性能思考模式
让 AI 先思考再回答:
在给出最终答案之前,请先:
1. 分析问题
2. 列出你的推理过程
3. 考虑可能的替代方案
4. 最后给出结论
将思考过程放在 <thinking> 标签中。参考资源
💡 提示词工程是一门需要实践的技能。最好的学习方法就是多写、多测试、多改进!