Cursor发布了Agent Trace这一开放性规范草案,其目的是为标准化软件项目中由人工智能生成的代码的归属问题提供依据。该规范以“征求意见稿”的形式发布,定义了一种与供应商无关的格式,用于在版本控制的代码库中记录人工智能生成的内容以及人类编写的代码。

Cursor在人工智能辅助编码工具方面的经验表明,代码变更过程中需要更完善的上下文追踪机制。虽然当前的工具如git blame能够显示某行代码何时被修改过,但它们无法判断这一修改是由人类完成的还是由人工智能完成的,或者两者共同参与其中。Agent Trace旨在以结构化且可互操作的方式记录这些上下文信息。

Agent Trace是一种数据规范,它使用基于JSON的“追踪记录”来将代码片段与生成这些代码的对话过程及相关贡献者联系起来。用户可以跟踪文件或单行代码的修改情况,按对话内容对修改进行分类,并判断这些修改是由人类完成的、由人工智能完成的、还是由两者共同完成的。该规范还允许为人工智能生成的代码添加可选的模型标识符,这样就能在不依赖特定供应商的情况下实现精确的代码归属追踪。

Agent Trace
来源:https://agent-trace.dev/

该规范故意不规定追踪记录应存储在何处,因此开发者可以将这些记录保存为文件、git注释、数据库条目或其他形式。Agent Trace同时也支持多种版本控制系统,包括Git、Jujutsu和Mercurial,并引入了可选的内容哈希值,这样即使代码被移动或重新架构,也能对其归属进行有效追踪。

可扩展性是该规范的核心设计目标。供应商可以使用带有命名空间的键来添加额外的元数据,而不会影响系统的兼容性。此外,该规范也没有规定用户界面要求或所有权相关的规则,也并未试图评估代码质量或追踪训练数据的来源,而是专注于实现代码的归属追踪功能。

Cursor还提供了一个参考实现示例,展示了人工智能编码工具如何在代码发生变化时自动生成追踪记录。虽然这个示例是基于Cursor自己的开发工具构建的,但其中所采用的模式可以在其他编辑器和工具中得到应用。

开发者们对Agent Trace的反应表明,这一规范对代码审查和调试工作流程具有显著的影响。一位X平台用户这样写道:

如果你们真的想改善那些由人工智能生成的混乱代码,那么这个工具绝对值得一试。我迫不及待想在代码审查中试用它了。

另一位用户则强调了该工具的可重复性这一关键优势,他写道:

当开发团队无法弄清楚为什么某个智能代理会偏离预定的执行路径时,他们就会停止继续进行相关工作。而“Agent Trace”这一工具正好解决了这个问题。将这一工具公开供大家使用,确实是一个明智的决定。

作为一份征求意见稿,“Agent Trace”有意留下了关于代码合并、基线调整以及大规模的智能代理驱动型变更等方面的一些未解决的问题,以便收集更多反馈。Curser公司将这个提案视为建立共同标准的起点,而非一个完整的解决方案——因为随着人工智能在软件开发工作流程中变得越来越普遍,这样的需求也会持续存在。

Comments are closed.