21.2万次AI编程基准测试:上下文胜过通用提示词
基于超过21.2万次、覆盖四种语言的AI编程基准测试,本文发现通用编码指令会降低模型输出质量,空白提示词的基线表现最佳。项目专属上下文最有价值;思维链对Go和C#有帮助但对Python有害;正面与负面措辞的差异在更大规模测试中不显著;成长型心态框架有助益,高压框架显著有害。
2026年6月更新。本文最初基于1,458个Python基准测试,如今已扩展到212,000多次,覆盖Python、Go、JavaScript和C#,并测试了思维链、礼貌、人格设定、上下文污染、模型选择、验证指令、多轮迭代、语言专属规则、/init优化、情绪措辞、输出压缩等变量。所有实验均使用Claude Haiku、Sonnet和Opus,数据开源在claude-benchmark仓库。
最核心的基线发现依然令人不适:在1,458次运行、13种提示配置和3个模型上,没有任何配置能稳定击败空提示词。空提示词的复合得分为92.15;micro-quality(4条通用编码建议)为91.61(-0.54);typical-readable为91.08(-1.07);large-readable为91.29(-0.86)。指令token数与质量之间的相关系数为r=-0.95,接近完全负相关。换句话说,每多写一条通用规则,输出质量平均就会下降一点。
这说明常见提示工程建议在编码任务上常常适得其反。风格规则、思维链指令、人格设定和格式要求,都是在向模型已有的能力中注入噪声。跨语言实验进一步揭示:Python的基线能力太高,这些建议大多是噪音;而Go、JavaScript和C#上模型信心较低,反而能从模型尚未内化的明确指令中受益。
第一条规则是不要教Claude怎么写代码。把“使用snake_case”“为公共函数写docstring”“处理边界情况”这类通用编程知识写进提示,看似无害,却在测试中造成0.54分损失。第二条是不要告诉Claude怎么思考。在270次运行的思维链实验中,cot-prefix平均比基线低0.56,cot-detailed低0.73;Opus在refactor-01任务上从86.8跌到83.3。但跨语言结论发生了反转:思维链在Go上提升5.3,在C#上提升7.7,在Python上反而下降0.5。
第三条规则是告诉模型它不知道的事:构建命令、项目结构、提交格式、领域术语等训练数据里没有的项目专属知识,才是真正有正向价值的信息。理想的CLAUDE.md应当像新成员入职文档,而不是风格指南。第四条涉及措辞方向:在最初的Python数据中,正面框架比负面框架高0.66分;但跨语言实验的20,499次评分显示,这一差异只是噪声。真正明显的变量是情绪语气:成长型心态框架提升1.88分,而“生死攸关”的高压框架降低3.33分。
第五条规则是只针对具体弱点写指令。指令在简单任务上有害,在困难任务上有用:workflow配置在Opus的指令遵循任务上提升5.80分,把最低分从61.4提高到83.5;refactor-aware在Haiku重构任务上提升2.54。因此,不要把CLAUDE.md一刀切,而应根据观察到的弱点使用定向指令。第六条规则是保留格式:Markdown标题、项目符号和留白能帮助较小模型解析指令。typical-readable在Haiku(-1.56)和Sonnet(-0.86)上均优于压缩版,Opus对格式不敏感(+0.19)。
所有任务遵循bug-fix-01-go之类的命名约定,共48个任务(每语言12个),位于tasks/builtin/目录。跨语言实验配置为experiments/cross-language.toml和experiments/cot-cross-language.toml。对多数开发者而言,核心建议很明确:少写通用规则,多写项目专属上下文,并用鼓励的口吻描述要做什么。