在尝试 spec engineering ,写文档的时候觉得英文有时词不达意,中文不能确定经过 spec kit 的优化。
我就想知道这个问题有没有答案:两种不同的自然语言 prompt 对代码生成质量有无影响?
spec kit 自带 prompt 是英语,这就导致了中英混合,那么中英文混合 prompt 对代码质量有无影响?
1
lihui4305 1 天前 via Android
一般来说没有太大影响,有一个 speckit-zh 中文版
|
2
dji38838c 1 天前
当然有,英文的更好。但是英文水平如果不够,还是用中文写好了
这篇论文有具体研究: 它们的研究发现,英文和中文,代码能力按不同编程语言,下降了百分之十几到二十左右 Exploring Multi-Lingual Bias of Large Code Models in Code Generation |
3
codehz 1 天前 via Android
有影响的,即使是国内的模型也建议全英文 prompt (特指编程任务),并且源代码里也最好不要含有任何非英文注释
|
4
artiga033 1 天前 via Android
这种多阶段的、长 prompt 的 agent 一般来说语言都不重要了,哪怕用阿拉伯语区别都不大。如果是那种 prompt 很少比如就一句话的可能会有点影响,比如用中文容易出 CSDN 味的代码。
还有一些 function call 方面的影响,比如 agent 进行搜索时会使用对应的提问语言,当然也可以在 prompt 里要求不要这种行为。 再者就是 token 消耗了,中文信息密度通常更高,不过也得看 tokenizer 。 |
5
xwhxbg 1 天前 不重要,用母语精准的描述需求远比用蹩脚的英文言不达意效率高
|
6
paopjian 1 天前
代码里如果有错误注释或者注释掉部分代码以后, 可能影响 AI 的代码理解, 这就很致命了
|
7
burnsby 1 天前
我认为有影响, 但是不会很大.
从编程之外的角度来看, 你无论问哪个大模型, 都会基于你的语言所处的环境来回答你的问题. 而编程则更加看重使用的编程语言, 比如你让大模型用 python 和 go 去实现同一个需求, python 的成功率要比 go 高得多. |
8
nightl2018 OP |
9
HankAviator 1 天前 首先是表达能力不足,跟语言关联不大
其次是语言本身的歧义,例如“注销”指的是删除账户还是登出账户 |
10
yingqi1 1 天前
我是 中文描述,然后小工具一键 润色(给我 review 润色的是否正确) + 润色文本翻译成英文。
然后都用英文 prompt |
11
mz09 1 天前
你试试用中文 “生成一袋芯片” 就知道了
|
12
nightl2018 OP @HankAviator 可以看一下楼上那篇文章,有 10%以上的劣化。中英文校对我有异议,但是定量的结论没问题:确实有劣化
|
14
jqknono 1 天前 准确表达是第一位的, 准确英文表达是否绝对强于准确中文表达存疑, 蹩脚英文表达是否强于蹩脚中文表达也存疑.
逻辑蹩脚, 表达也蹩脚, 然后怪罪于中文, 肯定不合理. 用哪个语言更能准确表达自己就用哪个语言, 歧义问题可以中英混杂表达. |
15
1988chg 1 天前
跟语言关系不太大,主要还是文字的表达逻辑和清晰程度。
如果都是同样的清晰明确的指令,那还可以翻译成为英文再润色。 我的理解就是清晰中文 转 清晰英文 再润色。 这一步你手工做了,或者交给 AI 去做,应该是一样的效果。 所以纠结英文还是中文 prompt ,不如回到原本的基本的要素上。 逻辑、条理、范围、意图等等。 |
16
lumyx 1 天前
没影响,最后存的时候都是向量逻辑。
|
17
ychost 1 天前 影响最大的就是指令遵循,用英文的 do **NOT** 来强调,比中文的禁止、不要、警告等都有效
|
19
Ketteiron 1 天前
agent 模式区别不大,对话会有影响,但非英语母语水平还是不建议用英文,除非你的中文水平也达不到中文母语平均水平
|
20
JoshTheLegend 1 天前
其实如果你不放心的话就写中文,叫它先帮你转成英文的 prompt ,然后你再把输出的英文 prompt 开个新对话输进去?但是我总感觉主流的 chatbot 应该都有内置这一步吧?
|
21
iorilu 12 小时 41 分钟前
看你英语水平
如果你能写出能表达意图的英文, 我认为用英文更好 写不出就算了, 不勉强, 上面有人说了, 表达准确最重要 |