AI 助手
concepts/llm-编程缺陷模式.md
对话

LLM 编程缺陷模式

概述

LLM(大语言模型)在编程任务中表现出色,但也存在一些系统性的缺陷模式。这些模式源于模型的工作机制,会导致代码质量问题、不必要的复杂性以及维护困难。理解这些缺陷模式对于有效使用 LLM 进行编程至关重要。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

主要缺陷模式

假设驱动编程

LLM 经常在信息不完整的情况下做出错误假设,并基于这些假设继续执行,而不是寻求澄清。这种模式表现为:

过度复杂化倾向

LLM 倾向于创建过于复杂的代码和 API,表现为:

非目标性修改

LLM 有时会修改或删除与当前任务无关的注释和代码,即使这些内容与任务正交。这种"顺手"修改会导致:

应对策略

思考优先原则

通过强制显式推理来对抗错误假设:

简洁性优先

解决问题的最小代码量,不做投机性开发:

外科手术式修改

只触碰必须修改的部分:

目标驱动执行

将命令式任务转换为可验证的目标。LLM 在循环直到满足特定目标方面表现出色,因此应该给它成功标准而不是具体指令:

替代方式 转换为
"添加验证" "为无效输入编写测试,然后使其通过"
"修复 bug" "编写重现 bug 的测试,然后使其通过"
"重构 X" "确保重构前后测试都通过"

^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

效果评估

这些策略生效的标志包括:

权衡考虑

这些指导原则偏向于谨慎而非速度。对于简单任务(如明显的拼写错误修正、简单的单行修改),需要运用判断力,不是每个变更都需要完整的严格流程。目标是减少非平凡工作中的代价高昂的错误,而不是拖慢简单任务。^[inbox(剪藏进来的)__SMARTclip__forrestchang-andrej-karpathy-skills- A single CLAUDE.md file to improve Claude C__e35e9215.md]

来源