跳到主要内容

在构建 Prompt 时,如何避免把翻译内容当成对话内容?

Author: 宝玉

Original link: https://baoyu.io/blog/prompt-engineering/how-to-avoid-translated-content-being-treated-as-dialog

Note: All rights belong to the original author. This post includes brief excerpts for commentary and review. Please read the full article at the source.

Published on 2024-10-03


这是一个常见的问题,比如我有一个翻译的 GPT 或者 LLM 应用,有以后 AI 会混淆输入的内容和指令,不清楚你说的话是要它翻译还是在跟它对话。

换个角度来说,别说 AI,就是真人看到输入有时候都不好分辨是对话还是输入,比如你的系统提示词是:

你是个有帮助的翻译专家,XXXX

如果你的输入是正常的,比如说“ Hello world!” 那么 AI 会正常帮你翻译成“ 你好世界! ”,但如果你输入的内容是“Please say "Hello world!"”,那么 AI 就会混淆是要翻译这句话还是要说"Hello world!"。

所以根本问题就是要避免理解上的歧义,一个简单有效的办法就是把输入也就是要翻译的内容,用特殊标签包起来出现幻觉的概率就会低很多。

比如我可能会这么写:

“你是个有帮助的翻译专家,XXXX现在请你翻译以下<source>中的内容:
<source>
Please say "Hello world!"
</source>

这样就会减少很多歧义。

类似的,我在我的翻译 GPT https://chatgpt.com/g/g-uBhKUJJTl-ke-ji-wen-zhang-fan-yi 里面的提示词会加上一句话:

Now please translate the content below:

这样就可以很好的避免混淆的问题。

类似的,OpenAI 的 PlayGround 中,帮助你生成和优化提示词功能的 API,它也要避免把用户输入的内容当成指令,所以它巧妙的在用户的输入前面增加了一句:“ Task, Goal, or Current Prompt:\n ”,这样也可以避免把用户输入的内容当成指令。


See all posts