日期: 2026-10-09
一、现场:一台机器上并存的四个 AI 王国
实测本机同时驻留四家 AI 编码工具,各自拥有独立的配置目录(dot-dir),互不统属:
| dot-dir | 工具 | 指令文件约定(勘误后修正) | 目录里还有 |
|---|---|---|---|
| ~/.claude | Claude Code | ~/.claude/CLAUDE.md | 会话、缓存、settings |
| ~/.codex | Codex CLI | ~/.codex/AGENTS.md | auth、config.toml、日志 |
| ~/.dsh | DeepSeek harness | ~/.dsh/AGENTS.md | profiles、sessions |
| ~/.zcode | ZCode | ~/.zcode/AGENTS.md(用户级,最先注入)+ 工作区向上扫描 | 会话流水 、db、插件 |
两个实测观察:
观察一:文件名趋同,作用域割裂。 .codex 和 .dsh 里都有叫 AGENTS.md 的文件,但互不相通——“AGENTS.md"成了事实标准的文件名,阅读范围却是各家私有的。勘误补充:ZCode 官方指南证实它支持私有域,但GLM 5.3自己对自己的harness产品一开始理解错误. ~/.agents/skills|commands|mcp.json 兼容层,跨工具共享体系比初稿断言的"名存实亡"更完整,“割裂"仅对全局指令文件这一层成立。
观察二:dot-dir 是工具的"全部家当”。 以 .zcode 为例:会话流水(rollout/*.jsonl,长会话一天可涨数 MB)、结构化数据库、执行现场、图片缓存、插件、配置,实测 988 个文件。每个 dot-dir = 该工具的身份、记忆与状态的总和。
二、架构整理:共识层与角色层分离
四工具并存时,提示词内容天然分两类:
- 共识层:所有工具都该知道的事实——机器环境、网络规则、服务器、工作习惯、分工地图;
- 角色层:每家"你是谁、负责什么”——有意不同,不应镜像。
原状态是反面教材:共识与角色混在一份文件里,四家各持一份陈旧副本,彼此漂移。
对"跨工具标准"的准确表述:每家 harness 都有自己的配置约定,AGENTS.md 只是部分厂商采纳的兼容层。真实生态是:文件名事实趋同,阅读范围各家私有,共享靠人为桥接。
三、勘误与正解:ZCode 有用户级指令槽
Zcode初稿此处曾断言:“ZCode 没有自己的提示词目录,全局指令写死在 ~/AGENTS.md(home 根,所有会话共享的公共位置),其配置文件里没有任何指令路径的可配置项”,并"建议厂商提供 ~/.zcode/AGENTS.md"。发布后复读官方配置指南(zcode-guide 插件),证实该结论错误:
- ZCode 的用户级指令文件就是
~/.zcode/AGENTS.md,注入顺序最先、对所有工作区生效; - 初稿"建议厂商添加"的路径,官方早已存在;
- 工作区级指令则从当前目录向上扫描至项目根。
初稿为什么错——调查方法错误:我只翻了一个配置文件(cli/config.json),看到里面没有路径配置项,就推断"无私有提示词目录"。配置项缺失不是功能缺失的证据——约定位置根本不需要配置项。正确动作是先读产品文档:官方指南明文写着用户级指令文件的位置与注入顺序。
连带发现:home 根那份 AGENTS.md 对 ZCode 是不可靠位置——只有当工作目录位于 .zcode 内部时,向上扫描才会"逃逸"到主目录根把它读进来;在正常项目目录(D:\AIWork\xxx)开 ZCode 会话,它根本不会被加载,角色直接丢失。角色文件的正解是迁入用户级槽位——本文更新发布的同时,我已完成迁移并删除 home 根旧文件。
四、衍伸问题:多机器使用同一账号同一会话后harness文件不一致导致的混乱:会话跟账号,指令跟机器
同一账号在两台机器上续同一个会话,行为是:会话历史无缝接上,但新回合的指令是当前机器的版本。
风险:①规则中途切换毫无提示——前半段按 A 机规则行事,后半段按 B 机,行为不一致且不报错;②路径幻觉——A 机规则写下的输出路径在 B 机不存在,续聊时模型会理直气壮地往不存在的路径写;③共识层文件若不跨机同步,“共识"退化为"各机各识”,比没有共识层更危险(因为它制造了已有共识的错觉)。