前语
学习提示词编写是大模型学习中最具性价比的任务之一。只需要短短几个小时,零基础的用户就可以掌握提示词编写的基本技能。接下来,通过50个左右不同场景的提示词练习和迭代,就能基本掌握这一技能。
提示词的重要性不言而喻,它是与AI模型有效沟通的基础,是大模型应用的基本功。
这两天,17岁的高中生涂津豪小朋友凭借他的“Thinking Claude"提示词火遍全网,引起广泛关注这为提示词工程的讨论带来了新的热度。他也是今年阿里巴巴全球数学竞赛AI赛道预赛的第一名选手,当时使用的是多智能体编程。
涂津豪的目标是通过提示词工程,把o1级别的思维链思,复刻到Claude 3.5。他从最初的v0.01版本,修改了80多个版本,(https://github.com/richards199999/Thinking-Claude/tree/main),不少人尝试后觉得效果很棒,但也有少数人觉得效果一般。
本文将讨论提示词工程的最佳实践,也顺便评估一下这位同学的提示词的优缺点。
一、提示词工程的定义
提示词工程的本质是通过与AI模型的清晰沟通,引导其完成特定任务。这类似于人与人的交流,但需要特别了解模型的特性,实际上是一种基于文本“编程”大模型的方式。
1.1 提示词工程中的“工程特性”:
具有独特的试错流程 可以随时重置到初始状态 不同尝试之间相互独立 需要系统性思考 考虑数据来源和访问权限 权衡延迟和数据量 整合到更大系统中(如RAG)
1.2. 关键点
清晰沟通:成功的提示词工程依赖于准确地表述任务与概念。 试错过程:工程师可以独立尝试不同的方法,快速重置并迭代。 系统性思考:需要考虑数据来源、访问权限等多种因素。
二、如何成为优秀的提示词工程师
成为一名优秀的提示词工程师,需要具备核心能力、工作方法和专业素养:2.1. 核心能力
清晰的沟通能力 准确描述复杂概念,避免隐含假设。 确保任务信息传达完整。 系统分析能力 理解任务所需的整体知识体系。 识别知识盲点,预见潜在问题。
2.2. 工作方法
持续迭代优化 快速进行大量测试,及时识别并修正模型误解 不断调整和完善提示词 严谨的验证习惯 仔细阅读模型输出,验证其是否按预期执行 测试各种边界情况和异常输入
2.3. 专业素养
理解三方关系 了解模型的能力边界 预判用户的实际行为 在用户和模型之间搭建桥梁 实用主义思维 基于真实场景而非理想情况设计 考虑各种可能的用户输入(如拼写错误、无标点等) 预先解答模型可能遇到的疑惑
2.4. 避免的常见误区
过度依赖个人经验,忽视系统分析 只考虑理想情况,忽视边界场景 假设用户输入完美无缺,导致模型输出不稳定 写出连人类都无法理解的不完整指令 未验证模型是否真正执行了指定步骤
要成为优秀的提示词工程师,需要将上述能力和方法融会贯通,既要有工程师的严谨系统思维,又要有作家的清晰表达能力,同时保持持续学习和实践的态度。这不是一蹴而就的工作,而是需要通过大量实践和经验积累来提升的专业技能。
三、优化提示词的关键方法
3.1 分析与调优基本方法
让模型先分析指令,找出不清晰或有歧义的部分,而不是直接执行。 在出错时,询问模型原因并请求改进版本的指令。 重视质量胜于数量,精心设计的少量测试往往比大量粗糙测试更有价值。
3.2 验证与评估原则
保持谨慎态度,持续测试和验证。 不仅关注结果,还要分析模型的推理过程,判断是否需要继续优化。
3.3 优化的边界
避免过度优化,认识到并非所有问题都能通过完美提示词解决。 如果模型明显无法理解任务,及时停止优化。
关键是:持续测试、关注过程、适度优化,在发现模型根本局限时及时调整策略。
四、角色扮演和提示中的隐喻
4.1. 角色扮演的演变
早期模型中角色扮演效果较好,但随着模型进步,直接沟通更有效 应该向模型清晰说明实际任务,而非通过虚构角色间接表达 比喻可用于提供评估框架,而非让模型扮演角色
4.2. 有效的提示方法
"临时工思维实验":把模型想象成一个有知识但缺乏具体背景的临时工 直接用自然语言描述需求,而非追求"完美"的简短指令 提供详细的任务背景和具体场景描述 明确指出异常情况的处理方式(如输出"unsure")
4.3. 常见误区
过度简化提示词 把提示词当作搜索框使用 忽视边缘情况的处理 过分关注互联网上内容出现的频率
核心建议:采用清晰、直接的沟通方式,详细说明任务背景和要求,并明确规定异常情况的处理方法。
五、企业、研究与普通聊天prompt
5.1. 示例使用差异:
研究场景:专家建议避免过多或过少示例,防止模型过度依赖 消费者应用:专家倾向使用大量示例以确保可靠性
5.2. 示例选择策略:
避免使用与实际数据相似的示例 使用更具说明性的示例(如用儿童故事示例提取信息任务)
5.3. 应用场景差异:
个人使用:通过迭代获得满意结果即可 企业级应用:需要考虑大规模使用场景,全面测试各种可能情况
好的提示词在不同应用场景中都能保持其有效性。无论是在个人使用还是处理过程中投入时间,都能获得同样好的效果,只是在最后阶段可能会出现轻微的差异。
六、提高提示词技能的技巧
6.1. 学习方法:
阅读分析:仔细研究高质量提示及其输出 实践测试:持续与模型互动 突破边界:尝试完成看似不可能的任务
让外部人员审查提示以获取新视角 在日常生活中多尝试与AI交互 从新用户视角审视自己的提示 通过构建复杂任务来深入理解模型原理
七、提示词的未来
趋势与核心能力 提示词工程的未来将更注重用户信息的引导和获取,交互模式会更加智能和直观。从目前的“临时工模式”到未来的“设计师顾问”模式,模型将逐渐主动提出问题,更加理解用户需求。
虽然未来模型的智能程度不断提升,提示词的存在形式和交互方式可能会发生改变,但只要有用户与大模型进行交互,提示词的必要性就不会消失。模型提示将从精细化指令转向更高层次的需求理解与表达。尽管形式有所变化,清晰表达和准确理解用户需求的能力始终是关键。
八、关于Thinking Claude提示词的不足
Claude 3.5 sonnet目前并不具备真正意义上的思考链条,高中生涂津豪所设计的提示词中,“Thinking”和最终的答案本质上都是预先规划的一次性输出。(也就是一个完整的答案,用了两种不同的方式划分)虽然提示词的实现上划分了思考和推理,实际上并没有在"Thinking"部分真正推导并逐步调整。
所以可以说在工程上并没有实现真正渐进性的思考,只是在“表演思考”。提示词写得很好,有问题分解,有多维度分析,结构化的引导,但是因为大模型本身的局限,也限制了它的进一步发挥。
过度神化这种提示词并不是一种好的现象,反而可能不利于这位17岁孩子的成长。开源的作品,大家一起探讨,一起去优化,一起成长,在很多最佳实践方面,涂同学比很多人都做得更好了。
一句话总结:涂津豪同学的提示词在引导模型回答时,缺乏逐步推理和实时反馈机制,模型生成的“Thinking”部分看似在进行思考,但实际上只是结果的一部分。虽然回答看起来结构化、有逻辑,但这不代表模型真的经历了一个完整的思维过程。
提示词工程需要将清晰沟通、系统分析与严谨验证结合起来,才能真正实现与AI模型的高效互动。
如果你觉得今天的分享有帮助,记得点赞、收藏并转发,下次找起来更方便哦!