目录
封面来源:https://x.com/horodamsmr/status/1763534593364566270/photo/1
起因
最近在将 MoeCounter1 配置到我的博客上,但是博主没有什么前端经验,所以HTTP,CSS部分只能交给AI。令我没想到的是这个想法从0到1花了整整半天的时间,其中大部分的时间花在了与AI协商代码部分上,而这其中的大部分又花在了明确我的需求上。我事成之后想了想如果一开始AI知道命令有歧义并与我继续沟通以明确我的需求而不是自己通过瞎猜来消除歧义的话,是不是我可以花更少的时间来完成这个项目呢?于是我开始了这次研究。
提示词编写基础
对于想通过 Prompt engineering 来改善LLM的人来说,吴恩达的 LLM-Cookbook2 3 仍是一门要看的课程。对于我这种不使用ChatGPT的人来说,与ChatGPT接轨的部分可以完全不用学,所以接下来我仅仅总结了一些通用的LLM使用技巧。(基本上以引用LLM-Cookboook为主)
原则一 编写清晰、具体的指令
使用分隔符清晰地表示输入的不同部分
用""",< >,
like this:
|
|
寻求结构化的输出
例如JSON、HTML等
要求模型检查是否满足条件
人话是如果条件本来就是错误的就别让LLM继续生成了。
like this:
|
|
提供少量示例(a.k.a. few shot learning)
like this:
|
|
原则二 给模型时间去思考
指定完成任务所需的步骤
like this:
|
|
指导模型在下结论之前找出一个自己的解法
先让ai推理答案,再让AI对比它的答案与你的答案。
正戏
导入
为什么要讲基础呢?我们不妨看看在LLM-Cookbook里是如何介绍思维链的。
有时,语言模型需要进行详细的逐步推理才能回答特定问题。如果过于匆忙得出结论,很可能在推理链中出现错误。因此,我们可以通过“思维链推理”(Chain of Thought Reasoning)的策略,在查询中明确要求语言模型先提供一系列相关推理步骤,进行深度思考,然后再给出最终答案,这更接近人类解题的思维过程。…
具体来说,Prompt可以先请语言模型陈述对问题的初步理解,然后列出需要考虑的方方面面,最后再逐个分析这些因素,给出支持或反对的论据,才得出整体的结论。这种逐步推理的方式,更接近人类处理复杂问题的思维过程,可以减少语言模型匆忙得出错误结论的情况。因为它必须逐步论证自己的观点,而不是直接输出結论。通过详细的思维链提示,开发者可以获得语言模型生成的结论更加可靠,理由更加充分。这种提示设计技巧值得在需要语言模型进行复杂推理时加以运用。
关键词:明确相关推理步骤,列出需要考虑的方方面面,避免匆忙得出结论。
你会发现,思维链与我们的第一个和第二个原则相符。你可能觉得自己平时说话很清楚且具体,但事实上对于一个完全没有前端基础的人来说,你很难真正意义上去给出编写清晰、具体的指令。如我希望这部分以响应式布局的形式来生成,希望它能使用某些东西来构建,但若是我啥也不懂,我该如何指示AI生成我理想中的功能呢,这是我们去设计思维链地目的:让不专业的人也能实现自己的想法。
如何做呢?
我们可以通过设计一个与程序相关的思维链来不断提示我们我们需要的东西,以此来让我们的指令更清晰、具体。
思维链的设计
明确目的
我们要先明确我们的目的:
- 首先我们要先让AI复述一遍我们的指令,以确保AI是否正确定位指令。
- 然后我们让AI审视指令并与我们沟通来让我们的指令更清晰、具体。
- 最后,AI会将我们讨论的所有结果整理成文档或列表的形式
- 预处理后我们将输出结果提供给负责编写代码的AI。
思维链部分
我写的提示词:
|
|
评估
Prompt: 我想将在hugo-theme-stack 中添加这个东西< img src=“http://bgm.tv/chart/img/xxxxxxx" border=“0” alt=“xxxxxxx 的个人主页” />*
沟通过程看图:

最后给的代码网址改为你要的网址,效果如下:

没事,小改一下就正常了:

最后的代码:( .\themes\hugo-theme-stack\layouts\partials\sidebar\right.html )
|
|
总结:
生成效果还不错,但还是有小问题,不过可以让AI修改。相较于未使用提示词的AI来说,这个AI能够通过提问来了解我们真正的需求,从而提高效率。
扩展阅读
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2023). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv preprint arXiv:2201.11903. https://arxiv.org/abs/2201.11903
Ng, A. (2023). LLM-Cookbook. GitHub. Retrieved October 6, 2024, from https://github.com/datawhalechina/llm-cookbook
Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv preprint arXiv:2210.03493. https://arxiv.org/abs/2210.03493