跳到正文
返回论文列表
cs.SE提交于 已译

Agent 还是 Human?在无作者签名情况下检测 AI 编码 Agent 的提交

Agent or Human? Detecting Commits by AI Coding Agents in the Absence of Authorship Signatures

Kosei Horikawa · Hao Li · Yutaro Kashiwa · Youssef Esseddiq Ouatiti · Mohammed Sayagh · Bram Adams · et al.

中文摘要

Claude Code、GitHub Copilot coding agent 和 Cursor 等 AI 编码 Agent 现已直接向开源仓库提交代码。现有研究通常依赖 bot 账号或 Co-authored-by 等作者签名来识别 Agent 提交,但这些签名是可选的、可被移除的,且常附在 Pull Request 而非单个 Commit 上。本研究基于 1,226 个仓库的 7,837,946 条提交,涵盖五种编码 Agent 和 Human 提交,探讨了无签名检测的信号与局限。在屏蔽签名后,检测器将 Agent 提交排在 Human 提交之前,ROC AUC 最高达 0.859,主要信号来自消息冗长度和变更大小,而非代码本身。在未微调的情况下,gpt-6-sol 达到了与 XGBoost 和 TF-IDF 相似的 AUC。然而,在观察到的 Agent 占比下,全量测试集上最佳检测器的精确率仅为 0.332。检测在保留的 Claude Code 和 Copilot 样本上迁移效果不佳,TF-IDF 对 Claude Code 的 AUC 仅为 0.524。时间变化因 Agent 而异,Copilot 的 AUC 先降后升,而更多训练历史有助于 Claude Code 但无助于 Copilot。结果表明,无签名检测可用于优先审查提交,但不能替代记录归属,依赖签名标签的研究应将其视为 Agent 活动量的下限。

关键要点

  1. 01现有研究依赖可选且可移除的作者签名识别 Agent 提交,导致无签名时难以区分 Agent 与 Human 提交。
  2. 02基于 7,837,946 条提交的研究发现,无签名检测的 ROC AUC 最高达 0.859,主要信号来自消息冗长度和变更大小。
  3. 03全量测试集上最佳检测器精确率仅为 0.332,且检测在保留的 Claude Code 和 Copilot 样本上迁移效果不佳。
  4. 04无签名检测可用于优先审查提交但不能替代记录归属,依赖签名标签的研究应将其视为 Agent 活动量的下限。

解读

尚无解读。

原始英文摘要

arXiv:2610.36229v1 Announce Type: cross Abstract: AI coding agents such as Claude Code, GitHub Copilot coding agent, and Cursor now commit directly to open-source repositories. Empirical studies of these agents identify their commits through authorship signatures, such as bot accounts and Co-authored-by trailers. These signatures are optional, can be removed, and are often attached to pull requests rather than to individual commits. Hence, it is unclear whether Agent commits can be told apart from Human commits once the signatures are gone. We investigate the signals and limits of signature-free detection using 7,837,946 commits from 1,226 repositories, covering five coding agents and Human commits. After signatures are masked, detectors rank Agent commits above Human commits with a ROC AUC of up to 0.859, and most of this signal comes from message verbosity and change size rather than from the code itself. On the shared sample, gpt-6-sol without fine-tuning reaches AUCs similar to XGBoost and TF-IDF. At the observed Agent share, however, the best detector on the full test set reaches a precision of only 0.332. Detection transfers poorly to held-out Claude Code and Copilot, with TF-IDF reaching an AUC of only 0.524 for Claude Code. Temporal changes also depend on the agent, e.g., Copilot AUC drops and later recovers, while more training history helps Claude Code but not Copilot. These results indicate that signature-free detection can prioritize commits for review but cannot replace recorded attribution, and that studies relying on signature-based labels should treat them as a lower bound on agent activity.

同方向论文 · cs.SE

查看全部 →

反向发现 · 这篇论文相关的工具与提示词

去交叉发现 →

关联提示词 · 6

编程tech.qimao.com·外部收录·

按规范检查 Go 代码改动,分析问题与服务影响并生成 Code Review 报告

``` # Code Review 规范 你是 golang 编程的专家,现在对代码进行 Code Review,请按照以下步骤进行: (若遇到 git 命令分页的情况,请加上`| cat`) ## 步骤一:代码规范检查 - [ ] 是否遵循最佳实践 @.cursor/rules/rule-code-spec.mdc - [ ] 是否存在重复代码 - [ ] 是否有充分的注释和文档 - [ ] 是否易于理解和维护 ## 步骤二:功能问题分析 - [ ] 分析本次代码改动的影响…

编程zhuanlan.zhihu.com·外部收录·

用于指导 Claude Code 按阶段规划、测试驱动实现、重构并提交代码。

### 1. 规划与分阶段 将复杂的工作分解为 3-5 个阶段。在 `IMPLEMENTATION_PLAN.md` 中记录: ```text ## 阶段 N: [Name] **目标**: [具体可交付成果] **成功标准**: [可测试的结果] **测试**: [具体的测试用例] **状态**: [未开始|进行中|已完成] ``` * 随着进展更新状态 * 所有阶段完成后删除文件 ### 2. 实现流程 1. **理解** - 研究代码库中的现有模式 2. **测试**…

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当全栈软件开发人员

我想让你充当软件开发人员。我将提供一些关于 Web 应用程序要求的具体信息,您的工作是提出用于使用 Golang 和 Angular 开发安全应用程序的架构和代码。我的第一个要求是'我想要一个允许用户根据他们的角色注册和保存他们的车辆信息的系统,并且会有管理员,用户和公司角色。我希望系统使用 JWT 来确保安全。

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当前端智能思路助手

我想让你充当前端开发专家。我将提供一些关于Js、Node等前端代码问题的具体信息,而你的工作就是想出为我解决问题的策略。这可能包括建议代码、代码逻辑思路策略。我的第一个请求是“我需要能够动态监听某个元素节点距离当前电脑设备屏幕的左上角的X和Y轴,通过拖拽移动位置浏览器窗口和改变大小浏览器窗口。”

编程github.com/PlexPt/awesome-chatgpt-prompts-zh·外部收录·

充当 Linux 终端

我想让你充当 Linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在中括号内[就像这样]。我的第一个命令是 pwd