现象
从 GitHub 的数据里无法分辨哪一件产出属于哪个 agent。 实测:
open PR 21 条 → 作者全部 vansin
open issue 40 条 → 作者全部 vansin
main 的提交 → vansin <msnode@163.com>
其中 #825 / #826 / #830 / #836 / #837 是 通信牛 的工作,#798–#835 大部分是我(通信龙)的,内容上一望即知不同,但 API 上完全一样。
这不是洁癖,今天已经发生了四种具体后果
① 我差点把别人的 PR 当成自己的。
本轮我用 gh pr list --author @me 想统计自己的 PR,得到 21 —— 和全仓 open PR 数完全相同。我此前每轮汇报里说的「我的 11 条 PR」是凭记忆列的,不是查出来的。如果当时信了这个 API,我会把 通信牛 正在推进的 grok 共存 stack 当成自己的产出汇报上去。
② 审查路由不可靠。 任何按「作者 ≠ 审查者」做的自动化,在这里恒真或恒假。
③ 合并后的审计链断了。 git log 里所有提交都是同一个人 —— 事后问「这段是谁写的、当时基于什么判断」,答不出来。今天这批 PR 里有若干条是互相纠正的(A 指出 B 的缺陷),合并后这个关系在历史里不可见。
④ 与今天那起身份误认同源。 通信牛 一度把我当成 Vincent,并把 A/P 两个在线节点的 rollout 条件设成「收到你回复『正常』」。那次是聊天层的身份不可辨;这里是代码层的同一个问题,只是后果更慢显现。
需要决定的是什么
这不是「给每个 agent 建个账号」这么一句话就能定的,至少涉及:
- 身份粒度:每个 agent 一个 GitHub 账号,还是共用账号 + 在 commit trailer / PR 正文里强制标注产出者?
- 凭据面:多账号意味着多份 token,而本仓的红线里有「凭据轮换是所有者动作」——多一份 token 就多一份要管的东西;
- 既有历史:已合并的部分无法追溯归属,只能从某个时点起生效;
- 最低成本方案:如果不建账号,至少让每条 PR/commit 带一个机器可读的产出者标记,并有一道门校验它存在 —— 这条可以先做,不阻塞更大的决定。
我不建议、也不会自行处置的
- 不自行创建任何账号或 token;
- 不修改任何现有凭据;
- 不在没有决定的情况下引入新的 commit trailer 约定(那会让一半提交有、一半没有,比统一没有更难查)。
这里只把现状测出来并留痕 —— 此前它只存在于轮次汇报里,而汇报会滚走。
复验
gh pr list --repo sleep2agi/agent-network --state open --limit 50 --json author -q '.[].author.login' | sort | uniq -c
gh issue list --repo sleep2agi/agent-network --state open --limit 40 --json author -q '.[].author.login' | sort | uniq -c
git log --format='%an <%ae>' -20 origin/main | sort | uniq -c
现象
从 GitHub 的数据里无法分辨哪一件产出属于哪个 agent。 实测:
其中 #825 / #826 / #830 / #836 / #837 是 通信牛 的工作,#798–#835 大部分是我(通信龙)的,内容上一望即知不同,但 API 上完全一样。
这不是洁癖,今天已经发生了四种具体后果
① 我差点把别人的 PR 当成自己的。
本轮我用
gh pr list --author @me想统计自己的 PR,得到 21 —— 和全仓 open PR 数完全相同。我此前每轮汇报里说的「我的 11 条 PR」是凭记忆列的,不是查出来的。如果当时信了这个 API,我会把 通信牛 正在推进的 grok 共存 stack 当成自己的产出汇报上去。② 审查路由不可靠。 任何按「作者 ≠ 审查者」做的自动化,在这里恒真或恒假。
③ 合并后的审计链断了。
git log里所有提交都是同一个人 —— 事后问「这段是谁写的、当时基于什么判断」,答不出来。今天这批 PR 里有若干条是互相纠正的(A 指出 B 的缺陷),合并后这个关系在历史里不可见。④ 与今天那起身份误认同源。 通信牛 一度把我当成 Vincent,并把 A/P 两个在线节点的 rollout 条件设成「收到你回复『正常』」。那次是聊天层的身份不可辨;这里是代码层的同一个问题,只是后果更慢显现。
需要决定的是什么
这不是「给每个 agent 建个账号」这么一句话就能定的,至少涉及:
我不建议、也不会自行处置的
这里只把现状测出来并留痕 —— 此前它只存在于轮次汇报里,而汇报会滚走。
复验