Memory 不是同一个东西
Claude Code 把 CLAUDE.md 和 auto memory 都放进会话启动上下文;Codex 用 AGENTS.md 做确定性指导,memories 默认关闭,是本地生成的回忆层。
结论先说:两者都在往同一套“本地指令 + 可调用技能 + 外部工具协议 + 并行 agent”收敛,但真正自动互通的只有 MCP;memory 和 agent 配置仍然是各家的运行时私有层。
Claude Code 把 CLAUDE.md 和 auto memory 都放进会话启动上下文;Codex 用 AGENTS.md 做确定性指导,memories 默认关闭,是本地生成的回忆层。
两边都支持 SKILL.md,都强调 progressive disclosure:先看 name/description,需要时再读完整说明、脚本、references。区别在扫描目录和分发机制。
MCP server 暴露 tools/resources/prompts。Claude 和 Codex 都能接,但配置文件不同:Claude 走 .mcp.json/~/.claude.json;Codex 走 config.toml。
CLAUDE.md + auto memory支持 managed/user/project/local scope;auto memory 每个 repo 共享到 worktree,启动加载前 200 行或 25KB。Subagent 可有自己的 persistent memory。
AGENTS.md + memoriesAGENTS.md 是必读项目指导;memories 默认关闭,开启后写入 ~/.codex/memories/,用于稳定偏好、工作流、坑点。
内容可以人工同步,但 Claude 不会天然把 AGENTS.md 当 CLAUDE.md;Codex 也不会天然读取 CLAUDE.md 当主规则。
settings.json + scope precedenceUser: ~/.claude/settings.json;Project: .claude/settings.json;Local: .claude/settings.local.json;Managed policy 最高优先级。
~/.codex/config.tomlCLI flags / profile / project .codex/config.toml / user / system / defaults 分层。Project config 只在 trusted project 加载。
JSON vs TOML;权限、sandbox、model provider、hook、profile 字段都不能直接拷贝,需要迁移映射。
~/.claude/agents/ 或 .claude/agents/;frontmatter 定义 name/description/tools/model/permissions;Claude 可基于 description 自动委派。
~/.codex/agents/ 或 .codex/agents/;内置 default/worker/explorer;Codex 只在用户明确要求 subagents 时 spawn。
“explorer / reviewer / worker”这种分工可以共享;实际文件格式、触发策略、权限继承不同。
.claude/skills/<name>/SKILL.md支持 bundled skills、自定义 slash command、自动触发、动态上下文注入、subagent execution。Personal/project/plugin/enterprise 多层级。
.agents/skills/<name>/SKILL.md支持 name/description progressive disclosure;可带 scripts/references/assets;插件是分发单位;可用 agents/openai.yaml 声明 UI 和 MCP 依赖。
SKILL.md 内容最接近可复用纯说明型 skill 最容易双用;涉及动态注入、tool id、MCP dependency、slash command 的部分需要适配。
配置通常在 ~/.claude.json 或项目 .mcp.json;也可通过 UI/CLI 管理。Scope 与 settings 并列。
[mcp_servers.*]放进 config.toml;支持 stdio / streamable HTTP、OAuth、tool allow/deny list、per-tool approval mode。
同一个 MCP server 可以同时给两边用;差异主要是启动命令、env、OAuth、tool approval 的客户端配置。
读取多层 CLAUDE.md、rules、settings、可用 subagents/skills/MCP。它更像一个“进项目先读团队手册”的协作者。
auto memory 适合记录 build command、debug insight、偏好和项目模式;官方明确说它是 context,不是强制配置。
描述写得好,Claude 会在合适任务上把探索、计划、通用工作交给独立 context 的 subagent,主会话只拿 summary。
当 CLAUDE.md 里的内容从“事实”变成“步骤”,就应该抽成 skill,让完整说明按需加载。
config.toml 控 model、provider、sandbox、approval、features、MCP、hooks、agent defaults。它更像一个“工程运行时”。
全局 ~/.codex/AGENTS.md 管个人协作偏好;repo/nested AGENTS.md 管团队规则,越靠近工作目录越具体。
Codex 文档强调“只在你明确要求时 spawn”。这更可控,也更适合你在 Telegram topic 里说“开 4 个 agent 分别查”。
Codex hooks 可以接入 PreToolUse、PostToolUse、Stop 等事件;plugins 可以打包 skills、MCP、app mapping 和展示资产。
最强互通层。同一 GitHub/Figma/Playwright/docs server 可以服务 Claude Code 和 Codex,只是 client config 分别写。
纯 prompt workflow 很接近。涉及路径、动态命令、tool 名称、MCP dependency、UI metadata 时需要双端 shim。
“reviewer / explorer / worker”角色设计可复用;Claude 用 Markdown agent,Codex 用 TOML agent,自动触发策略不同。
Claude auto memory 和 Codex memories 都是各自生成状态,不该当共享数据库。要共享就写成 repo docs、AGENTS/CLAUDE mirror 或接 MCP memory server。
如果你要同时用 Claude Code、Codex、OpenClaw topic agent,最稳的做法不是幻想它们读取同一份私有 memory,而是把“必须遵守的规则”放进 repo,把“可复用流程”做成 skill,把“外部能力”放到 MCP。
也就是说:规则文档负责确定性,skills 负责复杂流程,MCP 负责真实工具,memory 只负责个人偏好和近期上下文。