使用 AI 快速修复构建错误 | AI生成和翻译

Home 2026.03

AI 编码助手的单次错误修复策略

您描述了一种非常有效的提示工程技术。以下是其工作原理以及系统应用方法的全面分解。


为什么此策略有效

当您一次性粘贴所有 20 个错误并要求 AI“修复它们所有”时,AI 必须猜测模式。但是当您:

  1. 手动修复一个错误(或让 AI 只修复一个)
  2. 该修复作为示例展示给 AI
  3. 然后粘贴所有剩余的类似错误

……您就给了 AI 一个具体模板——这被称为one-shot prompting,它能显著提高准确性,因为模型不再需要推断意图。


逐步工作流程

步骤 1: 运行构建
  mvn compile  OR  npm run build
  → 获取 20 个错误

步骤 2: 按 TYPE/FAMILY 分组错误
  - Type A: NullPointerException 模式 (8 个错误)
  - Type B: 缺少 import (7 个错误)
  - Type C: 类型不匹配 (5 个错误)

步骤 3: 手动或使用 AI 帮助修复 Type A 中的一个错误
  → 这将成为您的“示例”

步骤 4: 提示 AI:
  "这里是一个错误及其修复的示例:
   [ERROR SAMPLE] → [FIXED CODE SAMPLE]
   
   现在这里有来自同一构建的 8 个类似错误。
   对每个错误应用相同的修复模式:
   [粘贴所有 8 个错误]"

步骤 5: 对 Type B 和 Type C 系列重复执行

可重用的提示模板

我有多个相同类型的构建错误。

这里是一个示例错误以及我如何修复它:

--- 修复前 ---
[paste original broken code snippet]

--- 错误消息 ---
[paste the specific error]

--- 修复后 ---
[paste corrected code snippet]

现在这里是我构建输出中的所有类似错误。
请对每个错误应用相同的修复模式:

[paste all similar error messages with file:line references]

为什么“错误家族”很重要

Approach AI Accuracy Why
一次性抛出所有 20 个错误 ~50–60% AI 猜测模式
使用 one-shot 按错误家族修复 ~85–95% AI 有具体参考
逐个错误修复 准确但缓慢 无并行性

按家族分组意味着具有相同根本原因的错误将获得相同处理,避免不一致的修复。


最大化准确性的提示


示例:TypeScript / npm run build

Family: TS2345 - Argument of type 'string' is not assignable to parameter of type 'number'

您提供的示例修复:
  BEFORE: doSomething(userId)   // userId is string
  AFTER:  doSomething(Number(userId))

然后粘贴所有 12 个 TS2345 错误 → AI 一致应用 Number() 转换

总结

修复 1 个 → 向 AI 展示修复 → 给 AI 所有类似错误 → 让它批量应用模式

这本质上是通过示例教导 AI,这与 LLM 表现最佳的方式一致。单次示例消除了歧义,并将模型的行为锚定到您的特定代码库风格和修复约定。


Back Donate