普通提示词和工程提示词的区别
1、普通提示词是明盒,可见度高。就像你用deepseek的时候,你能看到自己的输入,随时调整自己的输入。
2、工程提示词运行中是不可见的,嵌套在代码里了,你没办法随时调整提示词,整个属于暗盒。
3、如果说普通提示词是你身边的实习生,工程级提示词就像给你独立汇报的合伙人。
怎么样才能让你的提示词变成工程级提示词?做到四个原则就够了:
分隔符
比如"$"符号、“```”、““、“---”、“###”。
来分割上下文,切忌单纯指望自然语言让大模型分割。注意“xml”、“###”如果你写了三个容易混淆,你是和哪一对儿进行开闭合?所以还是推荐用“< xml >”。
结构化:
输入提示词内容保持结构化,从输出角度讲结构化输出同样重要,来保持下游模型工作情况正常。 我们最好采用金字塔式填充以防漏掉关键信息。比如现在最流行的结构还提示词写法会用role、skills等来划分。有利于定向唤醒大模型的能力。并且结构化方便替换。
当我们按要求大模型结构化输出信息的时候,最好是使用json格式并给出示例,也可以用模拟对话的方式给出示例。
留退路:当模型找不到答案时指定一个出口。
重点放最后:考虑上下文模型的注意力机制会一直续写。所以我们需要告诉大模型,如果他不知道怎么输出了,就该提示文字中不包含xxx,请输出无法xxx。 👉如果你写了很多,must cover xxxxx,很有可能AI会给你大量的幻觉。 👉正确的做法:告诉大模型如果你遇到xxxx清况,你可以xxxx。尽量给出足够多的情况。
近因偏差:越往后的向量影响较大
由于模型架构设计的特点,如果我们检索了很多语料,上下文会太长了,我们需要把重要的信息放在最后。写提示词的时候也把这部分东西放在最后。
往期文章: