前几天被一个老项目折腾得够呛。

接口偶尔超时,日志又不完整,代码里还混着好几代人留下的“祖传判断”。本来只是想让它帮忙看一眼,结果一试发现,这玩意儿如果用法对路,确实能把很多零碎活串成一条比较顺的工作流。
不是说它能替你写完所有代码,然后你直接合并上线。真这么干,迟早会被 review 打回来。
意思是:它很适合帮你把“脑子里一团糊”的任务,拆成可执行步骤。读代码、排 bug、写方案、补测试、整理文档,都能接上。
这次经历是在一个能一站使用多种主流 AI 大模型的工具平台上完成的,不用特殊网络环境,拿手机或邮箱注册后就能直接对话。比较方便的是,它能在 Gemini、GPT、Claude、Grok、DeepSeek 这些模型之间来回切,经常先用 ChatGPT 5.6 做复杂拆解,再换 Claude 看看有没有遗漏,或者用 DeepSeek 做一些轻量整理。少开几个页面,心情都能好点。
下面按一个真实开发任务来讲:怎么用 ChatGPT 5.6 从“看不懂老代码”一路跑到“交付一个能 review 的方案”。
别一上来就让它写代码,先让它当侦探
很多人用 AI 写代码,第一句话就是:
帮我修一下这个 bug。
说实话,这种问法很容易翻车。
模型不知道你的业务,不知道哪些代码是历史兼容,也不知道哪些逻辑看起来奇怪但其实不能动。你让它直接修,它就可能很热心地开始重构。代码看着挺干净,但你一跑测试,坏了。
现在第一步一定是让它读代码,不让它改。
比如会这样问:
下面是一个订单列表接口相关代码,包括 Controller、Service、DTO 和部分日志。
请先不要修改代码。
请帮我梳理完整调用链:
1. 请求从哪里进入
2. 关键参数在哪里转换
3. 哪些地方做了过滤
4. 哪些地方做了分页
5. 哪些地方可能导致返回空数组
不确定的地方请直接标出来,不要猜。
这个提示词的关键不是多高级,而是两个字:克制。
先让 ChatGPT 5.6 建地图。地图清楚了,再讨论怎么修路。
ChatGPT 5.6 Sol 的上下文窗口标准模式有 100 万 token,Ultra 模式能到 200 万 token。这个参数放在开发里很好理解:你可以一次性把一批文件、日志、接口返回样例都扔进去,不用切成十几轮慢慢喂。
以前用短上下文模型,经常贴到第五轮,它已经忘了第一轮说过“不能改接口签名”。那种感觉真的很崩。
让它列排查顺序,别让它自由发挥
读完代码后,会让它按优先级排查,而不是直接给答案。
提示词一般是这样:
基于上面的调用链,请列出最可能导致问题的原因。
要求:
- 按发生概率排序
- 按验证成本排序
- 每个原因给出对应的验证方法
- 不要直接修改代码
这一步特别适合 ChatGPT 5.6。
它不是只会说“可能是缓存问题”“可能是空指针”。它会把问题拆得比较工程化,比如:
- 参数默认值在 DTO 转换时被覆盖
- status 过滤条件误伤了部分合法数据
- pageNo/pageSize 边界导致 offset 计算异常
- 上游日志打印的是原始数据,不代表最终响应数据
- 时间范围使用了左闭右开,但调用方按闭区间传参
看到“日志打印的是原始数据,不代表最终响应数据”这条时,真的有点被提醒到。
因为很多排障就是这样。你以为日志里有数据,接口就应该有数据。但中间经历了映射、过滤、排序、分页,最后没了完全可能。
这一步的价值在于:它帮你把排查顺序排好了。你不用在一堆可能性里乱撞。
修 bug 时,只要最小 diff
等问题基本定位后,才会让它写代码。
但会把边界写得很死:
请给出最小修复方案。
限制:
- 不要改接口签名
- 不要新增依赖
- 不要重构无关代码
- 不要修改命名
- 只处理当前 bug
- 输出 diff 风格代码,并解释每处改动原因
这几句很重要。
ChatGPT 5.6 的能力很强,但它有时候会“太积极”。你只是让它修一个条件判断,它可能顺手抽一个新方法,再把枚举整理一下,最后还帮你统一异常处理。
建议是好建议,但不是这个 PR 该做的事。
一般会让它给两个方案:
方案 A:线上止血,改动最小。
方案 B:结构优化,长期更清晰。
请分别说明风险、影响范围、需要补哪些测试。
然后大概率选方案 A。
不是不爱重构,而是工作里要分场景。线上 bug 先止血,结构优化另开任务。这个边界如果不守住,原本一个小时的事,可能变成三天 review。
写测试:别让它堆覆盖率,让它证明行为
修完 bug 后,很多人会让 AI “补几个单测”。
这个说法太模糊。
模型很可能给你写一堆看起来覆盖率很高、但没什么业务价值的测试。最后测试文件变长了,问题没防住。
现在会这样写:
请基于本次 bug 设计最小测试集。
不要为了覆盖率堆测试。
每个测试用例说明它证明了什么。
重点覆盖:
1. 触发 bug 的输入
2. 正常历史行为不变
3. 边界参数不会导致异常结果
这个提示词出来的结果通常更靠谱。
比如订单列表返回空数组的问题,它可能会建议:
- 上游返回 status 为空但业务允许展示时,不应被过滤
- 上游返回正常 status 时,结果与旧逻辑一致
- pageNo 为 1、pageSize 正常时,分页结果不应为空
一般不会直接复制它写的测试代码,因为项目里的 mock 风格、断言习惯、fixture 写法都不一样。
但它给的测试思路很有用。
尤其是“正常历史行为不变”这条,很多人修 bug 时会漏掉。你修好了一个坏 case,但把旧逻辑改歪了,那就更麻烦。
写技术方案:让它先搭骨架,再塞细节
除了写代码,ChatGPT 5.6 还特别适合写技术方案初稿。
开发者其实很常写文档,只是我们不爱承认。接口改造要写方案,性能优化要写方案,发版前要写风险说明,复盘还要写原因分析。
通常会把代码结论、排查过程、测试建议丢给它,然后这样问:
请整理成一份技术方案,面向后端开发和测试同学。
结构要求:
- 背景问题
- 根因分析
- 修复方案
- 影响范围
- 测试计划
- 回滚方案
语气保持技术说明,不要营销口吻。
它生成的第一版通常已经能看。
但会做两件事。
第一,把里面泛泛而谈的话删掉。比如“提升系统稳定性”“优化用户体验”这种,太空。
第二,把真实项目细节补进去。比如具体接口名、影响业务线、回滚开关、灰度范围。
AI 很适合搭骨架,但血肉还得你自己填。它不知道你们团队的上下游,也不知道测试同学最关心什么。
写文案和周报,也可以顺手用
虽然读者更关心代码,但说真的,开发也逃不开表达。
比如你修了一个复杂 bug,要在群里同步进展。你写太短,别人看不懂;写太长,没人看。
会让 ChatGPT 5.6 帮你压缩成三段:
请把下面排查过程整理成一段团队同步消息。
要求:
- 先说结论
- 再说影响范围
- 最后说下一步
- 不要超过 200 字
- 语气自然,不要像公告
这个功能很实用。
它能帮你把“我查了半天终于发现是某个 DTO 转换时默认值有问题”整理成别人能快速理解的话。
有时候不是我们不会写,是脑子刚从代码里爬出来,语言系统还没恢复。
多模型切换:别只盯着一个模型用
现在用 AI 工具已经不太迷信“一个模型包打天下”了。
在能一站切模型的平台里,会按任务换:
ChatGPT 5.6 Sol:复杂代码分析、方案拆解、长上下文任务
GPT-5.6 Terra:日常问答、中等复杂度改写
GPT-5.6 Luna:摘要、分类、数据清洗
Claude Opus:代码 review、风险挑刺
Gemini Flash:快速总结、轻量多轮沟通
DeepSeek:低成本高频处理
Grok:需要结合多模态或较长材料时试试
这不是说哪个一定强哪个一定弱,而是每个模型的手感不一样。
比如 ChatGPT 5.6 Sol 做复杂任务确实稳,Terminal-Bench 2.1 编程测试标准模式得分 88.8%,Ultra 模式 91.9%,编程能力较 GPT-5.5 Instant 提升约 15%。但它成本也不算低,标准版输入 6 美元/百万 token,输出 30 美元/百万 token,Ultra 还要额外加收。
所以不会拿它做所有小活。
简单摘要、格式清洗、批量分类,用轻量模型就行。复杂排障、方案推演、跨文件分析,再让 Sol 上场。
别拿重型扳手拧眼镜螺丝,能拧,但不划算。
最常用的一套提示词
如果懒得从头琢磨,可以直接按这个流程来。
第一步,读代码:
请先不要修改代码。
请梳理调用链、关键数据结构、过滤逻辑和潜在风险。
不确定的地方请列出问题,不要猜。
第二步,排查问题:
请按发生概率和验证成本,列出可能原因。
每个原因给出验证方法和需要看的日志/代码位置。
第三步,最小修复:
请给出最小 diff 修复方案。
不要重构,不要改接口签名,不要新增依赖。
说明每一处改动的原因和风险。
第四步,补测试:
请设计最小测试集。
每个测试说明证明什么。
重点覆盖 bug 输入、旧行为保持、边界情况。
第五步,写同步材料:
请整理成团队同步说明。
包括问题原因、修复方式、影响范围、测试计划和回滚方案。
语气自然,别写成宣传稿。
这一套跑下来,基本能覆盖一次中小型 bug 修复流程。
最后说句实在的
ChatGPT 5.6 真正提高效率的地方,不是让你少写几行代码。
它更像一个能陪你拆问题的搭子:读材料快,能整理思路,能给方案草稿,也能提醒测试边界。
但你得会指挥它。
别上来就说“帮我修”。先让它读,再让它排,再让它改,最后让它自查。你把流程卡住,它就更像工程助手;你完全放飞,它就可能变成一个过度热心的新同事。
如果你是开发者,建议先拿一个真实但不太危险的任务试试:一个老接口、一个小 bug、一份技术方案都行。
说真的,别把 ChatGPT 5.6 当自动提交机器。把它当复杂任务拆解器,它会好用得多。
