AI 生成代码不符合预期时如何改进并提效?

考查重点:可复现差异与反馈迭代。给可复现的预期与实际差异、相关代码和报错,让 AI 针对原因修;用目标用例反馈并限制无关重写

本题目录

参考答案

核心回答

先把“不符合预期”变成具体、可复现的差异,再判断是需求、上下文、实现还是验证出了问题。向AI提供目标、实际行为、最小复现、相关代码与错误输出,让它修正对应原因;反复追加“再好一点”或整段重写,通常会增加试错。

提效的关键是减少无效生成:用现有模式和验收例子缩小范围,小步修改后立即检查,保留已证实的结论与失败原因。需要时换方案或人工处理局部,不必让模型在同一个错误思路里无限循环。

四类偏差分别处理

需求没讲清时,明确输入输出、对象和边界,例如“空列表显示什么”“新增字段放在哪里”;上下文不对时,补调用方、接口类型、相似实现和项目版本,检查是否读了旧文件或错误模块。

实现错误时,用失败输入、堆栈或测试定位具体分支。引用不存在的API,先查当前官方文档与依赖版本;性能问题则给出测量和热点,而不是只要求“优化”。如果测试期望写错,应先回到需求核对,不能为了变绿去迁就错误断言。

反馈怎样写才有效

假设AI实现的订单筛选会清空分页条件,可以说明:原来按状态切换时应回到第一页,但页大小保持不变;现在页大小也被重置。附触发步骤、当前状态结构和对应处理函数,要求沿现有更新方式做局部修正,并验证分页与筛选组合。

这种反馈把结果差异、原因线索和验证方式连起来,比“逻辑不对,重写”更容易收敛。若原因未知,先让AI列出可用证据和少量假设,再用检查排除;不是每次都需要另写设计文档。

怎样降低反复返工

把常用命令、目录边界和稳定代码模式保存在项目可发现的位置;复杂任务拆成可独立验证的步骤,输入里明确本次非目标。保留小范围diff,出现退化时选择性撤回本次变更,保护其他已有修改。

验证根据影响选择:局部界面看实际交互,纯函数看边界输入,跨模块接口看契约和集成。AI生成测试可以辅助,但结果还要有独立期望;同一模型的解释不能代替运行结果。

常见追问

连续修不好要不要换模型? 先检查错误是否来自缺证据、错误约束或环境。模型能力确实不足时再换;缺少关键代码时,换大模型也可能只是更流畅地猜错。

如何评价提效? 看解决时间、重试、返工和遗留缺陷,不能只看生成速度。

参考资料

相关面经

7 篇

快手

Agent 开发工程师
二面
查看原面经 →
你平时怎样把 AI Coding 用在开发中?遇到 Agent 生成的代码有问题时,通常如何定位和修正?在整个流程里你最重视哪个阶段?

吉比特

前端开发工程师
一面
查看原面经 →
代码开发的时候,其实 AI 啊我不知道你是不是真有遇到过,就是我们可能我们遇到比较少,就是说如果 AI 会写出一些,比如说闭包啊,或者说啊代码上的一些性能问题,其实 AI 很少会写出这种问题,更多的是 AI 可能确实会不理解我们的需求,就像你刚刚有提到的一些隐性的一些东西,它可能没有注意到啊。可能啊更多的是跟我们实际要达到的目的啊有点不相符合而已,可能就比较少会写出那种啊所谓的闭包或者说代码问题。然后这个这些问题你平时是怎怎么样去预防去解解决的呢?就除了给到他这种提示词之外,还有什么预防手段吗?像你刚刚说的一些,比如说语法都有问题的这种情况。

卓望

全栈开发岗
校招
查看原面经 →
如果AI修改代码之后,单元测试反而失败了,你会怎么处理?

字节跳动

Agent 开发
校招秋招一面、二面、三面
查看原面经 →
追问
差异一定要人工逐个分析吗?这个过程怎样利用 AI?(25:45)
让 AI 分析差异、辅助修复,需要提供哪些信息?(26:25)
是否实践过把测试用例交给 AI,让它验证、发现偏差并自行迭代?(28:07)

小满科技

Agent 开发
社招一面
查看原面经 →
AI 写得快但没写好,问题出在哪?怎么解
展开剩余 2 篇面经

京东

Agent 开发工程师
查看原面经 →
e. AI Coding生成的代码不是你想要的你怎么办?有什么提效方式

京东

AI 后端 / Agent 开发
日常实习二面
查看原面经 →
e. AI Coding生成的代码不是你想要的你怎么办?有什么提效方式

收录题集

1 个来源,共1 份题集

工程化踩坑:死循环、状态丢失与成本控制

Onefly · zero2Agent · 1 条原题

查看题集 →

相关题目

4 题