2026年5月30日 2 分钟阅读

AI Agent 也需要版本控制:re_gent 让 AI 编程助手的每一次改动都可追溯

tinyash 0 条评论

用过 AI 编程助手的开发者应该都有过这种经历:

你让 Claude Code 重构一个模块,它连续写了 5 个文件、跑了 3 遍测试、改了一大堆代码。看起来不错——直到你发现某个旧功能被不小心移除了。你想知道”到底是哪条提示词导致删了那行代码”,结果只能靠记忆回放,或者更糟——硬着头皮让 Agent 再改回去。

这不是个例。AI Agent 每次启动都是一个全新的上下文窗口。Agent 没有原生的版本控制机制。/compact 和祈祷成了唯一的”恢复方案”。

re_gent 就是来解决这个问题的——一个专门为 AI 编程 Agent 设计的版本控制系统。它不是 Git 的替代品,而是 Git 做不到的那些事的补充。

re_gent 是什么

re_gent(全称 “Version Control for AI Agents”)是一个开源的 CLI 工具,内置 BLAKE3 内容寻址存储和 SQLite 查询索引,自动记录 AI 编程 Agent 的每一次工具调用、文件变更和对应的对话上下文。

安装很简单:

brew tap regent-vcs/tap
brew install regent
go install github.com/regent-vcs/re_gent/cmd/rgt@latest

然后在项目目录初始化:

cd your-project
rgt init

之后你正常用 Claude Code、OpenAI Codex 或 OpenCode 工作,re_gent 会自动跟踪所有 Agent 活动。你不必做任何额外操作。

三个最实用的命令

rgt log:Agent 干了什么,一目了然

$ rgt log

Step a1b2c3d  |  2 min ago  |  Tool: Edit
│ File: src/handler.go
│ Added error handling to request handler
│ + 5 lines, - 2 lines

Step d4e5f6g  |  5 min ago  |  Tool: Write
│ File: tests/handler_test.go
│ Created unit tests for handler
│ + 23 lines

Step f8g9h0i  |  8 min ago  |  Tool: Bash
│ Command: go mod tidy
│ Cleaned up dependencies

每一条记录都精确到 Agent 调用了什么工具、改了哪个文件、增加了多少行。不再需要靠猜来判断 Agent 刚刚做了什么。

rgt blame:这行代码是谁(哪条提示词)写的

$ rgt blame src/handler.go:42

Line 42: func handleRequest(w http.ResponseWriter, r *http.Request) {

Step:    a1b2c3d4e5f6
Session: claude-20260502-143021
Tool:    Edit
Prompt:  "Add error handling to the request handler"

这是 re_gent 最强大的功能。当你看到一行有问题的代码,可以直接追溯到发起修改的那条提示词。对于代码审查和问题排查来说,这简直就是时光机。

rgt show:查看任何一步的完整上下文

$ rgt show a1b2c3d

Step a1b2c3d4e5f6
Parent: d4e5f6g7h8i9
Session: claude-20260502-143021
Time: 2026-05-02 14:30:21

Tool: Edit
File: src/handler.go

Changes:
+ func handleRequest(w http.ResponseWriter, r *http.Request) {
+     if r.Method != "GET" {
+         http.Error(w, "Method not allowed", 405)
+         return
+     }
- func handleRequest(w http.ResponseWriter, r *http.Request) {

Conversation:
User: "Add error handling to reject non-GET requests"
Assistant: "I'll add method validation to the handler..."

rgt show 不仅展示变更 diff,还保留了你和 Agent 当时的完整对话。这是 Agent 版本控制最有价值的部分——Git 只告诉你改了哪行,re_gent 告诉你为什么改。

实际应用场景

场景一:多会话并行开发

一个常见的工作流是同时开多个 Agent 会话——一个在重构后端,一个在写前端组件,还有一个在跑测试。re_gent 的 rgt sessions 可以列出所有活跃会话,rgt log --session 只看特定会话的活动。

$ rgt sessions

Active Sessions:
claude_code:claude-20260502-143021  |  3 steps  |  Last: 2 min ago
codex_cli:codex-20260502-091534     |  7 steps  |  Last: 2 hours ago

场景二:Agent 搞砸了,快速回滚

Agent 有时会写出不如人意的代码。用 rgt log 找到”搞砸之前”的那一步,记下 hash,然后切到 Git 分支执行 git checkout 回滚文件。re_gent 虽然没有自动回滚功能,但它精确告诉你回滚到哪一步。

场景三:代码审查时追溯 Agent 行为

当团队成员提交了一段明显是 AI 生成的代码,审查者可以用 rgt blame 检查每行代码的出处。如果某段代码写得不对,可以直接定位到 Agent 的对话上下文,节省大量 Reviewer 的时间。

存储与隐私

re_gent 的数据存储在项目本地 .regent/ 目录中,类似于 .git/

.regent/
├── objects/     # 内容寻址 blob 存储(BLAKE3)
├── refs/        # 会话指针
├── index.db     # SQLite 查询索引
└── config.toml

所有数据 100% 本地存储,不发送到任何外部服务。如果你用 .gitignore.regent/ 排除在外,这些数据就只有你自己能看到。

与其他工具对比

能力Gitre_gent
记录文件变更
追溯对话上下文
按提示词查找
多 Agent 会话管理
手动提交需要自动
支持 Claude Code / Codex间接原生

Git 管理的是代码的”成品”,re_gent 管理的是 Agent 的”创作过程”。两者互补,而不是替代。

写在最后

re_gent 自 2026 年 4 月底发布以来,已经收获了 600+ GitHub Stars,社区活跃度很高。它解决了一个非常具体但又很普遍的痛点——Agent 行为不可追溯。

如果你正在大量使用 AI 编程 Agent 进行开发,re_gent 是一个值得配进工作流的工具。安装只要 10 秒,不需要改变你使用 Agent 的任何习惯,但当你需要排查”Agent 刚才到底干了什么”的时候,它会让你觉得——这个工具早就该出现了

GitHub: github.com/regent-vcs/re_gent(636 Stars | Apache 2.0 协议)

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。