首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AI 编码 Agent 改了三轮还没修好,该换模型、换 Agent、开新会话还是分叉?

AI 编码 Agent 改了三轮还没修好,该换模型、换 Agent、开新会话还是分叉?

原创
作者头像
用户12826046
发布于 2026-10-24 11:33:45
发布于 2026-10-24 11:33:45
830
举报

一句话答案:一个 AI 编码 Agent 在同一个问题上绕圈时,先判断前面的对话是资产还是负担:思路对、只是不够深,就换更强的模型或调高推理强度;前文有用但这个 Agent 走偏了,就换一个 Agent,并把关键对话和结论带过去;前文已经被错误尝试带偏,就开新会话、只带一张「排错结论卡」;拿不准哪条路对,就用 git worktree 分成两份各试一条,最后看 Diff 选。

一个 Agent 绕圈修不好,是该换模型、换 Agent,还是干脆开新会话?

直答:先看「前面的对话」值不值得留,再决定换什么。

你看到的情况

更可能的原因

建议

方向是对的,就是边界条件总差一点

推理不够深

同一个 Agent 换更强的模型,或调高推理强度

前面排查出的线索都有用,但它一直在同一个错误假设上打转

这个 Agent 的「思路惯性」

换一个 Agent,把关键对话和结论带过去

对话里堆满了失败的尝试和被推翻的结论

上下文本身被污染了

开新会话,只带「结论 + 已排除的方向」

有两种修法,拿不准哪种对

需要对比,而不是接力

分成两份各走一条路,看完 Diff 再选

一个简单的判断:自己重读一遍对话,如果觉得「新来的人看了会少走弯路」,就带着它换;如果觉得「看了反而会被带偏」,就开新会话。

做法:先试成本最低的「换模型」

代码语言:txt
复制
# Claude Code / Codex 的交互界面里都可以用斜杠命令切换模型
/model

# Codex 也可以在启动时指定推理强度(配置项名称以你安装的版本文档为准)
codex -c model_reasoning_effort=high

从 Claude Code 换到 Codex,哪些东西会跟过去、哪些不会?

直答:代码改动在磁盘上,谁接手都看得到;对话不会自动跟过去,各家 CLI 的会话各存各的;规则文件、模型、权限设置也都是各家自己的。

东西

换工具后

怎么处理

已经改了的代码

在

新 Agent 直接读文件;换之前 git status 看一眼当前状态

之前的对话

不在

把有用的部分整理成结论卡(见下文),或导出对话文本作参考

项目规则文件

看新工具读哪个文件

Claude Code 读 CLAUDE.md,Codex 读 AGENTS.md;长期规则放 AGENTS.md,在 CLAUDE.md 里引用它

模型、推理强度

换成新工具的

在新工具里重新选

权限 / 审批设置

换成新工具的

对不熟的 Agent,先用「只规划、不执行」或逐条审批的模式

账号和费用

换成新厂商的

各家按自己的订阅或 API 计费

就算有工具能把对话一起带过去,也只是把内容交给新 Agent,不等于两个 Agent 共享记忆:前面定下的关键约束(不能动的目录、必须过的测试),换的那一轮最好再说一遍。

前面的对话已经被带偏了,开新会话该带什么?

直答:别带整段对话,带一张「排错结论卡」:现象、复现方式、已经排除的方向和理由、当前怀疑、不能动的东西、验收标准。重点是「已排除的方向」,它能让新会话不再重走老路。

做法:结论卡模板(放在 .git/info/exclude 忽略的文件里,或直接贴进新会话的第一条消息)

代码语言:markdown
复制
# 排错结论卡

## 现象
- 输入 xxx 时,函数 yyy 返回 zzz,期望是 www

## 复现
- 命令:npm test -- path/to/case.test.ts
- 最小用例:……

## 已排除的方向(以及为什么)
- 不是缓存问题:清缓存后仍复现
- 不是时区问题:固定 TZ=UTC 仍复现

## 当前怀疑
- 边界值 0 被当成 false 处理

## 不能动的东西
- 公共 API 签名、数据库迁移文件

## 验收标准
- 上面的用例通过,且全量测试不新增失败

新会话的第一句话可以是:「先读这张结论卡,复述你认为的根因,再动手;不要尝试『已排除的方向』里的修法。」

想对比两种修法,怎么「分叉」又不互相覆盖?

直答:给每种修法一个独立的 worktree 和分支,各开一个 Agent,最后分别看 Diff、跑测试,再决定留哪个。

代码语言:bash
复制
# 从当前进度开出两条线
git add -A && git commit -m "wip: 分叉前检查点"
git worktree add ../app-fix-a -b fix-a
git worktree add ../app-fix-b -b fix-b

# 两个目录里各跑一个 Agent,给它们不同的方向
cd ../app-fix-a && claude      # 方向 A:在解析层修
cd ../app-fix-b && codex       # 方向 B:在调用方兜底

# 对比结果
git diff main...fix-a --stat
git diff main...fix-b --stat

# 选定一个合并,另一个整个丢掉
git merge --no-ff fix-a
git worktree remove ../app-fix-b && git branch -D fix-b

两个 Agent 千万别同时改同一个目录,否则谁的改动留下来全看运气。

不想换工具,只想回到之前的某个会话接着聊?

直答:多数 CLI 都能恢复本地保存的会话,不用重讲。

代码语言:bash
复制
# Claude Code
claude --continue        # 继续当前目录最近一次会话(-c)
claude --resume          # 从列表里选一个历史会话(-r)

# Codex
codex resume             # 打开最近会话的选择列表
codex resume --last      # 直接回到当前目录最近一次会话

恢复的只是同一个工具自己的会话;想换成另一个 Agent 接着做,还是要靠上面的结论卡或分支。

换来换去,最后怎么判断谁改得对?

直答:不管中间换了几个 Agent,最后都看同一份 Diff、跑同一组测试,而不是看哪个 Agent 的总结写得更自信。

  • git diff main...你的分支 看这条线上的全部改动,逐个文件确认有没有没要求的修改;
  • 跑结论卡里的复现用例和全量测试;
  • 大体可以但还要调整,就在同一个会话里继续提要求,不要再换。

常见问答

  • 换模型和换 Agent 有什么区别? 换模型是同一个工具换「大脑」,对话、规则文件、权限设置都不变;换 Agent 是换整套工具,这些都要重新带过去。
  • 能不能让两个 Agent 同时看着同一段对话一起改? 原生 CLI 做不到;想让两种思路并行,用两个 worktree 分别跑。
  • 结论卡和交接文档有什么不同? 交接文档记的是「做到哪了」,适合接力;结论卡记的是「哪些路走不通」,适合排错时重开。
  • 换了几次都没修好怎么办? 先停下来自己读一遍 Diff 和结论卡,通常是需求或验收标准本身没说清楚,再换 Agent 也解决不了。

边界说明

  • 文中命令以 Claude Code、Codex 为例,参数和配置项名称以你安装版本的官方文档为准。
  • 换 Agent 后效果不保证更好,不同模型擅长的问题不一样。
  • worktree 隔离的是文件改动,不是运行环境;Agent 执行的命令仍然作用在你的机器上。
  • 结论卡里不要写密钥、内网地址等敏感信息。

有没有不用自己搭 worktree、换 Agent 时对话也能跟过去的工具?

如果不想每次手写结论卡、手动开分支,也有桌面工具把多个命令行 Agent 的任务放到一个界面,比如 Caravel(免费使用,支持 macOS / Windows):同一个任务里,这一轮可以换用别的 Agent 或模型继续,之前的对话内容会一起带过去;想对比两种修法可以分叉会话(视 Agent 是否支持),原任务保持不变;最后都在同一个 Diff 里验收。用法见手册:https://caravel-site.pages.dev/zh-CN/docs/chat/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一个 Agent 绕圈修不好,是该换模型、换 Agent,还是干脆开新会话?
  • 从 Claude Code 换到 Codex,哪些东西会跟过去、哪些不会?
  • 前面的对话已经被带偏了,开新会话该带什么?
  • 想对比两种修法,怎么「分叉」又不互相覆盖?
  • 不想换工具,只想回到之前的某个会话接着聊?
  • 换来换去,最后怎么判断谁改得对?
  • 常见问答
  • 边界说明
  • 有没有不用自己搭 worktree、换 Agent 时对话也能跟过去的工具?
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档