ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【AI学习篇】AI越来越聪明,还要学提示词吗?

【AI学习篇】AI越来越聪明,还要学提示词吗? 一个值得思考的问题回想 2023 年ChatGPT 刚刚兴起提示词一度成为热门话题。各类教程和模板在网络上铺天盖地教人们如何为 AI 设定角色、拆解任务、约束回答格式。为了获得一个满意的答案往往需要事先准备一大段提示词。在当时流行一句话提示词是AGI时代的编程语言提示词工程是AGI时代的软件工程提示词工程师是AGI时代的程序员三年过去体验变了。在之前我们需要写一大段提示词反复强调AI才能根据我们想的方向去完成任务现在仅仅用日常聊天的方式说几句话他都能理解得到我表达的含义尽管我表达不完整、甚至打错字他也能根据上下文猜到意思。现在就有一个有趣的问题 随着模型越来越聪明我们还有必要专门学提示词工程吗我阅读了最近的几篇文章加上我自己实战的经历我得出的结论是入门门槛确实很低能聊天打字描述出自己的需求就行。但是想要用的好仍然值得去学习一些方法。不是去背模板而是为了在对AI的回答不满意的时候能知道往哪个方向调整。什么是提示词**提示词Prompt**就是用户提供给模型的输入内容聊天场景里你在聊天框写下的内容就是提示词。Agent 场景里模型收到的更多用户输入 Agent 职责 工具说明 历史对话上下文共同构成提示词。简单说模型这一次收到的所有输入都是提示词的一部分。大模型是怎么生成回答的很多人认为AI是一个巨型的知识库类似于百度的用处存放着所有问题的答案接受到提问后检索整合出答案。然而事实并非如此。模型训练时从海量数据中学到语言规律、文字处理和处理问题的方式这些学习的结果变成模型参数。在输入提示词后它能通过预制的参数计算后面可能出现的结果。我在阅读文章的时候看到一个很有意思的解释方式将这一整个行为理解成一场**“超级文字接龙游戏”**。比如输入“床前明月光”模型就会开始计算下一个字的概率“疑”的概率 95.2%“暗”的概率 2.1%“吃”的概率 0.01%按概率优先选“疑”然后更新文本再次输入模型继续计算下一个字逐 Token 生成直到拼出整首诗。这就是流式输出的底层原理——屏幕上文字一个一个蹦出来就是模型一个一个生成 Token 的过程。从输入到输出大致经过文本切分Tokenization把输入拆成 Token 并映射成编号向量表示把编号转换成模型能计算的数字并结合位置信息注意力机制Attention处理当前位置时结合上下文其他位置的信息概率计算和继续生成给候选 Token 算概率按策略选取加入序列影响下一步直到停止模型利用训练中学到的规律计算当前上下文下各个候选词的概率如果换一个模型或换一种提问方式这些概率就会发生变化。严格来说模型一次生成的单位叫 Token不一定是一个汉字或一个单词。模型得到候选 Token 的概率后会按生成策略选取下一个有的策略选择概率最高的有的则按概率采样并非每次都选概率最高的。如果把“续写古诗”换成“翻译成英文”同样的诗句就会引出译文换成“赏析”回答又会转向诗词的意境和表达生成的内容受到任务要求和上下文的共同影响。两个重要的问题1. 为什么要将需求讲得如此清楚模型根据提示词计算后续Token的概率。要求不同生成内容就不同。比如“写一段防晒霜的小红书推广文案”防晒效果、肤感、价格、包装都可以写。但如果补充“重点介绍清爽不油腻的肤感”就缩小了内容可选范围与肤感相关的表达会有更高概率出现。把需求写清楚会改变模型后续生成内容的概率让回答更容易沿着你想要的方向展开。2. 为什么AI会一本正经的胡说八道我们一般称这种现象为幻觉Hallucination。 AI不是大型的数据库也没有对于事实的核查能力只负责生成看起来通顺概率上合理的句子。当遇到知识库里没有的问题的时候他会根据语法结构和概率规律将所有闲散的信息拼凑成像是完整的信息但实际上完全不存在。一般出现这种情况是因为在训练过程中不回答用户问题反而比回答一个错误答案的得分低得多所以在落地使用AI的时候AI会优先先抛出一个答案给你而不是放弃回答问题。按照产生幻觉的原理可以发现这两种减少幻觉的办法提供资料源 查询资料可能AI会有查错或者没查到直接开始瞎编但是整理资料的任务AI是完全能胜任的。允许拒答在提示词中加一句如果不清楚或者不知道就直接说不要编造。提示词的基本结构RTF-C写提示词时可以用 RTF-C 框架整理需求角色Role、任务Task、格式Format、背景Context。简单任务一句话就够不用这么复杂。1. 角色Role给 AI 一个看待问题的角度。同一个问题产品经理关注需求与功能设计用户关心好不好用、值不值得花钱开发者重点考虑实现复杂度和技术难点。指定角色就是让 AI 更容易把回答放在你关心的地方。翻译、提取字段等简单任务可以省略角色。2. 任务Task把“帮我优化一下”这种笼统要求换成具体想让它做的事情。比如这一章节读起来有些绕我不确定是内容重复还是前后衔接有问题。请帮我检查先指出具体问题再给出修改后的正文。保留原有观点和必要的技术细节。任务不一定要一次写完整。自己还没想清楚时可以先让 AI 帮忙分析问题确定方向后再让它动手改。3. 背景Context帮助 AI 了解这件事在什么情况下完成。比如“帮我制定一份 Python 学习计划”对零基础和有 Java 经验的人合适路线完全不同。可以补充我有 Java 后端开发经验刚开始学习 Python每周能投入五个小时。我想做出一个支持工具调用的简单 Agent请围绕这个目标安排学习路线。背景不是越多越好。判断标准这条信息会不会影响它的回答4. 格式与限制Format提前说明结果以什么形式呈现以及有哪些要求。比如请写成能直接放进公众号的正文800 字左右用完整段落展开少用零碎短句。读者没有技术背景出现必要术语时请顺带解释。保留原文技术细节不要添加没有依据的数据和案例。5. 提示词的顺序一般先交代角色和任务再补充背景最后说明输出要求。这个顺序只是参考具体看任务和材料怎么组织更清楚。另外2023 年《Lost in the Middle》论文发现长上下文任务中信息放在开头或结尾时模型表现较好放在中间时表现较差。这提醒我们如果提供了很长的材料模型却经常漏掉信息可以调整一下位置看看。关于提示词的进阶方法1. 少样本提示Few-shot有些要求解释半天不如直接给例子。比如让 AI 整理客户反馈按“功能建议、使用故障、其他”分类。只给分类名称模型可能不清楚边界。这时可以给出分类规则和参考示例输入希望增加导出 PDF 的功能。→ 输出功能建议输入点击导出 PDF 后页面一直报错。→ 输出使用故障输入导出功能不太好用。→ 输出其他提供一个示例叫 One-shot提供几个叫 Few-shot。示例的两个作用减少对要求的误解让输出结构和风格更一致。选择示例看三点相关性、多样性、清晰性。数量不用一味求多先找几个能说明规则和边界的例子即可。2. 思维链CoT有些问题需要几步推算中间没考虑清楚就容易出错。思维链Chain of Thought引导模型生成中间推理步骤再得出最终答案。比如先给示例问题仓库有 20 箱饮料每箱 12 瓶卖出 35 瓶后还剩多少瓶解答原有 20 × 12240 瓶卖出后剩余 24035205 瓶。再让它用类似方式回答新问题。“请一步步思考”也是引导逐步分析的一种提示。如果已经知道哪些条件容易被遗漏可以直接写出来。自一致性Self-consistency 是 CoT 的扩展针对同一问题生成多条推理路径再汇总其中一致的答案更适合答案能明确比较的任务。3. 思维树ToT逐步分析适合沿一条路径解决问题。但有些任务开始时就有好几个方向不知道哪个值得继续。思维树Tree of Thoughts会在解决问题过程中生成多个候选方向评估后选择一部分继续展开走不通还可以回退尝试其他分支。比如确定文章切入点请先提出三个不同的切入角度为每个角度写出核心观点以及需要哪些案例或材料支撑。根据目标读者关注点和现有材料选出两个值得继续的方向各写一份简短提纲。再比较这两份提纲检查有没有偏离文章要回答的问题。它让我们在投入大量写作之前先比较不同方向。不过让模型一次列出三个方案还不等于完整的 ToT。原论文方法还涉及反复生成候选、评估、选择和搜索通常需要程序组织多次模型调用。直接写进提示词的方法可以理解为借用了探索和筛选不同路径的思路。4. 提示词链Prompt Chaining复杂任务难点在于要连续完成好几件事后面工作依赖前面结果。比如分析产品与竞品差异 → 提炼卖点 → 写营销文案。一次全交给它文案不满意时还要往前找是哪里出了问题。提示词链的做法拆成多次调用上一步输出作为下一步输入。第一步产品对比用表格呈现资料没有的信息标为“未知”。第二步根据对比表提炼三条有资料支持的卖点没有依据的优势不要补充。第三步根据卖点写约 150 字社交媒体文案不添加未经证实的性能承诺。这样每一步都能检查。对比表价格错了可以先修正避免错误一路传到最后。提示词链 vs 思维链思维链讨论一个问题如何经过中间推理得到答案提示词链安排多个任务之间的衔接每一步都有自己的输入和输出。提示词链 vs AgentAgent 有自主决策权可根据任务复杂程度选择不同方法提示词链是根据我们的要求手动拆分成多个任务更像一个工作流。5. 根据结果持续改进提示词提示词有没有用最终看实际运行结果。很难第一次就把要求想周全。可以让 AI 帮我们改写提示词把原提示词、实际输出、自己不满意的地方一起交给它让它分析结果为什么偏离预期找出含糊、遗漏或矛盾的地方再提修改建议。如果自己还没想清楚要求也可以让 AI 先提问帮助梳理需求再动手改写。但 AI 的修改建议也需要判断。它未必知道哪些要求最重要也可能把一次性偏好写成所有任务都要遵守的规则。持续改进也包括删掉重复、过时或相互冲突的内容。提示词并不是越写越长就越好。改完以后拿之前处理过的输入再试一遍看原问题是否解决其他结果有没有受影响。经过几轮使用、反馈和调整把反复有效的要求保留下来提示词才会逐渐适合自己的任务。这个思路和我在使用AI制作我的项目时一边推进项目进程一边修改跟进AGENTS.md是一个道理。结语AI 会越来越聪明我们也许不再需要琢磨复杂的提示词写法用平常说话的方式就能让它完成很多事情。但了解这些提示词优化方法仍然能让我们更好地使用它。当模型回答不满意时我们可以判断是不是缺了背景资料可不可以给一些示例任务复杂时能否引导分析、比较不同方向或者分阶段完成写提示词的过程也是在整理自己的想法。AI 可以帮助我们分析和执行而我们需要逐渐想清楚要解决什么问题需要什么才能做好怎样才算做好。随着 AI 能做的事情越来越多把自己的想法想清楚、表达清楚也会变得越来越重要。
返回列表