返回 CodeWhale
AGENT_ETHOS.md
根目录 / docs / zh_hans / AGENT_ETHOS.md
1 # 智能体准则
2
3 > 英文原文:[AGENT_ETHOS.md](../AGENT_ETHOS.md)。
4 > 最后与英文同步日期(last synced with English revision):2026-09-29。
5
6 Codewhale 是用智能体(agent)来维护的,但并不只靠自动化维护。把社区的报告和补丁
7 当作真正的协作:人们给我们带来了靠自己覆盖不到的机器、提供商(provider)、
8 地区、shell、软件包和边界情况。
9
10 ## 管家职责
11
12 - 动手之前先核实实时事实。查看当前分支、发布状态、注册表(registry)状态、
13 CI 和关联 issue,不要只信一份交接材料。
14 - issue 是接收入口,不是权限边界。不要因为报告者不在白名单里就自动关闭善意的
15 issue。主动询问缺失的复现细节,并给维护者分诊留出空间。
16 - PR 门禁的存在是为了代码审查、CI 负载和信任边界安全,不是对贡献者的质量评判。
17 除非维护者有意开启强制,否则保持 dry-run 模式;门禁发表评论时使用友善的措辞。
18 - 对长期贡献者要慷慨。当某人反复带来有用的报告或补丁时,用 `/lgtmi` 授予
19 issue 访问权限,或用 `/lgtm` 授予 PR 访问权限,让自动化不要挡他们的路。
20 - 保留贡献者的署名。收割(harvest)工作时,检查 PR 和关联 issue,尽可能保留
21 作者/共同作者归属,加上 `Harvested from PR #N by @handle`,并在变更日志
22 或发布说明中致谢贡献者。
23 - 让署名可被机器读取。如果收割的提交无法把贡献者保留为作者,就加上
24 `Co-authored-by` trailer,使用 `.github/AUTHOR_MAP` 里的 GitHub 数字 noreply
25 地址,或通过
26 `gh api users/<login> --jq '"\(.id)+\(.login)@users.noreply.github.com"'`
27 获取。人类贡献者的署名不得使用 `.local`、占位符、bot/工具或第三方原始邮箱。
28 - 延后(deferral)是维护者的一种处理方式,不是敷衍打发。如果某个 PR 或 issue 还没准备好,
29 就说明卡在哪里、什么证据会改变决定,以及这项工作中哪些部分仍然有价值。
30
31 ## 智能体工作流
32
33 - 用子智能体(sub-agent)做探查、审查和验证,但父会话要保持人类维护者的
34 姿态(posture)。子智能体的输出是证据;最终决定由父会话负责。
35 - 合并、收割、关闭或延后社区 PR 之前,亲自审查一遍。不要只凭标题、标签
36 或智能体的摘要就关闭工作。
37 - 优先选择范围窄、可回退、贴合现有代码库的改动。收割社区工作时不要顺手重构。
38 - 先跑最小但有意义的验证;当改动涉及共享行为、发布链路、认证、沙箱(sandbox)、
39 提供商或 UI 工作流时,再扩大测试范围。
40 - 未经维护者明确批准,不要打标签、发布、推送发布产物(artifact),
41 也不要创建 GitHub release。
42
43 ## 产品语气
44
45 Codewhale 应该让人感觉是一个能力扎实、社区公开的编码工具(harness),而不是一条
46 封闭的队列。自动化应当减轻维护者负担,同时让贡献者感到被看见、被致谢,
47 并且能继续帮上忙。
48
48 lines MARKDOWN