人类 vs. AI —— 基于 Diff 的行级溯源,用于智能体编辑场景下的文本归属

一个名为 us-vs-them 的命令行工具,利用 git 版本历史和 diff 算法,自动判断文件中每一行文本是由人类还是 AI 代理编写,帮助开发者在 AI 深度参与的编码环境中保留下人类的“领地”。

一句话看懂:一个名为 us-vs-them 的命令行工具,利用 git 版本历史和 diff 算法,自动判断文件中每一行文本是由人类还是 AI 代理编写,帮助开发者在 AI 深度参与的编码环境中保留下人类的“领地”。

事件核心:发生了什么

us-vs-them 是一个新发布的开源工具,托管在 GitHub 上,今天在 Hacker News 上受到关注。它解决的问题非常具体:在 AI 代理(agent)参与编码和文档编辑的场景下,如何区分一段文本是“我们的人写的”还是“它们(AI)写的”。

这个工具的最大特点是无需在文本中嵌入任何额外标记,也无需要求编辑器预留注释格式。它唯一依赖的是 git 仓库中天然存在的版本历史:每次提交都带有作者身份,只要把人类作者用 --ours 参数指定(或反过来用 --theirs 指定 AI 作者),工具就会通过简单的 diff 计算,输出文件每一行的归属得分。例如 1-3 0.00 表示第 1 到 3 行完全由 AI 生成,4 1.00 表示第 4 行完全是人类编写,8-20 0.46 表示这段内容最初由人类创作,但被 AI 代理改动过一部分。

开发者还明确提出了一个核心设计原则:不支持同时传入 --ours--theirs,只会接受其中较短的那一侧名单,以降低命令参数的歧义。

为什么重要

随着 Cursor、Copilot 等 AI 编程工具从“补全单行代码”演进到“自主完成整个任务”,Agentic Coding(智能体编程)正在成为实际工作流的一部分。一个常见的副作用是:AI 代理会大幅重构代码,但哪些代码是开发者精心设计的、哪些只是AI生成的“流水线产物”,在最终文件里会变得模糊。

us-vs-them 不是在给 AI 生成内容“打标签”,而是一种事后溯源机制——它用版本历史的作者元数据,重建每一行的归属。这种做法对其他 AI 应用也有参考价值:任何基于 git 的工作流(文档协作、配置管理、CI/CD)都可以在不改变现有习惯的情况下获得归属信息。它实际上是把“AI 与人类共同编辑”这件事,变成了一种可量化、可审计的文件属性。

此外,它的判断逻辑并不追求“每一行独立溯源”,而是通过 diff 算法识别有意义的连续区间,刻意避免结果完全收敛为“全海”或“全岛”——即防止出现整份文件全部被判定为某一边的极端情况。

对用户/开发者/创作者的影响

对正在用 AI 辅助开发的个人开发者来说,这个工具能提供一种“代码主权”保护:在大量使用 vibecoding(让 AI 按模糊指令快速生成应用)的项目里,你可以明确划出几段自己亲自写的重要代码,之后 AI 代理在后续会话中修改时,你可以快速检查它是否“越界”。对 README 这类文档的维护者,用它指定开头段落为人类作者,AI 就可以自由补充下方内容,但不会轻易改动引言部分。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

对团队而言,它提供了一种非侵入式的可追溯性审计手段:不需要全员改变工作方式,只要 git 提交时保持作者信息准确。项目管理员可以通过工具输出的行区间得分,快速定位关键模块是谁写的、被 AI 改过多少。

需要注意的是,目前公开信息显示它需要配合 bbin 工具进行本地安装,且主要面向开发者,不提供图形界面。普通用户在非技术场景中直接使用的门槛仍然偏高。

值得关注的后续

第一,观察它是否能被整合进主流 AI 编程工具链,例如作为 Cursor、Continue 等编辑器的插件,在 AI 写入代码前实时检查是否触及人类保留区。第二,看这个算法对大型项目的历史回溯效果是否稳定,尤其是多人协作叠加 AI 重构的复杂 git 历史中,它能否保持可解释的准确性。第三,值得留意的是,目前它依赖 git 作者字段,如果未来 AI 代理自动提交时使用人类身份或通过 rebase 改写历史,这种基于 diff 的溯源方式是否会催生新的防御性提交策略——例如人类以固定模式撰写关键行,以避免被误判为 AI 输出。

来源:Hacker News · 24h最热

celebrityanime
celebrityanime
文章: 18311

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注