1. 从“写提示词”到“提示设计”:这个角色到底在做什么
提示工程这几个字,听起来像是个纯调参的活儿,但干久了你会发现,它本质上是个产品岗。真正的提示工程架构师不是在跟模型对话,而是在跟用户体验对话。模型只是中间的那层翻译器,提示词是唯一你能直接控制翻译方向的地方。
我接触过的很多团队,一开始都以为提示工程就是“把需求说清楚,让模型听话”。结果做出来一看,模型确实听话了,但用户用起来还是一头雾水。问题出在哪?出在提示词解决的是“模型能不能答对”,而用户体验解决的是“用户能不能顺畅地得到他想要的结果”。这两件事,中间隔着一整条产品链路。
举个我实际处理过的场景。某个知识库问答系统,最初的提示词写得非常完整,把所有业务规则、回答格式、语气要求全塞进去了。模型表现也确实稳定,内部测试准确率很高。但上线以后,用户反馈最多的居然是“不知道能问什么”。原因很简单,提示词把模型约束得太死,用户输入稍微偏离预设范围,系统就回一句“抱歉,我暂时无法回答这个问题”。这句话对模型来说是兜底,对用户来说就是劝退。
所以提示工程架构师要做的,不是把提示词写到完美,而是把提示词放进整个用户旅程里,去设计每一次交互的预期、反馈和容错。提示词只是抓手,体验才是终点。
这篇文章就围绕这个核心讲透几件事:提示设计的目标拆解、边界约束、系统化落地、问题排查,以及一个完整的实战案例。适合正在做 AI 产品、对话系统、智能客服,或者想从“写提示词”进阶到“做提示设计”的开发者参考。我会尽量把每一步背后的思考逻辑讲清楚,而不是只给结论。
2. 提示设计必须想清楚的三件事:目标、边界、兜底
2.1 目标定义:可观测、可验证,而不是“感觉对了”
很多人写提示词,第一个动作就是直接开始写“你是一个……”。这个顺序其实是反的。正确顺序是先定义清楚:这个对话系统要达成什么样的用户目标?这个目标怎么衡量?模型回答成什么样算好,什么样算差?
我习惯把目标拆成两层。第一层是任务目标,比如“用户问天气,模型要给出温度、风力、降水概率三个字段”。第二层是体验目标,比如“用户问天气时,模型要先确认城市,再给出预报,如果用户没有给城市,要主动询问,而不是猜一个城市”。
任务目标决定提示词里的硬性约束,体验目标决定提示词里的交互逻辑。缺了任务目标,模型会自由发挥;缺了体验目标,模型会答对但让人不舒服。
一个重要原则是:所有目标都要落到可观测的信号上,不能靠感觉。比如“回答友好”这种目标,没法量化,就容易翻车。我会把它改成“回答要包含用户输入中的原始城市名,并且开头先做确认”,这样就能写进测试用例里,用脚本去验证。
这里有一个我踩过很多次的坑:目标定义得太宽。比如“提供专业的法律建议”,这种目标等于没有目标。模型的输出没法验证,用户的期望也没法对齐。后来我改成了“只针对用户描述的具体情境,给出对应法条引用和常规操作建议,不做法律效力判断”。这个定义看起来更窄,但用户满意度反而更高,因为期望对齐了。
目标定义的输出物是一份“验收清单”,每个对话场景都对应一组可验证的回答特征。后续所有提示词的迭代,本质上都是在让输出更贴近这份清单。
2.2 边界约束:让模型在“安全区”内作答
边界约束是提示设计里最容易被忽视的部分。模型的能力很强,但产品场景里不是所有能力都该被暴露。没有边界约束的提示词,就像把一把没装保险的电动工具交给用户,看起来自由度提高了,实际上风险全在你这边。
边界约束要回答三个问题:哪些输入不要接?哪些输出不能给?哪些情况下主动转移话题?
哪些输入不要接,这个比较好理解,比如不相关领域的闲聊、攻击性内容、诱导性提问。这些要在提示词里明确“拒绝策略”,但拒绝策略本身也要讲用户体验。直接说“我无法回答”是最差的方案,更好的做法是“引导到能力范围内”。
哪些输出不能给,这个更复杂。很多时候模型知道答案,但产品责任上不允许直接给。比如医疗场景,模型可以推荐挂什么科室,但绝不能下诊断、开药方。提示词里要写清楚“可以做什么、不可以做什么”,而且要用场景化的描述,不能说“不要给医疗建议”就完了,模型分不清哪些算建议哪些不算。我一般是给正例和反例,让模型照葫芦画瓢。
主动转移话题这个,很多人没想过。用户问了一个模型解决不了的问题,除了拒绝,还有一条路是把话题引导到模型能解决的问题上。比如用户问“你能帮我写作业吗”,你可以拒绝,但更好的体验是“我虽然不能帮你代写,但可以帮你梳理思路,你想从哪道题开始?”这就是从边界约束走向体验设计的典型手法。
边界约束的终极目标是让模型在“安全区”内自由发挥。安全区越大,用户体验越自然;安全区边界越清晰,系统风险越低。这两者需要平衡,而平衡点就是提示工程架构师要反复打磨的东西。
2.3 兜底策略:用户的每个无效输入都得接住
兜底策略是提示工程里最见功力的一部分。因为模型的能力再强,也架不住用户输入千奇百怪。有人发语音转文字带一堆噪音,有人一句话没说完就发了出去,有人用表情包交流,还有人输入法和模型能力“互相成就”出了一堆乱码。这些情况你全得接住。
我遇到一个特别典型的案例,是个面向 C 端的娱乐向产品。用户经常发来“哈哈哈”“6”“?”这种极短输入。最初的系统遇到这种输入,直接走拒绝流程,用户体感就是“这个 AI 真高冷”。后来我们把兜底策略改成了“轻量互动模式”,遇到极短输入时不判断意图,先给一个轻松的回话,比如“看来你心情不错,想聊点啥?”,把主动权再交回给用户。就这么一个小改动,会话长度直接提升了不少。
兜底策略的设计原则是:无路可走时,给用户一条“有尊严”的路。“有尊严”的意思是,不要让用户觉得是自己不会用、问错了,而是让用户觉得是系统在引导他更好地表达。
具体来说,兜底策略有三个层面:
第一,识别层。判断输入是不是空、是不是乱码、是不是跟当前上下文无关。
第二,处理层。根据识别结果,选择对应的兜底动作。比如输入太短就追问,输入乱码就提示重新表达,无关输入就引导回正题。
第三,转移层。如果用户反复尝试都无法得到有效答复,要提供人工客服入口或者“换个问法”的建议,让用户始终有路可走。
这三种策略都要写进提示词里,但同时也要配合产品逻辑实现。你只在提示词里写“如果用户输入无法理解,请引导用户换一种表达”,模型可能读不懂这句话。更有效的写法是给模型一个内置的“理解失败处理流程”,把每一步的行为指令都写清楚,模型才知道怎么执行。
兜底策略最考验架构师对用户心理的理解。一个设计良好的兜底,用户往往察觉不到它的存在,但能感觉到系统一直在线,一直在试图帮自己。这才是“极致用户体验”里最容易产生口碑的部分,表面上不起眼,实际上决定了用户愿不愿意继续用下去。
3. 把提示工程落进系统:模板化、上下文与动态组装
3.1 模板化管理:别把提示词写在对话里,写进代码里
很多人第一次接触提示工程,就是在后台聊天界面里把自己的需求发给模型,试了几轮觉得效果还不错,就复制粘贴到代码里。这种做法不是不能用,但一旦产品进入迭代阶段,问题就全冒出来了。
第一个问题是不可维护。提示词散落在代码各个位置,要改一个措辞,得全局搜。第二个问题是不稳定。模型接口升级、系统消息变了、业务规则变了,都要手动去改提示词,改完不知道会不会影响其他场景。第三个问题是没法版本化。你想回滚到上一个效果更好的提示词版本,发现找不到历史记录。
我的做法是把提示词当成代码来管理。每个场景一个独立目录,里面包含系统提示词、少样本示例、参数配置三个文件。系统提示词写清楚角色的任务和约束,少样本示例提供输入输出的范式,参数配置单独拎出来管理 temperature、top_p、max_tokens 等参数。
模板化的另一个好处是方便做 A/B 测试。你想验证“语气更正式是否带来更高信任度”,直接改一条模板,再对另外一组用户保留旧模板,看数据说话。没有模板化,这种实验几乎没法做,因为你改了一处,另外的地方也跟着变了,变量控制不住。
模板化管理的核心是抽象能力。同一个产品里可能有十几种对话场景,每个场景的提示词内容不同,但结构往往相似:角色设定、任务描述、边界说明、输出要求、兜底策略。这五个模块是公共的,把它做成一个基类,每个场景往里填具体内容,就能大幅降低维护成本。
我在实际项目里用过类似“提示词即配置”的方案:把每个场景的提示词拆成若干 segment,每个 segment 是一个 markdown 文件,运行时按顺序拼接。这样产品同学也能自己调文案,不需要碰代码。提示词的本质是内容,内容就应该让最懂内容的人去维护,而不是每次改动都走开发排期。
3.2 上下文注入的优先级:不是所有信息都要塞给模型
上下文注入是提示工程里最影响成本和质量的因素,也是很多团队最容易失控的地方。你总想让模型知道得越多越好,上下文塞得越来越满,但模型处理长上下文的能力和注意力分配是有限的。信息太多时,关键信息反而容易被淹没。这不是玄学,是实际发生过的问题。
我给一个团队做咨询时遇到过一个案例,他们把整个用户订单流水全部塞进上下文,希望销售助手能给每个问题都给出精准回答。结果模型确实能引用到某条流水,但经常张冠李戴,把上一单的信息当成当前单的信息。后来我们压缩了上下文,只保留当前订单的关键字段、用户最近一次交互、以及商品目录的前三条候选,准确率反而上来了。
上下文注入要分优先级,我一般按这个顺序排:
第一优先级:当前会话的即时目标。比如用户正在问的订单号、正在看的商品 ID,这是模型判断当前问题的最核心依据。
第二优先级:用户的关键属性。比如用户是否会员、历史偏好、信用等级,这些影响回答的个性化程度。
第三优先级:系统级的业务规则。比如退款政策、库存状态、配送范围,这些是回答正确性的基础。
第四优先级:历史会话摘要。比如用户之前问过什么,尤其是刚刚才发生的几轮,但不要无限堆积原始对话,要用摘要替代原始记录。
这个优先级顺序不是固定的,要根据具体业务调。但核心原则是不变的:上下文里该有什么、不该有什么,要在代码层就过滤好,而不是全丢给提示词去判断。提示词负责“怎么用这些信息”,代码负责“放哪些信息进来”,职责分开,系统才干净。
另外一个很容易被低估的问题是重复信息消耗上下文额度。为了确保模型不遗漏某个信息,我见过有人把同一条规则用三种不同写法塞了三遍。这不会让模型更重视,反而会稀释那些真正重要的信息的权重。提示词不是字越多越好,信息密度高才是关键。
3.3 多轮对话中的提示词动态组装:换场景、转意图、清记忆
多轮对话是提示工程里最能拉开差距的地方,也是最难的地方。单轮问答只要把静态提示词写好,基本就能跑。多轮对话不行,用户的每一次新输入,都会改变当前对话的上下文状态,提示词必须跟着动态变化,否则用户体验就会出现“断片”感。
最常见的多轮问题是场景切换。用户跟你聊了十轮星座运势,突然问一句“那你能帮我查一下附近哪里有吃的吗”。这个时候,如果你还在用星座那套提示词的语气和结构去回复,用户就觉得这个 AI 不聪明。理想的做法是,检测到意图切换后,迅速重组提示词:清掉上一个场景的特定规则,注入当前场景的任务描述,再保留一小段有参考价值的历史摘要,比如用户之前在意的偏好。
意图中转是另一个难点。用户不一定会直接告诉你他换了一个新话题,很多时候是蹭着上一句话的尾巴跳过去的。比如用户问“适合职场的穿搭”,你回答了一大段。他又补一句“那如果是要见客户呢?”,这个时候他到底是想延伸穿搭话题,还是想切换到商务礼仪?答案是两者都有。优秀的提示词架构里会专门设计这种“追问模式”,保持原有意图,但把当前问题的角度收窄,让回答更聚焦。
多轮对话还有一个容易被忽略的细节:记忆的粒度。用户四轮前提了一句“我不吃辣”,第八轮你推荐餐厅时应该记得,但也不能把所有历史细节全部倒进上下文。我的方案是做一个“滚动记忆摘要”,每轮对话结束后,用一次轻量的摘要模型将当前轮的内容压缩成一句话,存进一个环形队列,只保留最近 N 轮。这样既不丢关键信息,又不至于撑爆上下文窗口。
多轮对话的动态组装,本质上是把“提示词”从静态文本变成了一个实时状态机。这个状态机的设计水平,直接决定用户感受到的“智能感”。很多产品说自己的模型不够聪明,其实不是模型不够聪明,而是状态机设计得太粗糙,该记的没记,该忘的没忘,该换的没换。
4. 一套可复用的提示工程排查方法论
4.1 输出质量问题的定位:是模型不行,还是提示词没写对
提示工程做得久了,你会发现一个问题的高频开场:开发跑过来说“这个场景效果不好,模型太笨了”。但当我真正去排查的时候,十次里面有七八次,根因都在提示词,不在模型。
一个系统的输出质量出问题,最有效的排查方法不是去猜,而是做“变量隔离”。先把问题分成几个层面:是理解层面的错,比如模型没领会用户意图;还是生成层面的错,比如理解了但表达不对;还是合规层面的错,比如越过了边界。这三个层面的排查方向完全不同。
理解层面的错,多半是上下文给得不够,或者用户输入太模糊。排查方法是逐轮打印出系统接收到的原始输入,检查是不是有截断、乱码、错位。我见过一个案例,用户在多轮对话里提到“上次说那个”,系统直接把“那个”当成指代对象去搜索,当然搜不到。这种问题不是你提示词再多写几句就能解决的,必须靠代码层补充指代解析或者摘要机制。
生成层面的错,多半是输出指令不明确。比如你要求“回答要简洁”,模型理解的“简洁”和你想要的“简洁”很可能不是一个东西。解决方案是把“简洁”翻译成可操作的结构约束:“回答不超过三句话,第一句给结论,第二句给理由,第三句给补充建议”。这种约束比形容词管用得多。
合规层面的错,往往不是提示词写得不够严,而是你没有给模型足够多的“辨别样例”。边界规则如果用抽象描述,模型只能猜。我一般会配 5 到 10 组正例反例,让模型看清楚什么能说什么不能说。模型学习边界,靠的是示范,不是靠抽象的“不要”“禁止”“务必”。
排查完以后,要把结论记录下来,形成一份“质量归因清单”。下次再遇到效果不好,先把清单过一遍,能少走一大半弯路。
4.2 成本与延迟的控制:质量不是唯一指标
提示工程架构师如果只看输出质量,不看成本和延迟,早晚要出事。模型接口的费用随着调用量上涨是很快的,而你塞的上下文越多、输出越长,单次调用的费用越高。延迟更是直接决定用户留存,慢到一定程度,再准的回答也没人看。
成本控制的第一个杠杆是 prompt 瘦身。很多团队上线前不清理,提示词里堆了大量历史迭代中已经用不到的内容。我见过一条提示词,里面同时存在两套互相矛盾的风格要求,因为它们分别来自两个不同的实验版本,代码合并时都留下来了。瘦身不是简单删字,而是重新审一遍每个模块是否还在起作用。
第二个杠杆是缓存。对用户高频问的问题和常见的对话前缀,可以考虑做结果缓存。虽然不是所有场景都能直接缓存,但至少对“首次问候”“常见 FAQ”这类型问题,能省掉相当一部分重复计算。有些模型平台也提供语义缓存能力,实测下来对重复率较高的 C 端产品效果显著。
延迟控制的思路和成本控制不一样,你要保住体验底线。我会给每个场景设置一个“最大提示词长度”预算,超了就砍,再超就精简前缀。对于追求实时的场景,比如语音交互和客服首响,我会刻意选择更轻量的模型,哪怕牺牲一点复杂推理能力,也要把响应时间压下去。
这里要多说一句:不要一块模型模板到处套。有些场景根本不需要那个大模型,你在工具链里放一个轻量模型,走一套更短的提示词,用户体感完全不差,成本却能降一半甚至更多。提示工程架构师的价值之一,就是知道什么时候该用重型武器,什么时候该用轻量方案。
4.3 回归测试用例设计:提示词也在积累技术债,也得还
提示词改一次看似简单,实际上每个改动都可能影响十几种用户输入的表现效果。你修好了一个边缘 case,可能带崩了三个常规 case。为了避免这种情况,提示工程也要有回归测试。
我一开始做回归测试是靠人工,把几十条典型用户输入纪录在一个表格里,每轮迭代后一条条跑,眼都快花了。后来意识到这活儿必须自动化,就搭了一套简单的测试脚本:把测试用例和预期输出特征写成结构化数据,每次提示词变更后跑一遍,自动比对输出是否通过检查项。
用例设计上,我按几个维度覆盖:常规场景、边界输入、恶意输入、用户误操作、长尾输入。常规场景保证主干功能不坏;边界输入测试极限情况,比如超长输入、空输入、纯标点;恶意输入测试合规防线,比如诱导越狱、人身攻击;用户误操作测试容错能力;长尾输入保证小众问法也能被兜住。
比自动化更重要的是,用例本身要“活”。每在线上遇到一个你没预料到的新问题,就把它沉淀成一条新用例。这样测试集合就像产品的记忆体,越过越饱满,系统的鲁棒性也会稳定增长。这是我见过很多团队忽略的点,他们上线后就把测试用例扔一边了,然后嘞,每次出问题都要从头查一遍。
回归测试的本质是把“经验”沉淀成“资产”。没有这套资产,提示词就是每一次都在从零开始的未知探索。
5. 完整案例拆解:从零搭建一个文档问答助手
5.1 需求定义:不先想清楚用户是谁,后面全是白干
前面讲了一大堆原则,这里用一个完整的案例把它们串一遍。假设你要做一个面向企业内部员工的文档问答助手,核心诉求是员工可以直接用自然语言提问,系统从公司知识库里找到答案。这个产品看起来简单,但真正做起来,每一步都是提示工程决策。
用户画像先想清楚:员工分两种,一种是新员工,对整体业务不熟,问题往往很宽泛,比如“报销流程是啥”;另一种是老员工,问的问题很具体,常常带上部门名词和项目代号,比如“某项目的预算审批卡在哪个环节了”。这两种人的信息需求和回答预期完全不一样,提示词的写法也必须区分。
产品目标拆成三层:任务层,准确从文档中检索并提炼答案;体验层,回答要有出处可溯源,新员工提问时能给出引导式追问;安全层,只回答知识库覆盖范围的问题,不编造、不承诺。
基于这些需求,我设计的第一版提示词原型大概是这样的结构。角色定位是一个文档助手,引导用户给出足够信息;任务描述是检索知识库并提炼答案;输出要求是附带原文摘录;约束是不知道就说不知道,且给出下一步提问建议。这套原型跑通后,再进行边界、单体、多轮三层迭代。边界部分加入了对跨部门敏感信息的拒绝策略;单体部分把复杂回复改成结论先行加来源说明;多轮部分引入了追问补全机制,遇到不完整问题时针对缺失字段连续追问。
这个案例里最核心的一点是:提示词只是最后落地的那一层,前面所有产品判断、信息架构、交互设计才是真正的决定因素。
5.2 提示词原型到版本迭代:三个版本的演进过程
第一版提示词原型写好后,我通常会先在真实业务文档上测一轮,而不是直接上漂亮话和完整规则。这时候的主要目标是看模型的输出和预期差距有多大,差距大的地方就是后续要补的模块。我第一版就发现两个问题,一个是用户问“报销要多久”这种开放问题,模型的回答信息量太大,塞了一大段流程;另一个是模型经常直接给出答案,却不给依据,员工无法判断信息可靠。
所以第二版我动了两个地方。先说前者,代码层做了三类问题识别,宽泛问题走路径引导模板,具体问题走精确答案模板,混合问题先拆解再分步回答。再说后者,输出格式上加了强制约束,要求先答要点再附依据,依据必须精确标注文档编号和章节名。
这些改动落到提示词上,不是简单加几句话,而是新增了一个“回答格式路由模块”。它像一个分发器,先判断用户问题属于哪种类型,再决定走哪套回答模板。这个模块本身也是提示词的一部分,我把它单独抽成一个子提示:你是一位问题分类器,把用户输入分为宽泛类、具体类和混合类,分别输出对应的处理指令。这么设计的好处是模型只需要专注做好分类这一件事,不需要在回答的同时还要想着格式,准确率会更高。
第三版的重点转向长尾问题。我把过去一个月线上遇到的所有“用户提问后得到不满意回答”的案例全部都翻出来,逐条分析。最后发现大部分问题都不是知识库没内容,而是用户问法和文档里的用词对不上,比如用户说“打款”,文档里写的是“放款”。这个问题靠提示词本身解决不了,要靠代码层的同义词扩展。我做了一个和用户问题相关的关键词扩展逻辑:当检索引擎召回不足时,自动把同义词库里的词作为补充检索条件。提示词这边配合用多轮追问收集关键词,确保检索的准确性。
三版迭代下来,最终的效果从“听起来像个会聊天的搜索引擎”,变成了“看起来像个知道业务又在行的老员工”。这中间每一步都离不开前面说的目标拆解和边界约束。
5.3 这个案例里踩过的坑,以及可以复用的小技巧
这个案例里面,踩过的坑比顺利的场景值钱得多。我挑几个有代表性的写出来,算是给后面要做类似项目的人排排雷。
第一个坑是过度相信模型的“引用能力”。第一版提示词里我要求模型回答必须带文档引用,模型答得头头是道,引用格式也都对。后来一抽查,发现引用编号编得毫无根据,文档里根本没有那条内容。这个问题的根因是模型的引用是“生成”的,不是“检索”的。解决方案是在代码层就做强制绑定,收到答案后按引用的文档编号去检索原文档,用检索到的真实内容替换模型的转述,而不是轻信模型的输出。
第二个坑是提示词里的“反例”不能乱放。我想提示模型不要涉及隐私话题,就放了几句禁止描述的例子。结果模型学到了一个坏毛病,看到“隐私”两个字就完全拒绝整个对话,连正常的部门信息查询都一刀切了。后来我把反例从提示词里移出来,改成在模型输出的后置校验里去做处理,效果反而更好。
第三个坑是版本管理混乱。某一次迭代后,一个场景的回退效果变得特别差,排查了半天,最后发现线上跑的提示词根本不是我们测试的那一版。某位同事手动改了一处文案后直接部署了,没有同步更新测试集合。从那以后我强制要求所有提示词改动必须走版本管理,并且和代码同一次发布。
可以复用的小技巧也有几个。一个是“对比法”调优:同一个输入,准备两组提示词,一个只改了单个变量,对比输出差异,很快能看到哪句话在起作用。另一个是“前缀压缩”:每次效果波动时,先砍掉一半提示词看结果,如果还能维持效果,再逐步加回去,这个过程能帮你判断哪些内容其实是核心的,哪些其实是装饰。
还有一个小技巧,也是我认为最重要的:把提示词里的所有规则都写成“如果 A 就 B”的条件式,而不是“要 B”“应该 B”的祈使式。模型对条件式的理解比祈使式可靠得多,因为条件式明确告诉他触发条件,而祈使式只告诉他行为,模型还得自己判断什么时候该执行。
6. 提示工程架构师的能力模型,怎么在一线真正发挥作用
聊完了方法论和案例,最后说点关于角色本身的。
提示工程架构师这个岗位,现在正处在“人人都能做,但不是人人都会做”的阶段。入门门槛低,任何人打开一个模型平台都能写几句提示词。但真正的架构师不是写提示词的人,而是那个能够定义问题、拆解系统、控制成本、评估风险、迭代质量的人。
这个角色的能力模型大概由四块组成。第一块是语言能力,你要能写出信息密度高、逻辑严密、指令清晰的自然语言,废话越少越好。第二块是系统设计能力,你得知道提示词在整条链路里处于哪个位置,上下游是什么,哪些问题应该在代码层解决,哪些应该靠提示词解决,分工越清晰,系统越稳定。第三块是数据意识,你要能从线上日志里看出提示词的薄弱点,用数据驱动迭代,而不是拍脑袋。第四块是产品判断力,你得理解用户期望、业务边界、风险底线,提示词写得再漂亮,脱离产品需求就没有意义。
我在实际带人的时候发现,一个提示工程新手和一个架构师之间,最明显的差距不在写作技巧,而在“遇到问题往哪看”。新手会把所有问题都归结为“提示词不够好”,然后无限加词。架构师会先问,这个问题是输入的问题、检索的问题、输出格式的问题,还是系统策略的问题?定位准确了,改动才有的放矢。
这个岗位还有一个很特殊的地方:你做得越好,你越“透明”。当用户体验顺畅自然的时候,用户意识不到背后有一个人在精心设计每次交互,他们只觉得这个 AI“懂事”“聪明”。提示工程架构师的价值,恰恰就藏在这种“被感知为智能”的用户体验里。
最后给想入行或者正在做这件事的朋友一个建议:不要沉迷于写华丽的提示词。多花时间去研究你的用户怎么说、怎么问、怎么犯错。所有极致体验的起点,都是对人性的理解,提示词只是把这份理解翻译给模型听。