找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1631

积分

0

好友

215

主题
发表于 2026-2-12 11:21:06 | 查看: 30| 回复: 0

当 Agent 开始用 Git 说话:从一个 Vibe Coding 开发者的发现,到 Agent 协作的未来。

一、一个意外的发现

最近在维护自己的开源项目时,我做了一件很自然的事:让 Agent 帮我处理 GitHub 上的 Issues 和 Pull Requests (PR)。

一开始只是为了省事——Issue 数量太多,让 Agent 帮忙阅读、分类、回复一些常见问题。PR 也是,先让 Agent 做一轮 Code Review,帮我过滤掉明显有问题的提交。

但很快,我发现了一件有趣的事情:给我提 Issue 的,很多也是 Agent;给我提 PR 的,同样是 Agent。

我的 Agent 在和别人的 Agent 对话。

它们用 Issue 的格式交换需求,用 PR 的格式交换代码,用评论(Comment)的格式讨论技术方案。没有人刻意设计过这套流程,但它就这么自然而然地发生了。

那一刻我意识到——GitHub 正在无声无息地演变为一种 Agent 之间的通讯协议。

仔细想想,这并非意料之外。GitHub 天然具备 Agent 通讯协议所需的一切特性:

  • 可读且安全:纯文本交互,所有操作透明、可审计。
  • 命令式的:Issue 是任务指令,PR 是执行结果。
  • 结构化的:标签、模板、状态流转,天然适合机器解析。
  • 有版本控制:每一次交互都被完整记录,不会丢失。

Agent 并不需要什么全新的复杂协议,它们已经在利用人类建造的最成熟、最普及的协作基础设施来进行沟通了。


二、巧合还是必然?

就在我和朋友聊完这个观察的第二天,一条新闻映入眼帘:GitHub 前 CEO Thomas Dohmke 宣布创立新公司 Entire,并获得了 6000 万美元的种子轮融资,目标是在 Git 之上构建 Agent 时代的开发者平台。

有时候,你模糊感知到的趋势,会突然被行业里最懂这件事的人用一家公司、一笔巨额融资、一个明确的产品方向所确认——这种感觉非常奇妙。

Thomas Dohmke 在公告中的一句话,与我的感受完全共鸣:

“我们仍然依赖一个在云时代之前构建的软件开发生命周期,它天生是为人与人协作设计的。”

他看到的问题和我看到的一样:现有的 Git/GitHub 体系是为人类协作设计的,Agent 只是在“将就着用”。 能用,但不够高效、不够原生。


三、Entire 是什么,它比 Git 走到了哪一步?

3.1 Git 记录了什么,遗漏了什么

首先回顾现有的 Git 体系。Git 是一个极其优秀的分布式版本控制系统,它忠实地记录了:

  • What:哪些文件发生了变更,每一行的具体差异(diff)。
  • Who:是谁提交了这次更改。
  • When:更改是在什么时间发生的。
  • Where:更改发生在哪个分支上。

但它有一个致命的缺失:Why——为什么要进行这样的修改。

在人类手写代码的时代,这个“为什么”或许能勉强通过提交信息(commit message)和 PR 描述来补充(尽管很多人写的只是 fix bug)。但在 Agent 时代,这个缺失被放大了一百倍——

Agent 生成了 500 行代码,你只能看到 diff,完全不了解它背后的推理链条。Agent 做了一个架构决策,选择了方案 A 而放弃了方案 B,你不知道它权衡了哪些因素。你给 Agent 的指令(prompt)、附加的约束条件、以及讨论的过程,在关闭终端或对话窗口的那一刻,可能就全部消失了。

Git 保存了代码“怎么变”,但丢失了代码“为什么这么变”的认知过程。

3.2 Entire 的 Checkpoint:给 Git 补上 “Why”

Entire 发布的第一个产品叫做 Checkpoint。它的做法非常聪明——不直接修改 Git 的核心,而是在 Git 之上增加一层语义元数据。

当你使用 Agent 生成代码并执行 commit 时,Checkpoint 会自动捕获并与这个 commit 的 SHA 哈希值绑定:

普通 Git Commit:
commit abc123 → diff(代码变更)

Entire Checkpoint:
commit abc123 → diff(代码变更)
   + 原始 prompt(你给 Agent 的指令)
   + 推理链(Agent 考虑了哪些方案、放弃了什么)
   + 工具调用(Agent 读取了哪些文件、调用了哪些 API)
   + 约束条件(必须兼容什么、禁止使用什么)
   + token 消耗(花费了多少计算资源/成本)
   + 完整对话记录(整个 session 的完整文本记录)

这些元数据存储在一个独立的 Git 分支(例如 entire/checkpoints/v1)上,以仅追加(append-only)的方式累积。代码仓库本身不受任何影响,完全兼容现有所有的 Git 工作流和工具链。

本质上,Checkpoint 把 Agent 的“想法”从黑箱变成了白箱——变得可追溯、可审查、可在不同 Agent 间共享。

3.3 为什么这件事比“存聊天记录”重要得多

你可能会想:这不就是把 AI 的聊天记录存到了 Git 里吗?

不,区别在于它是 结构化的、版本化的、并且紧密绑定到每一次具体的代码变更。这意味着:

  • 代码审查的范式即将改变。 过去你打开一个 PR,面对数千行的 diff,需要逐行阅读代码。现在,你可以先查看与之关联的 Checkpoint——了解 Agent 接到的原始意图是什么、它考虑了哪些备选方案、最终为什么选择了当前的实现。你审查的不再仅仅是“代码语法对不对”,而是“整个思维过程合不合理”。
  • Agent 之间有了共享的认知和记忆。 Agent A 在一个 session 中完成了技术选型,session 结束后其工作上下文便消失了。当 Agent B 接手相关任务时,可以直接读取 Agent A 留下的 Checkpoint,继承之前的决策逻辑和约束条件,无需从零开始重新推理。
  • 技术决策历史变得可追溯。 三个月后,如果有人提问“为什么当时选择了 SQLite 而不是 PostgreSQL?”,你不再需要依赖模糊的个人记忆,可以直接查询那次 commit 对应的 Checkpoint,当初完整的讨论记录和推理依据都赫然在列。

四、新范式:从“写代码的工人”到“审查 Agent 思维的监督者”

Entire 和 Checkpoint 所指向的,其实是一个更深层次的软件开发范式转变。

旧范式

开发者写代码 → commit → 发起 PR → 同事审查 diff → 讨论 → merge

在这个流程里,代码是核心产物,人的注意力高度集中在“这段代码写得对不对、好不好”上。

新范式

表达意图 → Agent 生成 → Checkpoint 记录推理 → 审查意图和结果 → 验证正确性

流程中的每一步都发生了质变:

  1. 表达意图——开发者的第一步不再是打开代码编辑器,而是用自然语言精确描述“我要实现什么功能”。例如:“我需要一个 JWT 认证中间件,支持 refresh token 机制,Access Token 过期时间设为 15 分钟,并且必须兼容项目现有的路由结构。” 意图描述本身,正在成为一种新的、重要的工程产物。
  2. Agent 生成——Agent 接收到意图后,会读取项目结构、分析现有代码库、权衡多种实现方案、做出选择、最后生成代码。这个过程消耗了大量计算资源和复杂的推理链,但在过去,这些宝贵的中间过程全部是“瞬态”的,commit 之后只剩下冰冷的代码差异(diff)。
  3. Checkpoint 记录推理——现在,这些完整的推理过程被自动捕获并永久保存。你不再需要“有意识地”去手动记录,不需要额外维护复杂的规则文件或技术决策文档。Agent 每次执行 commit 时,Checkpoint 都会在后台自动完成记录。
  4. 审查意图和结果——你的审查重点不再是一行行地看代码。你审视的是:最初的意图描述是否准确清晰?Agent 做出的决策是否合理?所有给定的约束条件是否都得到了满足?有没有忽略什么关键的边界情况?你审查的是 Agent 的认知过程,而不仅仅是它产出的每一个分号或括号。
  5. 验证正确性——正确性的验证方式也在进化。Agent 可以同时生成功能代码和对应的单元测试;另一个专门的“审计”Agent 可以读取 Checkpoint,检查推理链是否逻辑自洽;甚至可以通过业务指标来自动验证最终结果是否符合预期。

一句话总结这个范式转变:开发者的核心角色,正在从“亲手写代码的工人”演变为“审查与指导 Agent 思维过程的监督者”。


五、对 Agent 时代更广泛的意义

将 Entire 的愿景放到更大的技术背景中审视,它的意义远超一个单纯的开发效率工具。

5.1 Agent 的世界需要自己的“互联网”

在旧世界里,HTTP 协议是人们访问网站、交换信息的基石,构成了我们熟知的互联网。在新世界里,海量的 AI Agent 也需要自己专属的高效协作协议。

我在开源项目维护中观察到的现象——Agent 通过 Issues 和 PR 进行交流——是一种 隐式的、低带宽的通讯。它只传递了代码和自然语言评论。Entire 想要做的,正是将这种通讯 显式化、高带宽化:不仅要传递代码,还要传递完整的推理过程、上下文图谱和决策依据。

这或许也是为什么 Thomas Dohmke 强调要将其开源,并着重宣传“开放、可扩展、独立”。他不仅仅是在打造一个商业产品,更是在试图推动一个面向未来的、开放的协议标准。

5.2 从 2C、2B 到 2A (To Agent)

最近看到一篇题为《互联网已死,Agent 永生》的文章,里面提出了一个非常精辟的观点:过去的软件主要服务于人类消费者(2C)或企业(2B),而未来最大、最活跃的软件用户群体,可能就是 Agent 本身(2A)。

如果 Agent 成为软件的新“用户”,那么 Agent 之间如何高效、可靠地协作,就成了最关键的基础设施问题。Entire 的 Checkpoint 本质上就是在解决如何让 Agent 之间的协作“体验更好”——不是给人看的华丽用户界面,而是给 Agent “阅读”的、高度结构化的推理数据。

5.3 “韩信点兵”需要现代化的指挥体系

上文提到的文章中还引用了一个绝妙的比喻:韩信点兵,多多益善——并非因为韩信本人武力超群,而是因为他拥有一套高效、严密的指挥体系。

未来,人与人之间能力的差距,很可能将取决于你能有效地驱动多少个 Agent 协同工作。然而,驱动 1 个 Agent 和驱动 100 个 Agent 的复杂度绝非线性增长。没有一套协调体系,100 个 Agent 将陷入一片混乱——各自为战、重复推理、产出互相冲突。

Entire 规划的三层架构(Git 兼容的数据库层、语义推理层、AI 原生开发生命周期层),恰恰对应着这套现代化的“指挥体系”:统一的信息存储中心、共享的态势感知能力、以及清晰的任务协作流程。


六、它解决了我的哪些痛点,又有哪些挑战尚存?

6.1 已解决的:告别“人肉 Checkpoint”

作为一个重度依赖“Vibe Coding”(即通过自然语言与 AI 协同编程)的开发者,我之前最痛的问题是:AI 在上下文窗口被压缩或重置后,会“忘记”之前讨论过的所有东西。

我不得不频繁地通过创建和维护规则文件(比如 CLAUDE.mdcursor rules)来手动保存 Agent 做出的技术选型、架构决策和各种约束条件。这些记录是为了在项目后期重构或进行重大迭代时提供关键参考。但这个操作完全依赖于我的“主观能动性”——而我经常忘记去做。

Checkpoint 直接且彻底地解决了这个问题——你不再需要手动记录任何东西。 每次与 Agent 的对话、每一个技术决策、每一条推理链条,都会自动绑定到对应的代码提交上,成为项目历史中不可分割的永久组成部分。

另一个直接受益的场景是处理 Issue 和 PR。过去,当有人提 Issue 询问“为什么项目不支持 XXX 功能?”时,我需要努力回忆甚至重新调研。现在,我可以直接查询 Checkpoint 历史,找到当初讨论过该功能的那次开发会话,直接引用当时的完整推理过程来回复——有理有据,不依赖于模糊的个人记忆。

6.2 已解决的:多 Agent 协作有了共享认知基础

我当前的工作流已经相当复杂:使用 Git worktree 管理多个功能分支,在每个 worktree 下启动不同的 Agent “团队”去完成特定任务,然后我来审查它们的产出,决定采用哪个方案。

这个过程曾非常痛苦。六个 Agent 团队可能产出数千行代码,我需要在不同方案之间进行比较,还要手动进行集成测试。Checkpoint 至少让方案比较变得容易多了——我不再需要逐行对比晦涩的 diff,而是可以直接阅读不同方案所附带的“推理摘要”和“决策依据”,往往能在 5 分钟内做出更明智的判断。

6.3 尚未解决的:上下文爆炸与精准检索问题

但我直觉上感到,Checkpoint 能解决“存储”问题,却未必能彻底解决 Agent 间的“高效沟通”问题。原因很直接:

模型本身的上下文窗口是有限的。

当你把每次 commit 的完整推理链(可能包含数千至上万 tokens)都保存下来,一个持续开发三个月的项目,可能会累积高达 1000 万 tokens 的 Checkpoint 数据。而目前最顶尖大模型的上下文窗口也不过 20 万 tokens 左右。数据是存下来了,但没有任何一个 Agent 能一次性“看完”。

更关键的是,Checkpoint 机制本身可能会反过来更快地“塞爆”Agent 的可用上下文。 它解决了“信息不丢失”的存储问题,但随即引入了“如何精准检索”的挑战——Agent 怎样才能从海量的 500 个历史 Checkpoint 中,精准定位到当前任务最需要参考的那 2-3 个?又该如何将海量的历史推理,压缩成能够放入有限上下文窗口内的有效摘要信息?

6.4 尚未解决的:从事后记录到实时协调

Checkpoint 本质上是 “事后记录” ——Agent 完成任务、执行 commit 之后,才生成并保存一份 Checkpoint。但在真正的多 Agent 实时协作场景中,我们需要的不仅是事后查阅记录,更需要 工作过程中的实时通讯与状态同步

例如,Agent Team 1 在开发进行到一半时,决定数据访问层采用 Drizzle ORM——这个关键决策应该实时同步给正在并行开发相关模块的 Team 2 和 Team 3。而不是等到 Team 1 完成整个功能并 commit 后,Team 2 才从 Checkpoint 中读到这个信息,然后发现自己已经实现的部分与之不兼容,导致返工。

这已经超出了 Checkpoint “记录”的范畴,进入了 Agent 间“实时通讯协议”与“协同状态管理”的领域。

6.5 Entire 的完整蓝图如何应对这些挑战?

回到 Entire 公司的完整愿景,Checkpoint 仅仅是其三层架构中的第一块基石。它的整体规划恰好对应了上述待解决的挑战:

层次 核心解决什么问题 状态
Checkpoint(存储层) 信息不再丢失——永久保存推理过程 ✅ 已发布
Context Graph(语义推理层) 从海量 Checkpoint 中精准检索——智能关联与摘要 🔜 待发布
AI 原生开发生命周期 Agent 间的实时协调与工作流——定义协作协议与流程 🔜 待发布

其中的 Context Graph(上下文图谱) 可能是承上启下最关键的一层。它需要实现的功能是:不是简单粗暴地将所有历史 Checkpoint 都塞给正在工作的 Agent,而是能根据当前任务的语义,智能检索出最相关的历史上下文,并进行分层级的压缩——可能是完整记录、可能是决策摘要、也可能是关键约束列表,在不同场景下提供不同粒度的信息。

就像人类的记忆系统并非事无巨细地存储所有经历——它拥有遗忘曲线、会进行抽象总结、能够按需回忆。Agent 的 Checkpoint 系统,同样需要类似的智能检索与信息压缩机制。


七、结语

让我们回到最初的起点:在维护开源项目时,我观察到 Agent 已经在利用 GitHub 进行互相沟通。这件事正在全球范围内自然发生,无需任何人的许可或设计。

Entire 所做的,是将这种自然生长的、隐性的 Agent 通讯,转变为显性的、高带宽的、专为 Agent 时代设计的基础设施

Checkpoint 是坚实的第一步——它将 Agent 的思维过程从黑箱变为白箱,使其可追溯、可审查。而接下来的 Context Graph 与 AI 原生开发生命周期,才是真正实现 Agent 间高效、智能协作的关键。

然而,最深刻的变化或许并不在工具层面,而在我们自身的角色定位:

我们正在从“写代码的工人”转变为“审查与指导 Agent 思维过程的监督者”。

未来的开发者,可能不需要理解每一行代码的具体语法,但必须深刻理解 Agent 的推理是否合乎逻辑、其决策是否正确、有没有遗漏任何关键的业务或技术约束。这是一种全新的核心能力,也伴随着全新的责任。

旧世界的开发者用键盘和逻辑编写代码。新世界的开发者,将用清晰的意图描述和专业的判断力来“指挥”智能体军团。

而像 Entire 这样的下一代基础设施,正是让这种大规模、高效率“指挥”成为可能的现代化“指挥系统”。

地基已经打下,让我们共同期待,其上将建立起怎样令人惊叹的智能协作生态。

引用:





上一篇:零基础AI开发实战:构建企业级站点导航系统
下一篇:微软开源Agent Lightning:框架无关的AI Agent训练方案,无缝适配LangChain与AutoGen
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 13:00 , Processed in 0.782043 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表