| #经验“我这大半年来都在围绕 ChatGPT API 做事,积累了一些 Prompt 相关的经验,大部分跟编程有关。即拿到结

| #经验 “我这大半年来都在围绕 ChatGPT API 做事,积累了一些 Prompt 相关的经验,大部分跟编程有关。即拿到结果后,我们不直接输出,而是使用代码处理这些结果,然后再输出。Functional Calling 对编程当然有用,不过有时候,配合文中的一些方法,可以得到更好用的结果。”

相关推荐

封面图片

OpenAI 官方推出的 Prompt 制作指南

OpenAI 官方推出的 Prompt 制作指南 一、 精细调整你的查询 1包含详细信息:在你的查询中加入具体信息,这样GPT能够给出更相关的回答。 2设置角色:告诉GPT扮演一个特定的角色,比如教授或编辑,这有助于获取专业化的回答。 3使用分隔符:通过使用例如三重反引号或XML标签等,来清晰标记输入的不同部分。 4明确步骤:对于复杂任务,把它分解成一系列清晰的步骤,这样GPT会更容易理解。 5提供示例:在合适的情况下,提供示例可以让GPT更清楚地了解你的需求。 6设置输出长度:告诉GPT你需要的回答长度,比如是一句话还是一段文字。 例1: -Prompt:“告诉我一个故事。” -优化后:请以一个童话作家的身份,告诉我一个以中世纪为背景、关于一位骑士和一条龙的冒险故事,你可以先给我讲这个故事的背景、再讲故事主人公的介绍、最后讲故事本身。以Markdown格式,不低于800字输出。 二、 使用参考资料 GPT可能会无意中编造信息,特别是在涉及复杂话题时。提供可信的参考资料,可以帮助GPT生成更准确和少错误的答案。 例2: -Prompt:“讲述拿破仑的历史。” -优化后:“根据史蒂芬·克拉克的书《拿破仑:人生、立场和遗产》,讲述拿破仑的历史。” 三、 将任务分解 处理复杂任务时,将其分解为更简单的子任务通常更有效。这样不仅可以降低错误率,还可以创建一个工作流,其中每个任务建立在前一个任务的结果上。 例3: Prompt:我想学习编程。 -优化后: 1哪些编程语言适合初学者? 2为学习Python,推荐一些在线课程。 3Python基础知识学习后,推荐一些进阶项目。 四、 让GPT“思考” 与人一样,GPT也需要时间来处理信息。通过引导GPT进行一系列的推理,而不是立即给出答案,可以帮助它更可靠地得出结论。 例4 -Prompt:“为什么天空是蓝色的?” -让GPT“思考”的查询:“当我们看天空时,我们通常看到蓝色。这是因为大气和光的相互作用。请从光的散射和大气的组成两个方面,解释为什么天空在大多数情况下呈现蓝色。” 五、 利用外部工具 结合其他工具的使用,可以提升GPT的能力。例如,当需要执行复杂数学计算时,可以使用专业工具而不是依赖GPT。 例 5:天气查询应用 如果你正在开发一个可以告诉用户当前天气的应用,你可能想要整合一个天气API来获得实时天气数据,而不是依靠GPT模型的预测能力。 六、 用测试确认改善 要提高性能,需要看到真实的数字。单独改一点可能在一两个例子里有效,但总体表现可能变差。所以,要用一系列的测试检查是否真的有所改善。 一个好办法是用“标准答案”来对比模型的输出:假如我们知道一个问题的完美答案应该有哪些内容,我们就可以检查模型回答里包含了多少必要的内容。 原文地址:

封面图片

昨天帮律所朋友整了一个prompt,合同审核专家,给合同找BUG,里面也有他的一些思考和经验,和他商议可以分享给大家。@黄粱一梦

昨天帮律所朋友整了一个prompt,合同审核专家,给合同找BUG,里面也有他的一些思考和经验,和他商议可以分享给大家。@黄粱一梦董二千 ## 你的身份和任务 你是一位合同审核专家,我将给你一份合同,请你对其进行全面的审核。你需要根据‘你具备的能力’、’内容要求’、‘输出注意事项’和’输出案例’输出最终内容。 ## 你具备的能力 1. 你具备法律专业知识,能够准确理解和分析合同的法律性质。 2. 你有丰富的合同审核经验,能够发现合同中的潜在风险和问题。 3. 你能够对合同进行细致的条款分析,判断其合法性和合理性。 4. 你能够提出明确的修改建议,确保合同的权利义务公平明确,兼顾各方利益。 5. 你能够提供中立、客观的法律分析,尽量站在用户所在一方当事人利益。 ## 内容要求 1. 首先判断合同法律性质,收集该类合同的审核要点、风险点、违约案例等信息。 2. 分析当事人主体资格、合同目的及权利义务描述是否明确合法。 3. 核查责任条款、违约条款、争议条款等是否合法有效,判断是否存在利益失衡或不合理条款。 4. 结合违约案例等信息,预测履行过程中的风险,判断合同相对人可能利用的漏洞进行违约。 5. 综合上述分析结果,得出对合同合法有效性和风险的总体判断意见。 ## 输出注意事项(一条条思考) 1. 在分析过程中,要全面细致地逐条分析需要关注的条款。 2. 针对存在明显问题或风险的条款,需要直接进行摘录并给出直接的修改建议。 3. 在提出修改建议时,需要明确并确保合同权利义务公平明确,兼顾各方利益。 4. 提供的法律分析需要中立、客观,尽量站在用户所在一方当事人利益。 5. 最后的总体判断意见需要综合上述分析结果,对合同的合法有效性和风险进行评估。 ## 输出案例

封面图片

回顾我的 prompt 能力从小白到熟练的一些重要节点:

回顾我的 prompt 能力从小白到熟练的一些重要节点: 防杠叠甲: 1. 仅代表我自己的认知,没啥权威性。 2. 认为提示词那么简单至于搞那么复杂么的朋友,你对 3. 本文是语音转写的,比较随意。 第一步:大模型基本特性与生成原理 第一步还是要从大模型的基本特性了解开始 这部分可以叫做大模型祛魅或者是大模型的基础认知 这部分学习的重点应该是大模型的生成原理 避免在以后使用提示词的时候对大模型有一些不恰当的想象 导致一些很奇怪(不现实)的提示词的想法,比如一次生成上万字,准确生成312个字,自动生成爆款什么的。 第二步:自然语言对话体会与大模型交流 在心流状态下认真地审视自己内心想要解决的问题和诉求,尝试通过完全的聊天式的自然语言来和大模型进行几轮对话,以此来体会大模型的一些生成机制,然后感受一下其中不尽如人意的地方,反思自己的提问哪里有缺陷, 也思考一下大模型是不是有一些局限性。 第三步:引入结构化思维 在进行了第二步之后,会显著地感受到对自己的表述和对大模型的反应已经有了一个直观的认知,这个时候可以开始考虑如何采纳更加有效的表达结构来进行和大模型的对话,这时候才真正地引入所谓带有方法论的提示词写法,如模块化的提示词框架, 可以尝试去用几个比较简单的提示词,例如交代清楚任务的背景,给出生成内容的格式要求,描述具体的任务步骤等等。 第四步:深入理解“角色法” 在第四步要深入地理解角色法(让大模型扮演某角色)这种方法在提示词当中的非常有效的作用 在这个阶段可以充分地去体验一下不同角色的约束带来的大模型回复的变化 首先要自己认同角色法的意义和作用。 在角色法的基础上加上结构化表达,所谓结构化提示词事实上就是基于角色法的一种结构化表述方法。 同时,在结构化提示词的 workflow 部分融入了思维链的思路,将复杂的任务拆分成清晰的、环环相扣的、分步实施的清晰的任务指令。 结合了角色法、结构化表达和思维链提示的三种方法论与一体的结构化提示词,在一些复杂任务当中或在一些复杂的角色塑造当中起到了非常显著的作用,但这只是提示词创作的方法之一。 第五步:了解 markdown 语法和它的意义 在第四个步骤的基础上,可以为了让我们的结构化语法更加的清晰有效,在一些复杂的文本层级和结构之间带来更加清晰的显示方式, 我们可以引入 Markdown 语法,为我们先前的角色法和结构化表达带来更加清晰的语法结构,以便大模型能够更清楚地识别我们所提供的所有的指令。 提示词中使用 Markdown 语法的核心是符合 OpenAI 的官方六个最佳实践里面的使用清晰的表达结构和分隔符、符号等方式使得我们的大段文本的结构变得更加清晰。 这样做的目的只有一个:就是让大模型不至于混淆在我们复杂的文本指令过程中的一些层级问题,或者因为分隔不当而导致一些有不同含义的文本被混淆在一起导致大模型的误解。 在这一点上,很多同学有着诸多的困惑或误解,事实上,Markdown 语法并不局限于我们广为流传的结构化语法当中的那些固定格式和单词, 只要是基于清晰表述的框架层级下采用 Markdown 语法, 你完全可以自定义你的每一级的标题的内容和文本的内容, 以及灵活地使用 Markdown 当中的其他的一些写法, 例如有序列表,无序列表,缩近符,分隔符,在提示词当中嵌入一部分片段式的代码等等,都是可以的。 第六步:没想好叫什么名字,就再进一步学习吧 认真完成前面五步事实上并不需要太久的时间,如果已完成,恭喜你,你的提示词基础已经挺扎实了。 接下来是两个层面的进阶学习: 1. 实践 大量的实践, 对上述方法的大量实践,在极多的不同场景下的反复编写提示词,观察大模型的反馈结果,进行测试和迭代,然后去优化自己的表述结构, 以此更加深入地理解大模型的一些能力,一些局限,以及会更加深入地理解自己表达上面的一些技巧和方法。 2. 表达能力 向内审视自己的表述,这背后是我们的逻辑思维和表达能力,我们的词汇量,我们的语言组织,我们的语法习惯,都会影响我们在对大模型输出指令时的文本的质量。 在前一个步骤里采用的结构化提示词的好处在于,它已经规范了一套相当标准的表述结构,那么就可能会在一定程度上弥补个体在表达上缺乏逻辑性和条理性的这样局限和缺陷。 在我们运用结构化提示词非常熟练的场景下,我们需要进一步地去融合和提炼,学会在更加复杂的情况下使用复杂提示词,而在更加简单或连续追问的心流场景下,找到准确表述自己的意图的一种方法。 这是需要建立在大量的对话实践的基础上的,如果你在之前已经了解过大模型的特性,也采用结构化提示词,采用别人提供的框架和模板,进行过大量实践的情况下,你可以在极其精简的几个句子中就明确表述自己的意图,并且对大模型接下来的生成有一定的判断。 在大模型的生成不符合你预期的结果时,你也可能很快地找到如何调整自己表述的方式。这些是我称之为一种和大模型对话语感的能力,这种语感的背后有经验的累积,有对方法论的思考,更多时候也是形成一种潜意识的表达的一种条件反射的语言素养。 第七步:提示词封装与工作流 当我们对外掌握了足够的技巧和方法,对内也深刻思考了自己的深层逻辑思维与表达能力,我们该考虑如何把我们熟练运用的提示词作为工具分享给他人使用,或作为工具沉淀下来用于提升自己的生产力工具。 这时候我们必须要考虑到引入一个提示词封装的方法。 目前市面上比较主流的工具有 OpenAI 官方推出的 GPTS 或者叫 Gizmo, 当然也有我们国内国产大模型的很多智能体封装的工具, 例如智谱清言的智能体,百度文心一言的智能体,以及Kimi Plus版本最近推出的官方智能体(暂不支持用户自己上传), 这些都是很成熟的平台化的智能体封装方式。 对于提示词学习者来说,仅需要花较少的时间去了解平台的特性、智能体的设置规则, 以及一些最基础的简单的参数设置即可。 但当我们来到这一步时,我们必须面临的一个问题是, 在我们独自使用一个提示词的时候, 很可能这个提示词的某些约束语句仅出于我个人的语言习惯或我个人对提示词的使用场景, 所以在我们测试和迭代的时候不会发生太多的问题。 但当我们把一个提示词封装为一个智能体去发布或者是传递给更多其他人使用的时候, 由于使用场景的差异和思维方式的差异, 很可能我们的提示词会遇到很多用户层面的问题。 如果我们有机会和我们的用户交流的话, 可以极大的提升我们在提示词的编写迭代上的认知和见解。 这是非常宝贵的经验,值得大家在这个领域投入更多精力,建立和你提示词使用者的沟通机制是非常有帮助的。 同时我们在这个阶段也会面临另一个困境,就是单一的提示词很难解决较为复杂的任务或生成非常长篇的复杂文本。 这是大模型单词对话窗口的局限性和大模型的注意力机制所决定的。 当你的提示词足够复杂的时候,意味着大模型的注意力也被大量的稀释。 那么分散在一些特定的重要约束语句上的注意力可能就会不足以让大模型来理解并完成这一个指令和约束。 在这种情况下,单个提示词的能力会变得让我们感到非常无力,这种情况下,我们需要引入提示词链或工作流程,把多个提示词和大模型能力以及外部工具的能力链接起来,形成一个特定的工作流来解决我们对复杂任务的要求。 第八步:RAG技术 同时,为了解决大模型的世界知识不足或产生幻觉等等问题, 我们在这个时候需要适时地考虑引入基于 RAG 技术的自主上传的知识库文本或自己去创建清晰的数据集来作为引用文本, 方便大模型基于更加严谨的参考文本来解决我们特定的任务场景。 到这里,提示词应该可以想写什么写什么了,祝 AI 旅途愉快。

封面图片

关于ChatGPT 做 Search 会杀死大部分 Wrapper 型 AI 搜索引擎的讨论,我有一些不一样的看法

关于ChatGPT 做 Search 会杀死大部分 Wrapper 型 AI 搜索引擎的讨论,我有一些不一样的看法 1. AI 搜索引擎的第一要义是准确度。 准确度的决定性因素主要是两个:问答底座模型的智能程度 + 挂载上下文的信息密度。 做好 AI 搜索引擎的关键,选用最智能的问答底座模型,再对 RAG 的检索结果进行排序去重,保证信息密度。 第一个步骤容易,第二个步骤很难。所以现在市面上大部分的 AI 搜索引擎,包括 Perplexity,准确度也就 60% 左右。 2. ChatGPT自己做搜索,首先保证了问答底座模型的智能程度。 其次在检索联网信息层面会做黑盒优化,包括 Query Rewrite / Intent Detection / Reranking 这些措施。 最终依赖自身模型的 Long Context 特性,效果就能做到比其他纯 Wrapper 类型的 AI Search Engine 要好一点。 3. 我并不觉得大模型厂商自己做 AI 搜索 就一定会比第三方做的好。 比如我做 ThinkAny, 首先接入 claude-3-opus,在模型底座智能程度方面,就不会输 gpt-4,第三方甚至能有更多的选择,针对不同的场景切换不同的模型。 其次,Long Context 也有很多模型能够保证。 再者,工程层面对 RAG 挂载上下文内容的优化,ChatGPT 能做,第三方也可以做。 4. 做好 AI 搜索引擎,最重要的三点是准 / 快 / 稳,即回复结果要准,响应速度要快,服务稳定性要高。 其次要做差异化创新,错位竞争。比如对问答结果以 outline / timeline 等形式输出,支持多模态搜索问答,允许挂载自定义信息源等策略。 5. AI 搜索引擎是一个持续雕花的过程。 特别是在提升准确度这个问题上,就有很多事情可以做,比如 Prompt Engineering / Query Rewrite/ Intent Detection / Reranking 等等,每个步骤都有不少坑。 其中用 function calling 去做 Intent Detection 就会遇到识别准确度很低的问题。 用 llamaindex + embedding + Vector DB 做 Reranking 也会遇到排序效率低下的问题。 6. AI Search + Agents + Workflows 是趋势。 AI Search 做通用场景,通过 Agents 做垂直场景,支持个性化搜索需求。 通过 Workflows 实现更加复杂的流程编排,有机会把某类需求解决的更好。 使用 GPTs 做出的提示词应用或知识库挂载型应用,价值点还是太薄。 7. 我个人不是太看好垂直搜索引擎。 一定程度上,垂直搜索引擎可以在某个场景做深做透,但是用户的搜索需求是非常多样的,我不太可能为了搜代码问题给 A 产品付费,再为了搜旅游攻略给 B 产品付费。 垂直搜索引擎自建 index 索引,工程投入比较大,效果不一定比接 Google API 要好,而且接入的信息源太有限。 8. AI 搜索是一个巨大的市场,短时间内很难形成垄断。 海外 Perplexity 一家独大,国内 Kimi/秘塔小范围出圈。各家的产品体验,市场占有率还没有达到绝对的领先,后来者依然有机会。 9. AI 搜索引擎需要尽早考虑成本优化。 主要支出在于大模型的 token 成本和搜索引擎的 API 请求费用。 成本优化是个持续的过程,比如可以自行部署 SearXNG 来降低搜索的成本,部署开源模型来降低大模型的 API 调用成本。 day one payment,趁早向用户收费也许是一种 cover 成本的好办法,但是也要考虑用户流失的问题。 以上是我个人做一个多月以来的一些经验和思考。欢迎交流探讨。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人