TBWORKs GPT布道师

提示词编程心得分享——8个最佳实践

2025-08-07
汤波

1.生成式AI是一个计算量有限的函数,单次输入要求越多,输出质量越会下降!

AI和人在这个方面很像,人处理事情也是有“容量”上限的,我们一次性分配给下属的任务越多,他们交付的质量大概率也会越低。时刻记住这一点!

因此,对于特别庞大的提示词上下文,我们心里有一些“可能会得到差答案”的预期。这时候怎么办?

人工归纳、重新开一个窗口,开启一个新对话。因为随着对话内容不断变多,上下文中一定充斥着很多跟我们下一个问题不相关的东西,这时候,我们就需要“剥离”出子问题,再去发问。

相信随着AGI的发展,人工归纳会慢慢变成自动归纳,但是目前还是自己识别比较靠谱。

2.越是宽泛、笼统的输入,输出就越感觉“未经打磨”。

比如,我们就用一句话提示词“请帮我写一个社交网站”,得到的结果一定是差强人意的。因为一个良好体验的社交网站需要打磨的地方太多了,你的提示词如果不能体现这些打磨的点,那结果大概率不会让你满意。 这里有一个很有趣的tradeoff:

如果写的特别粗糙,那就跟我们想要的大相径庭,需要人工修改的太多;

如果每个细节都用提示词写出来,那就太麻烦了,和直接写代码没啥区别了;

所以最佳实践是:像画素描那样去打磨你的作品,素描时一般会先画出轮廓,然后在细化细节。

所以我们的提示词也是这样的流程:

1、先编写可以产出一个轮廓性系统的提示词,不要纠结某个具体的细节,甚至有些细节你可以主动提示:“这个部分先空着,用一个placeholder替代”,这样可以节省很多token和时间。

2、然后针对不同的模块、功能,再编写更多的提示词,逐步的细化。

3.越是“冷门”/“个性化”逻辑,AI的回答越是无法让你满意。

相对应的越是标准的问题,AI回答的答案与你想要的越是接近。比如你让它写一个归并排序算法、Dijkstra算法,它很快可以写出来。

如果我们让AI实现一个微信头像的选取和编辑功能,它怎么都实现不了你想要的效果(所有模型我都测试过,结果很不如人意)。因为微信的头像选取功能其实有很多精妙的小细节设计:比如它的图像是可以以任意位置为中心放大的,而GPT学习数据中不可能有微信的代码,因此它所理解的都是一些标准的放大和缩小方案(以图片中心为原点进行缩放),更别说坐标转换算法了。

这个时候你就需要“建模”成更加通用的一些问法,必要的时候自己设计逻辑,让它去按步骤实现。相比直接写代码,提示词还是相对轻松很多的。

这里还有一个重点——实际的企业级软件开发99%都是个性化的,比如阿里和京东的代码一定都各不相同,设计思路可能有类似的,但细节大多都不同。对于一个复杂的生产级系统,代码结构的编排非常重要,因为每家公司、每种业务都有各自的特殊需求,因此这不是一个“标准”问题,AI的回答不会太如人意(原则2),因此我们需要自己来构建一个“逻辑自洽”的代码架构。

比如对于前端APP项目来说可以分成api、model、pageModel、pages、database、repo。只有我们自己讲逻辑了、AI才可以输出的更加完美。

4.如果你不讲“道理”和“原则”,AI也不会讲“道理”和“原则”。

这个特性非常有趣,以前主管、领导给下面的同学分配任务,很可能只是说个大概,甚至自己都没有完全想清楚,就用自己的“现场扭曲力”强压了下去。

下属也只能硬着头皮去做,发现了不对也不会吭声;AI则不会说谎,如果你自己的需求不讲道理,它的结果一定不会让你太满意。

因此,当你浅思考无法得到好的结果的时候,这里不要偷懒了,自己花时间想清楚了分配给AI去做吧。

5.及时的归档已经成功的修改。

cursor有Accept这个功能,当我们改了很多东西时,我们一定要从意识上“感受到危险”!

这种危险来自于,已经改了这么多了,如果待会儿改坏了,我要是全部撤销,那之前写的就都没了。当我们改觉到这种危险时,可以先Accept之前已经写的代码。

6.AI会偷偷干“好事”,留个心眼。

“你怎么又把我已经写好的代码改坏了?”——这是很多用AI编程的程序经常会遇到的问题。这个与AI“总是尽可能多的完成输出”的特性有关系。目前生成式AI就是根据前面的文字关系生成后面的文字,因此它的“推理能力”有时候嗨到停不下来,DS就曾经曝出这样的BUG:某些提示词会导致一直输出,无限循环。

用多了之后,我们会有一定的“第六感”,当我们预感到那样写了,AI可能会干出什么坏事情的时候,我们需要在提示词中明确告知“别那么做”!尤其在我们做批量处理的时候,一定要想想有没有特例。

比如,如果我们让AI写一个列表查询和展示的页面,它大概率会考虑分页,即便你没有提到。如果我们的系统不需要分页,那就明确告知:不需要你分页,后端不会返回全部结果。

7.逻辑复杂,很难表达?举个例子最好。

很多时候,我们可以先自己辛苦一下,把一个最简单的案例写出来,然后,让AI依葫芦画瓢。这样就能减少很多提示词编写成本。

比如,我们只需要写一个DPO和Mapper最简单的例子,里面放几个基本的字段。AI就可以快速的根据这个案例,编写出所有的DAL层代码。因为AI非常擅长“规模化”,前提是你的样打的好。

8.定制化场景,先人工总结,后安排任务给AI。

对于一些非标准化的场景,比如“公司自己的编程规范”,“特定的一些约定”,一定要确保自己想清楚。这有点和第“4”点相似,如果我们自己都没想清楚,就让AI一顿输出,那一定得到的是一对“没用”的代码,还是需要大量依靠人工去修改。

这里有一个最佳实践:对于这类定制化场景,“先自己人工做几遍”,观察和总结自己做事的步骤,然后其他的例子就可以让AI去写了。


目 录