LLM编程是不是比写作有优势?
大型语言模型(LLM)在不同任务上展现的能力存在差异。我觉得在写代码和写文章这两个任务中,LLM还是更擅长写代码。
语言模型物理学目前将语言模型的能力划分为三个主要方面:知识、推理和形式。
能力 | 描述 | 与人类比较(我的看法) |
---|---|---|
形式 | 掌握和复现形式、结构、格式的能力。包括遵循特定写作风格(如模仿格式化写作)、翻译(保持内容,转换形式)、生成符合规范的文本、写代码。 | 远远超过人类。 |
知识 | 储存和调用知识。 | 基本强于人类,特定场景有问题。 |
推理 | 推理 reasoning。 | 相对是LLM的弱项。但通过思维链(Chain-of-Thought, CoT)、强化学习等技术,其推理能力正在快速提升。 |
编程语言包含许多具有明确格式和规则的元素。例如,变量如何声明、函数如何定义、代码块的起始/结束标记、循环和条件语句的语法等,都有相对固定的写法。常用的设计模式也都有经过验证的代码结构供LLM学习参考。LLM擅长生成这些符合规范的代码组件,自动化完成许多需要遵循格式的编码工作,从而提高开发效率。
写作通常避免套话和冗余表述,LLM生成的文本有时显得模式化,包含空洞的填充语句。要得到精炼的文章,用户需要投入精力修改,这使得LLM直接产出所需内容时效率并不像写代码那么高。
写代码的时候有很多格式文本不得不写,使用LLM辅助可以省掉这些填充格式的工作——此前往往由IDE自动补全、模板等功能来实现,但现在LLM能做得更好;而写作则需要超越固定表达,追求内容精炼与创新,这与LLM的输出方式不同,常需要人工干预。
我最初认为,可能存在一种认知偏差:即某个领域的专家更容易发现AI在自己专业领域的不足,因为他们熟悉领域中的细微差别和高标准。因此,他们可能会推断AI在自己不熟悉的领域表现得更好。写作者可能觉得LLM不擅长写作擅长写代码;反之,计算机专家也可能觉得LLM不擅长写代码擅长写作。
这个观点的核心是,专家容易低估AI在自身领域的表现,而高估其在其他领域的表现,因为他们对其他领域的评判标准可能不那么严苛。
现在,我仍然坚持这个观点,其实这个观点就是在说LLM处在专家以下新手以上的水平。但除此之外,我认为LLM在代码方面的确展现出更强的能力,这种更强不仅仅是上述跨领域观察偏差的结果。代码本身的性质——对严格的格式、明确的规则(如变量声明、函数定义、语法结构)和既定模式的依赖——恰好与LLM处理形式、规则的能力非常契合。相比之下,高质量的写作往往要求更高的原创性、语境理解和避免模式化表达的微妙技巧,这对当前的LLM来说挑战更大。
类似,如果是写作中格式要求比较多的文书工作——比如结构明确、要写很多固定内容的文件、材料,我想LLM也格外胜任。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
