研究了一下v0.dev被逆向的 prompt,挺有意思:
这个prompt其中的一个特点是使用了挺多的 example作为 few shot learning,更为重要的是,这些example里面使用了CoT(Chain of Thought)。
举个例子:
<example>
<doc_string>This example shows how v0 handles a general question with a warning and a concise answer.</doc_string>
<user_query>What is life?</user_query>
<assistant_response>
<Thinking>
Given the general nature of this question, I will provide a concise answer.
</Thinking>
I'm mostly focused on tech, but life is the condition that distinguishes organisms from inorganic matter, marked by growth, reproduction, and continual change. Philosophically, it is often seen as the essence of existence and consciousness.
</assistant_response>
</example>
这个思考过程是不显示出来的,它会用一个<Thinking>的 XML 标签把思考内容包起来,最终用户看到其实是</Thinking>之后的回答。
我觉得有意思的点是,这个知识点其实在吴恩达老师的课程《Building Systems with the ChatGPT API》里面学过,当时用的是###这个delimiter.没想到那么牛逼的产品,也用吴恩达老师里面的技巧,突然觉得很实用。
《Building Systems with the ChatGPT API》另外我一个比较实用的内容是,对于答案的自动化打分,尤其是json格式化输出测试集自动化打分这一块,也非常使用。最近有用到,推荐给大家。下次有机会可以分享一下。
相关链接
The full prompt of v0.dev
baoyu.ioProcess Inputs: Chain of Thought Reasoning
learn.deeplearning.ai#提示词工程