提示词指南
编写清晰、有效的提示词是与 Hermes Agent 高效协作的关键。本指南将帮助您掌握提示词编写的最佳实践。
提示词的基本结构
Section titled “提示词的基本结构”一个好的提示词通常包含以下要素:
[角色/背景] + [任务描述] + [具体要求] + [约束条件] + [输出格式]你是一位 Python 开发专家(角色)。请帮我编写一个函数来处理 CSV 文件(任务)。要求支持大文件(>1GB)的流式读取,并处理编码异常(具体要求)。使用 pandas 库,Python 3.9+ 兼容(约束)。提供完整的代码和单元测试(输出格式)。1. 清晰具体
Section titled “1. 清晰具体”| ❌ 不清晰的提示 | ✅ 清晰的提示 |
|---|---|
| 帮我写个爬虫 | 帮我编写一个爬取豆瓣电影 Top250 的 Python 爬虫,使用 requests 和 BeautifulSoup,输出电影名称、评分和简介 |
| 优化这段代码 | 优化这段 Python 代码的性能,目标是将执行时间减少 50%,同时保持内存占用不变 |
| 分析这个数据 | 分析这份销售数据,找出销售额最高的前 5 个产品,并计算同比增长率 |
2. 提供上下文
Section titled “2. 提供上下文”- 背景信息:说明任务的背景和目的
- 当前状态:描述已完成的工作和遇到的问题
- 相关资源:提供相关的代码片段、文档链接或数据样本
3. 明确期望输出
Section titled “3. 明确期望输出”- 格式要求:JSON、Markdown、表格、代码等
- 详细程度:简要概述或详细分析
- 特定元素:必须包含的关键点或章节
对于复杂提示,使用分隔符组织内容:
请分析以下两段代码的差异:
=== 代码 A ===def calculate(x, y): return x + y
=== 代码 B ===def calculate(x, y): result = x + y return result
=== 分析要求 ===1. 指出功能差异(如果有)2. 比较代码风格和可读性3. 评估性能影响少样本提示(Few-Shot)
Section titled “少样本提示(Few-Shot)”提供示例帮助 Agent 理解期望的输出风格:
请将以下技术术语转换为通俗易懂的中文:
示例:输入:API输出:应用程序接口(一种让不同软件互相通信的方式)
输入:Containerization输出:容器化技术(将应用及其依赖打包在一起,便于部署和运行)
现在请转换:输入:Microservices输出:链式思考(Chain-of-Thought)
Section titled “链式思考(Chain-of-Thought)”对于复杂推理任务,引导 Agent 逐步思考:
请解决以下数学问题,并展示你的思考过程:
问题:一个水箱有 2 个进水管和 1 个排水管。- A 管单独注满需要 6 小时- B 管单独注满需要 4 小时- C 管单独排空需要 8 小时
如果三管同时打开,注满空水箱需要多长时间?
请按以下步骤解答:1. 计算每个管子的工作效率2. 计算三管同时工作时的净效率3. 得出最终答案针对不同任务的提示词策略
Section titled “针对不同任务的提示词策略”角色:资深 [语言] 开发工程师
任务:[具体功能描述]
技术要求:- 语言/框架:[具体版本]- 依赖限制:[允许/禁止的库]- 代码规范:[遵循的标准]
约束条件:- 时间复杂度要求- 空间复杂度要求- 异常处理要求
输出:- 完整可运行的代码- 关键部分的注释- 使用示例- 单元测试(如需要)角色:[专业写手/技术文档工程师/营销专家]
任务:撰写 [文档类型] 关于 [主题]
目标受众:[描述读者群体]
风格要求:- 语气:[正式/ casual / 专业]- 篇幅:[字数或详细程度]- 结构:[章节要求]
必须包含的内容:- [要点 1]- [要点 2]- [要点 3]
参考材料:[提供相关背景信息]任务:分析 [数据/问题/方案]
分析维度:1. [维度 1:如可行性]2. [维度 2:如成本效益]3. [维度 3:如风险评估]
输出格式:- 总体结论(TL;DR)- 详细分析(按维度展开)- 建议行动项- 潜在风险与缓解措施常见错误与改进
Section titled “常见错误与改进”错误 1:过于宽泛
Section titled “错误 1:过于宽泛”❌ "帮我做个网站"✅ "帮我设计一个个人博客网站的技术方案,使用 Next.js + Tailwind CSS, 需要包含文章列表、文章详情、标签分类功能,部署到 Vercel"错误 2:缺乏约束
Section titled “错误 2:缺乏约束”❌ "优化这个算法"✅ "优化这个排序算法,要求: - 时间复杂度不超过 O(n log n) - 原地排序,空间复杂度 O(1) - 稳定排序"错误 3:忽略边界情况
Section titled “错误 3:忽略边界情况”❌ "处理用户输入"✅ "处理用户输入,需要: - 验证输入不为空 - 限制长度在 1-100 字符 - 过滤特殊字符防止 XSS - 处理 Unicode 字符"迭代优化提示词
Section titled “迭代优化提示词”第一步:初始版本
Section titled “第一步:初始版本”先写一个基础版本,包含核心需求。
第二步:测试与观察
Section titled “第二步:测试与观察”观察 Agent 的输出,识别不足之处。
第三步:细化完善
Section titled “第三步:细化完善”根据测试结果,添加:
- 遗漏的约束条件
- 更具体的示例
- 更清晰的格式要求
第四步:固化模板
Section titled “第四步:固化模板”将优化后的提示词保存为模板,便于复用。
提示词模板库
Section titled “提示词模板库”请对以下代码进行审查,关注:1. 潜在的 bug 和逻辑错误2. 性能优化机会3. 代码可读性和维护性4. 安全漏洞5. 是否符合 [语言/框架] 最佳实践
代码:[粘贴代码]
请按严重程度分类问题,并提供具体的改进建议。我想学习 [技术/概念],请帮我:
1. 用通俗易懂的语言解释核心概念2. 列出学习路径和推荐资源3. 提供 3-5 个实践项目建议,从简单到复杂4. 说明常见的应用场景5. 指出学习时容易遇到的坑
我的背景:[相关经验/知识基础]学习目标:[具体目标]💡 记住:提示词编写是一个迭代过程。从简单开始,根据输出效果逐步优化,找到最适合您需求的表达方式。