微信扫码
与创始人交个朋友
我要投稿
这两天把两个月前 Anthropic 的提示工程专家的播客进行了翻译和校准,做这篇内容的原因是想看看海外提示词的用例,便搜到这篇播客,虽然已经有挺多翻译,但我还是按照自己的理解对内容进行了提炼和删减,希望对你也有帮助。内容如下:
核心观点:
1 提示词工程的定义
提示词工程的目的是通过与模型的高效对话来实现复杂任务。工程化的过程不仅仅是简单地输入提示,而是需要反复测试、优化和集成到整体系统中,确保模型能够在实际应用中正确执行任务。
2. 提示词工程的关键能力
表达能力:清晰地描述问题和任务,能够系统化地思考并准确表达。
迭代精神:优秀的提示词设计需要在短时间内进行大量的实验与调整,不断修正并优化。
预见问题的能力:在编写提示词时,考虑各种可能的边界条件和特殊情况,避免遗漏潜在的问题。
清晰的任务描述:对于模型来说,任务描述需要明确,避免模糊不清的指令。
3 成为优秀的提示词工程师的特质
强大的表达能力和清晰的逻辑思维。
耐心和细致的调试能力,能够快速发现和修复问题。
对任务的全局把握,能够考虑到不同场景下的应用。
具有系统思维,能将任务细化成可执行的步骤。
4 如何评估一个提示词是否优秀?
优秀的提示词不仅要通过实验验证,还需要具备以下特点:
能够覆盖多种不同的使用场景和输入情况。
考虑到实际用户的行为和需求,避免过度依赖理想化的场景。
尽量精简和清晰,避免不必要的复杂性。
5 模型的直觉与信任
培养模型的“直觉”是一个不断测试和优化的过程。模型在处理任务时,往往能通过大量训练数据建立起某种“直觉”,但是仍然需要通过反复调整提示词来验证其输出结果。
6 未来的提示词工程
随着AI模型的不断进步,提示词工程也在不断演化:
自动化提示词生成:未来,AI将会更加智能,能够自动生成提示词,而不仅仅是通过人类手动设计。
模型理解的提升:随着AI的能力提高,未来可能不再需要人工输入复杂的提示词,模型可以通过与用户的对话直接理解其需求。
交互式引导:提示词工程可能会融入更为复杂的交互式引导,帮助企业用户自动生成高效的提示词。
翻译
什么是提示词工程
Alex
在今天的节目中,我们将主要探讨提示工程这一话题。在座的各位都是这方面的专家,研究领域广泛,涵盖了学术研究、实际应用,以及用户和企业层面。我非常期待能听到大家不同的见解和观点。
Kevin
我认为提示工程旨在使模型能够更高效地完成任务,发挥其最大潜能,并与之共同实现看似不可能的目标。
Alex
我想继续提问,为什么“工程”这个词被使用?
Kevin
之所以称之为工程,是因为它涵盖了不断试验和调整的过程。与模型对话的好处在于,它提供了一个无需与人交流的环境,在这里,你可以随时开始新的尝试,从头开始。这种能够反复实验和设计不同方案的特性,才真正体现了工程的本质。
另一个关键点是如何将提示整合到整个系统中。David在这方面与客户紧密合作,做了大量工作。
David harsh
个人认为,提示实际上就是在指导模型进行专业化的转变,这可能过于专业化了。关键还是在于表达的清晰度。然而,从编程的角度来看,必须考虑数据的来源和可用性。
例如,在进行检索增强生成时,需要明确实际可用的资源能够为模型提供哪些输入,同时权衡所需输入以及响应速度,并考虑提供多少数据最为合适。
围绕模型构建系统,需要系统性地考虑这些问题,这也是它值得作为一个独立领域来研究的原因,而不仅仅是因为它与软件或简单归结于软件工程师或产品经理的工作相关。因为它需要一种独特的思维方式。
Alex
从这个角度来看,提示词是否可以被理解为一种用自然语言编写的代码,或者说是编程概念的高层次表达,或者它是否代表了完全不同的概念。
David harsh
现在确实挺有意思的,就是你写的这些文字,比如一篇写的不错的提示词,跟代码有着一样的特点。因此,我认为用编写代码的思维来处理提示词是相当合适的。
Alex
继续讨论这个话题,我们刚才大致讨论了什么是提示词工程。Amanda,你能否分享一下,什么样的人能够成为优秀的提示词工程师?因为你在研究领域招聘这样的人才,你具体在寻找什么样的人?这个岗位到底需要什么样的特质?
AManda ashes
这个问题很有深度。我认为,这需要多方面的技能。
首先要有强大的表达能力,能够清晰地解释问题和准确地描述任务,能够条理清晰地思考和表达,这是写作的基本功。
但现在我认为,这份工作与单纯的写作有着很大的区别。
以生成有效的提示词为例,在与模型互动的过程中,我可能在15分钟内就需要进行数百次的测试与调整。这就需要有不断打磨、发现问题并设法修正的迭代精神。
总的来说,一个好的提示词背后,工程师需要具备出色的表达能力、耐心调试的态度以及预见问题的能力。
David harsh
我与客户的接触颇多,在作为工程师开发产品时,我倾向于保留一些提示词供客户使用。他们常误以为用户会严格遵循规则与聊天机器人对话,然而实际上,用户往往不注意大小写的提示,甚至会拼错。
因此,虽然测试用例可能涵盖理想情况下的完美对话,但真正关键的是要考虑到实际用户如何使用。
Kevin
很多人在提示词中详尽地一步步思考问题,却没有去检查模型是否真的遵循了他们的要求。
David harsh
许多人只是简单地写下自己知道的内容,而没有花时间系统地思考完成任务所需的信息。
Alex
与人类不同,当前的模型并不主动提问。因此,你需要自己思考别人可能提出的问题。
Alex
我还有几个问题想继续询问。我很好奇何时可以信赖模型的判断,以及模型的直觉是如何培养的。这种能力是仅通过经验积累得来的,还是有其他原因?
AManda ashes
我从不盲目信任模型,而是通过不断的测试来验证它们。我之所以这样做,是因为我需要确认这个任务是否能放心交给你。
模型有时会表现得非常奇怪,比如当任务超出它的训练范围,或者涉及一些未见过的新领域时。
精心设计的几个提示可能比随意设计的上千个更有价值。
David harsh
模型输出的内容不仅包含数字信息,还蕴含着丰富的学习机会。关键在于理解模型是如何得出这些数字的,其背后的思路和步骤是什么。通过细致分析输出的细节,而不是仅仅关注结果。
AManda ashes
优秀的提示词设计能够使模型性能产生质的飞跃,将原本5%的表现提升至前1%,甚至0.1%。
David harsh
然而,这也是一把双刃剑,因为它似乎暗示着前面有某个神仙提示词在等待着你,能够解决所有问题。但最致命的教训是,永远无法真正看到尽头的可能性。
Kevin
你们是如何判断一个任务是否可以通过完美的提示词来完成的呢?
AManda ashes
我通常首先检验模型是否真正理解了任务。如果发现提示词无法提供帮助,我可能会尝试调整几次,但很快就能判断出差距的大小。如果模型明显无法完成任务,我就会避免浪费太多时间。
David harsh
我会让他们解释自己的思路和理由,以判断他们是否在正确地思考,以及他们是否已经接近正确答案。我能感觉到他们是否在朝着正确的方向前进。
Kevin
我提出一个不同的观点。我发现,给出一个类比有时颇为有用。这就像在理解新概念时,别人会说你可以将其想象成某个熟悉的事物。
Kevin
前几天在处理T恤和辅导工作时,遇到了这样的情况:有人表达了他们期望的结果,而我直接将他们的描述复制到相应部分,问题便得到了解决。
Alex
我认为许多人尚未真正理解对话的用途。他们看到输入框,就将其视为Google搜索框,直接输入关键词进行搜索。
Alex
关于思维链的问题。让模型在给出答案之前解释它的推理过程,这个推理过程是真实的吗?或者说,这是否只是模型运算过程中的一个中间状态?我们是否真的能从模型中获得有价值的信号?
David harsh
坦白说,这确实让我颇感困扰。我通常支持拟人化的思维链设计,因有助于我们理解模型的工作机制。
然而,在这个问题上,过度的拟人化可能并不恰当,因为它可能会使我们偏离核心议题,这更像是一个哲学问题,与我们如何编写提示词的关系不大。
David harsh
关键在于这种方法确实有效,能够提升模型的表现。我观察到,如果为模型设计一个推理框架,使其能够不断优化推理过程,效果会显著提升。
这类似于我自己解数学题时的做法,如果不能将思考过程记录下来,直接计算答案通常会导致错误。虽然这个比喻可能不太恰当,但我确实看到这种方法带来了明显的改进。
Alex
谈到提示词的误用问题,我知道你在这方面很有研究。真的需要特别注意语法和标点符号吗?必须写出很规范的提示词吗?
Kevin
我个人习惯这样做,我认为这很有意思,虽然不是必须的,但也不会有什么坏处。关键是要培养注意细节的习惯。
AManda ashes
我刚好相反。别人看到我的提示词,可能会指出那里全是拼写错误。我的想法是,只要模型能理解我的意思即可。我会花很多心思去想用什么概念和词汇。
David harsh
这就涉及到了预训练模型与人类反馈强化学习之间的区别。在预训练数据中,如果出现一个拼写错误,随后再次出现该错误的可能性实际上是相当高的。
Alex
我们来谈谈企业级提示词和在claude上普通对话用的提示词之间的区别。鉴于你在与客户合作研究方面的经验,能否为我们解释这些差异?
David harsh
我想补充一点,在云平台上编写提示词时,许多用户会通过不断调试直至成功来完成任务。然而,在企业级应用中,提示词可能会被使用成百上千万次。
因此,设计者必须考虑各种可能的使用场景和输入情况,而不仅仅关注当前的任务,即个人使用与企业任务的差异。这就是个人使用与企业应用在提示词设计上的重要区别。
Alex
如果要给出提升工程能力的建议,不限于提示词的编写,而是全面提升这一技能,你会推荐什么?是通过多读提示词还是多参考输出结果?
Kevin
关键在于要进行多次实验,多与模型进行互动。
Alex
你是如何判断一个提示词是否优质的呢?是根据结果是否符合标准吗?
AManda ashes
我有几点建议。首先,将你编写的提示词给外行人士查看,这非常有帮助。其次,我注意到那些在提示词方面运用自如的人,都是真心喜爱这个过程的。
David harsh
我鼓励大家挑战模型的极限,尝试那些你认为它可能无法完成的任务。在探索边界的过程中,我学到的很多。
我发现许多简单任务并不依赖于个人水平,比如编写一封客气的邮件。然而,当开始挑战极限时,情况就截然不同了。例如,我第一次深入研究提示工程师,是在尝试搭建任务代理,将复杂任务拆解为子任务,再将这些子任务细化为步骤。
这个过程让我深刻理解到体系工程的精髓——即跨越模型能力边界的能力。简单任务任何人都可以完成,因此,去尝试最具挑战性任务的重要性不言而喻,即使失败,也能收获颇丰。
Alex
提示词工程的发展历程及其未来。在过去的三年里,从最初的预训练模型到现在的GPT-3.5和扩展的提示工程,我们见证了怎样的演变?与模型对话的方式是否也发生了变化?它对不同提示词的反应有何变化?现在是否还需要在提示词上花费如此多的心思?
Kevin
每当发现一种好用的提示工程技巧时,我们通常会考虑将其直接训练到模型中。因此,最好的技巧往往是短暂的。例如,除了像注意力和思维链这样的技术,它们不是技巧,而是一种基本的交流方式,我们已经将思维链技术训练到一些特定场景模型中,比如在解决数学问题时,模型已经能够自然而然地逐步思考。
AManda ashes
我常觉得奇怪的是,许多人似乎没有意识到这一点。例如,当我希望模型学习某种提示技巧时,其他人开始解释这种技巧,我则直接提供相关的论文。
我仅需简单地将论文展示给对方,并指出这是关于提示技巧的论文,要求他写出17个类似的例子,他就能立即完成任务。因为论文中已经详细阐述了相关内容。
AManda ashes
我曾思考过一个问题:如果有人问我AI会输出什么?我回答说,如果我是预训练模型,我应该会这么想。他们很惊讶你在模拟AI的思维吗?
我回答是的,这很正常。因为我已经习惯于理解不同AI模型的思维方式,所以关键是要进入相应的思维状态,这也会直接影响到你最后的提示词。
Kevin
这让我思考了一个问题:究竟是花时间浏览互联网更有价值,还是阅读书籍更有助益?我的意思是,不一定非得是阅读书籍,但阅读那些不在网上的内容,在于预测模型行为或建立直觉方面,可能比浏览社交媒体和论坛上的随机内容要有效得多。
Alex
毫无疑问,这就是过去的情况。现在,让我们探讨提示工程的未来,这是当前最热门的话题之一。你们认为未来每个人都会成为提示工程师吗?这是否会成为人类最后的工作岗位?难道我们将只能整天与AI模型对话吗?
David harsh
在某种程度上,模型在理解和执行我们的意图方面的能力日益增强。从信息的角度来看,我们确实需要提供足够清晰的指示来阐明我们的需求。在这方面,我认为提示工程不会消亡,就像我们必须清晰地表达目标一样。
Kevin
我可以肯定,未来我们将更加依赖AI模型来生成提示词。随着各领域对模型的日益依赖,而提示词又是不可或缺的,这成为一种必然趋势。
就我个人而言,我已逐渐习惯使用模型生成提示词。我常用的方法是提供模型一些实际案例,让它生成答案,然后我稍作调整,这比自己从零开始写要简单多了,这样我就能批量生成提示词。
对于初学者而言,这种提示词生成器能为他们提供一个良好的起点。我认为这只是最基础的版本,未来将是用户与模型深度互动的阶段。
AManda ashes
我想象未来的提示词交互将会异常简单。当我告诉AI我的需求时,它不仅会提供信息,还会主动引导我
Alex
从你们的讨论中,我注意到一个共同点,未来从用户那里准确获取需求的方法可能会比现在更加重要。你们已经开始采用人工方式来实现这一目标,
企业层面可能会将其发展为提示词生成的延伸应用,在控制台中更好的引导企业客户,帮助企业客户编写更准确的提示词。
在云服务方面,这可能不再仅仅是通过文本框输入指令,而是通过交互式引导来完成最终需求。
AManda ashes
在我的对话风格中,我尝试运用多种方法。我常使用的一种方法,也是哲学家们常用的一种,那就是定义新概念,并解释其含义。有时,我会与AI共同探讨,以帮助它理解这个概念,因为我正在努力传达我头脑中的想法。
然而,目前这些AI模型如果不经特别提示,是不会主动进行这种创造性的思考的。未来,AI可能会自己理解我们的想法,而不需要我们去引导。
许多人询问哲学与AI对话有何关联。我必须说,哲学确实非常有用。哲学写作有其独特的风格,至少在我学习时是这样。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-20
2024-06-29
2023-06-08
2024-09-17
2024-06-27
2024-07-09
2024-06-14
2024-07-12
2024-06-26
2024-09-16
2025-01-05
2025-01-04
2024-12-15
2024-11-15
2024-11-01
2024-10-29
2024-09-11
2024-09-06