AI 寫的程式碼終於有辦法抓戰犯了:Agent Trace 規範重點整理

3 分鐘閱讀
贊助內容

Agent Trace 是一套開源規格,讓「這段程式是誰/哪個 AI 寫的」變成可記錄、可查詢的結構化資料。本文整理規格目標、貢獻者類型與 Trace Record 結構,適合開發者與重視可追溯性、合規的團隊先了解,便於日後 code review 與稽核。規格開放、與工具無關;若 Cursor、Claude Code 等皆支援寫入,將有助於審計。

隨著 Cursor、Claude Code 這類 Agent 寫的程式碼越來越多,一個問題會越來越重要:這段程式碼到底是人寫的還是 AI 寫的?用的是哪個模型?

最近 Cursor 發表的開源協議 Agent Trace 正是為此而生——一套開放的規格(目前 RFC 階段),目標是讓「AI 貢獻」可以像人類作者一樣被記錄在版控裡。

Agent Trace 概念:人與 AI 協作程式碼的歸屬追蹤

什麼是 Agent Trace?

Agent Trace 是一套開源規格,用來追蹤「誰寫了這段程式碼」——尤其是 AI 與人類的貢獻歸屬

規格定義了與工具無關的格式,讓任何相容工具都能讀寫這份歸屬資料。

為什麼需要 Agent Trace?

動機很簡單:Agent 寫的程式碼變多了,大家需要知道哪些是 AI 產出、哪些是人寫的,而且不只要知道「是不是 AI」,還要能連回用的模型、甚至對應的對話。

Agent Trace 定義的是「歸屬資料」的格式,任何符合規格的工具都可以讀寫,不會被單一廠商綁死

Agent Trace 規格目標與貢獻者類型示意

規格想達成的目標

  • 互通性:任何相容工具都能讀寫歸屬資料
  • 細粒度:支援到「檔案」與「行」的歸屬
  • 可擴充:廠商可以加自己的 metadata 而不破壞相容
  • 人類與 Agent 都可讀:不需要特殊工具也能看懂

刻意不處理的事

Agent Trace 不談程式碼的「所有權」或著作權,也不追蹤訓練資料來源、不評價 AI 產出好壞,也不規定要用什麼 UI——純粹是資料格式與概念

貢獻者類型

每一段程式變更都可以標記來源:

類型說明
human人寫的
aiAI 產生的
mixed人改過 AI 的產出,或 AI 改過人的程式碼
unknown無法判斷

還可以帶上 model_id(例如 anthropic/claude-opus-4-5-20251101),照 models.dev 的命名慣例。

Trace Record 結構:版本、檔案清單與行範圍

Trace Record 長什麼樣?

一筆 Trace 會包含:版本、ID、時間戳、版控資訊(git / jj / hg / svn)、工具名稱與版本,以及「檔案清單」。

每個檔案底下有「對話」清單,每個對話有:

  • URL:可連回產生這段程式碼的對話
  • 貢獻者類型
  • 行範圍start_lineend_line

必要時還可以加 content_hash,方便在程式碼搬移後仍能對應到同一段貢獻。

結論

Agent Trace 讓「這段程式是誰/哪個 AI 寫的」變成可記錄、可查詢的結構化資料,而且格式開放、與工具無關。 對重視可追溯性與合規的團隊,值得先了解一下。

之後若 Cursor、Claude Code 等工具都支援寫入 Agent Trace,code review 或合規稽核時就可以直接看「這段是誰改的、用的哪個模型」,對團隊協作與審計會很有幫助。

References

  1. Agent Trace 官網

關鍵字

Agent Trace, AI 程式碼歸屬, Cursor, Claude Code, 開源規格, RFC, 程式碼追蹤, 結構化資料, 版控, 開發協作

贊助內容