Claude 从未见过 68% 的 Claude Code 文档
每个 Claude 模型都是从其训练截止日期时的文档中学会 Claude Code 的。此后文档仍在不断变化。我们按周回放了它的历史,以衡量两者已经相隔多远。
68%
最新的模型 Fable 5.1、Opus 5.5、Sonnet 5.5 和 Haiku 5.5 的可靠知识截止日期是 2026 年 6 月。从 6 月底到 10 月 15 日,文档从 107 页增长到 164 页,如今文档所说的大部分内容都写于这三个半月里。若按更严格的方式计算,即按确切措辞而非按事实,这一比例升至 72%。去掉代码示例则是 70%。无论怎么算,Claude 都从未见过自己手册的大部分内容。
每个模型从未见过什么
截止日期越早,模型能读到的今天的文档就越少。这些模型目前都仍可通过 Claude API 使用。
≥ marks cutoffs before July 2025, where the history starts: those models saw even less, so the true share is higher.
Claude Haiku 4.5 的截止日期是 2025 年 2 月,早于几乎所有内容:Claude Code 就在那个月以研究预览版发布,而今天文档的几乎全部内容都出现在之后。
选择你学习 Claude Code 的那一周
同样的算术也适用于人。把滑块移到你阅读文档的那一周,或你正在跟着学的教程的日期。
文档不只是扩充,还会被重写
增长解释了差距的大部分,但不是全部。页面也会被重写。下面每一条色带是一个季度内写下的文本;随着其中的句子被删除或修改,色带会变细。
- Already there in July 2025
- 2025 Q3
- 2025 Q4
- 2026 Q1
- 2026 Q2
- 2026 Q3
- 2026 Q4
Show the data
| Week | Before Jul 2025 | 2025 Q3 | 2025 Q4 | 2026 Q1 | 2026 Q2 | 2026 Q3 | 2026 Q4 |
|---|---|---|---|---|---|---|---|
| 2025年7月 | 2,845 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025年9月 | 2,284 | 1,521 | 0 | 0 | 0 | 0 | 0 |
| 2025年11月 | 2,237 | 1,561 | 1,871 | 0 | 0 | 0 | 0 |
| 2025年12月 | 2,055 | 1,462 | 3,561 | 0 | 0 | 0 | 0 |
| 2026年2月 | 1,513 | 1,005 | 2,605 | 6,204 | 0 | 0 | 0 |
| 2026年4月 | 1,381 | 955 | 2,314 | 8,540 | 5,340 | 0 | 0 |
| 2026年6月 | 1,241 | 802 | 1,991 | 7,828 | 13,619 | 0 | 0 |
| 2026年8月 | 947 | 663 | 1,812 | 7,266 | 12,618 | 14,661 | 0 |
| 2026年10月 | 885 | 608 | 967 | 6,269 | 10,535 | 32,324 | 5,895 |
| 2026年10月 | 869 | 598 | 957 | 6,206 | 10,426 | 31,708 | 9,333 |
2025 年 7 月,文档有 29 页。如今有 164 页,句子和代码行数是当时的 21 倍。在 2025 年 7 月的文档中,仍然有效的只有 30.5%;其余部分要么被删除,要么被重写,数字、标志或名称都变了。就连最新模型看到的 2026 年 6 月文档,也在不到四个月里失去了 26.9% 的事实。
一句话能维持多久
追踪每一句话,从它出现的那一周到它消失的那一周,其中一半会在 196 天内消失或被改写。如果只有改动数字、标志、路径或名称的改写才算数,那么一半的事实会在 266 天内消失:约九个月。
- Same facts, any wording: half gone after 266 days
- Exact wording: half gone after 196 days
你的模型从未听说过的东西
这些是今天参考表中、但在某个模型的截止日期时尚不存在的标识符:CLI 标志、斜杠命令、hook 事件和环境变量。向 Claude 问起其中任何一个,它只能猜。
203 identifiers are in the reference tables today that were not there on 2026年6月24日. CLI flags 11
--append-subagent-system-prompt--append-subagent-system-prompt-file--autocompact--cloud--desktop--environment--forward-subagent-text--permission-prompts--ref--restricted--system-prompt-snapshotSlash commands 21
/artifact-capabilities/artifact-diagramming/artifacts/auto-mode-setup/autocompact/bug/claude-in-chrome/dataviz/design/design-login/design-sync/import/list-agents/output-style/plugin-authoring/rate-limit-options/skill-doctor/slides/subtask/update-config/workflow-authoringHook events 3
DirectoryAddedPostModelSwitchPreModelSwitchEnvironment variables 168
Show all 168
ANTHROPIC_BEDROCK_REGION_PREFIXANTHROPIC_DEFAULT_MODELANTHROPIC_FEDERATION_RULE_IDANTHROPIC_FOUNDRY_AUTH_TOKENANTHROPIC_ORGANIZATION_IDANTHROPIC_PROFILEBETA_TRACING_ENDPOINTCCR_SESSION_ACCOUNT_EMAILCLAUDE_AFK_COUNTDOWN_MSCLAUDE_AFK_TIMEOUT_MSCLAUDE_AX_PREPARK_MSCLAUDE_AX_STARTUP_QUIET_MSCLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MSCLAUDE_CODE_ARTIFACT_COMMENTSCLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACTCLAUDE_CODE_ARTIFACT_PUBLISH_EDITSCLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDSCLAUDE_CODE_AUTO_MODE_SERVERCLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MSCLAUDE_CODE_BASH_EDIT_DIFFCLAUDE_CODE_BG_TASKS_REPORT_RUNNINGCLAUDE_CODE_BRIDGE_SESSION_IDCLAUDE_CODE_BS_AS_CTRL_BACKSPACECLAUDE_CODE_DISABLE_ADMIN_ENV_UNIONCLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCKCLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULTCLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARDCLAUDE_CODE_DISABLE_BG_EXIT_HANDOFFCLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAPCLAUDE_CODE_DISABLE_CFC_PROMPTCLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUTCLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTSCLAUDE_CODE_DISABLE_FILE_MENTIONSCLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPTCLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACKCLAUDE_CODE_DISABLE_MOUSE_CLICKSCLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTIONCLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECKCLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKSCLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENYCLAUDE_CODE_DISABLE_REFUSAL_FALLBACKCLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTSCLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPTCLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENTCLAUDE_CODE_DISABLE_WEB_FETCHCLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHERCLAUDE_CODE_EMIT_SESSION_STATE_EVENTSCLAUDE_CODE_ENABLE_CFCCLAUDE_CODE_ENABLE_TODO_TOOLSCLAUDE_CODE_FORCE_TERMINAL_IMAGESCLAUDE_CODE_FORWARD_SUBAGENT_TEXTCLAUDE_CODE_GATEWAY_HINT_HEADERSCLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MSCLAUDE_CODE_GOAL_CHECKIN_MINUTESCLAUDE_CODE_GZIP_REQUEST_BODIESCLAUDE_CODE_IDLE_COMPACT_MIN_TOKENSCLAUDE_CODE_MAX_CONCURRENT_SUBAGENTSCLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTHCLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONCLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTHCLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSIONCLAUDE_CODE_MCP_AUTO_BACKGROUND_MSCLAUDE_CODE_MCP_STARTUP_WAIT_MSCLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUTCLAUDE_CODE_MESSAGING_SOCKETCLAUDE_CODE_MESSAGING_TOKENCLAUDE_CODE_NONBLOCKING_STDOUTCLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIESCLAUDE_CODE_OTEL_CONTENT_MAX_LENGTHCLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MSCLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MSCLAUDE_CODE_PLUGIN_DIRSCLAUDE_CODE_PLUGIN_DIR_WATCHCLAUDE_CODE_PROCESS_WRAPPERCLAUDE_CODE_PROJECT_DIR_NAMECLAUDE_CODE_PROMPT_CACHE_TTLCLAUDE_CODE_REMOTE_MCP_CONFIGCLAUDE_CODE_REMOTE_SESSION_UUIDCLAUDE_CODE_REMOTE_SLACK_THREAD_TSCLAUDE_CODE_REMOTE_SLACK_THREAD_URLCLAUDE_CODE_RESTRICTEDCLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MSCLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MSCLAUDE_CODE_SEND_FEEDBACKCLAUDE_CODE_SESSION_ACCESS_TOKENCLAUDE_CODE_SKIP_AWS_CRED_CACHECLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORSCLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECKCLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORYCLAUDE_CODE_STARTUP_FAILURE_RESULTSCLAUDE_CODE_SUBAGENT_MODEL_FORCECLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTLCLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MSCLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDECLAUDE_CODE_TOOL_MEMORY_LIMITCLAUDE_CODE_TRANSCRIPT_LOCAL_GCCLAUDE_CODE_USER_DIALOG_TIMEOUT_MSCLAUDE_CODE_WEBFETCH_CACHE_TTL_MSCLAUDE_CODE_WEBFETCH_DEADLINE_MSCLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOURCLAUDE_CODE_WORKER_CHECKIN_SCHEDULECLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTSCLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MSCLAUDE_CODE_YOU_SHOULD_KNOW_DEBUGCLAUDE_DISABLE_ADOPTCLAUDE_JOB_DIRCLAUDE_PIDCLAUDE_PLUGIN_ROOTCLAUDE_RUNNER_ACCOUNT_EMAILCLAUDE_RUNNER_ACCOUNT_IDCLAUDE_RUNNER_API_BASE_URLCLAUDE_RUNNER_ATTEMPTCLAUDE_RUNNER_CHECKOUT_PATHCLAUDE_RUNNER_CLAUDE_BINCLAUDE_RUNNER_CLIENT_PLATFORMCLAUDE_RUNNER_CORRELATION_IDCLAUDE_RUNNER_DEBUG_LOG_PATHCLAUDE_RUNNER_EXIT_REASONCLAUDE_RUNNER_FETCH_DEPTHCLAUDE_RUNNER_FETCH_SERVER_PROGRESS_CAP_MSCLAUDE_RUNNER_ORDER_IDCLAUDE_RUNNER_ORDER_SERVER_TIMECLAUDE_RUNNER_POOL_IDCLAUDE_RUNNER_PRIMARY_REPO_REVISIONCLAUDE_RUNNER_PRIMARY_REPO_URLCLAUDE_RUNNER_REPO_REFCLAUDE_RUNNER_REPO_SOURCESCLAUDE_RUNNER_REPO_URLCLAUDE_RUNNER_SESSION_IDCLAUDE_RUNNER_SESSION_UUIDCLAUDE_RUNNER_SKIP_GIT_VERIFYCLAUDE_RUNNER_WORKSPACE_PATHSCLAUDE_RUNNER_WORK_ORDER_FILECLAUDE_SESSION_INGRESS_TOKEN_FILECLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MSCLAUDE_SUBAGENT_BG_SHELL_MAX_MSCRYPT_E_NO_REVOCATION_CHECKDATABASE_URLENABLE_BETA_TRACING_DETAILEDFORCE_HYPERLINKGITHUB_TOKENGIT_CONFIG_COUNTMCP_DISCOVERY_CACHEMCP_DISCOVERY_CACHE_MAX_STALE_SMCP_DISCOVERY_CACHE_STRIKESMCP_DISCOVERY_CACHE_TTL_SMCP_PROTOCOL_NEGOTIATIONMCP_SDK_GENERATIONNPM_TOKENOTEL_ATTRIBUTE_VALUE_LENGTH_LIMITOTEL_EXPORTER_OTLP_LOGS_HEADERSOTEL_EXPORTER_OTLP_METRICS_HEADERSOTEL_EXPORTER_OTLP_TRACES_HEADERSOTEL_LOG_ASSISTANT_RESPONSESOTEL_LOG_MANAGED_SETTINGSOTEL_METRICS_INCLUDE_REPOSITORYPIP_INDEX_URLSELF_HOSTED_RUNNER_BG_RESULT_GRACE_MSSELF_HOSTED_RUNNER_HOST_CONFIG_DIRSELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MSSELF_HOSTED_RUNNER_POST_TURN_SETTLE_MSSELF_HOSTED_RUNNER_SIGKILL_GRACE_MSVERTEX_REGION_CLAUDE_5_5_OPUSVERTEX_REGION_CLAUDE_5_5_SONNETVERTEX_REGION_CLAUDE_5_OPUSVERTEX_REGION_CLAUDE_5_SONNETVERTEX_REGION_CLAUDE_FABLE_5_1VERTEX_REGION_CLAUDE_HAIKU_5_5No longer documented 1
CLAUDE_CODE_TEAM_NAME
"文档记录之始"不等于"发布之始":其中少数早已存在,只是后来才进入文档。无论哪种情况,模型都没有可供学习的页面。
把清单交给 Claude
since-cutoff 插件会把这些清单放到 Claude 面前。会话启动时,一个 hook 读取正在运行的是哪个模型,并向其上下文添加一条简短的说明:在该模型截止日期之后才有文档记录的标志、命令和 hook 事件,以及一条指令——在依赖记忆或声称某功能不存在之前,先查阅文档。
claude plugin marketplace add derob98/ailmanac --sparse .claude-plugin plugins
claude plugin install since-cutoff@ailmanac
这个 hook 只有几行 POSIX shell:不需要 Node,不联网,每个会话约 400 到 750 个 token。当 Claude Code 没有把模型传给 hook 时,例如在我们的无头 -p 测试中,说明会列出自 2026 年 6 月以来的变化,这对每个 Claude 模型都成立。在那次测试中,会话收到了说明,Claude 把它一字不差地复述了出来。
该怎么做
- 不要相信 Claude 对 Claude Code 的记忆。 对于标志、设置、hook 和命令,让它去读页面。Claude Code 自带一个回答自身问题的向导代理,文档也在 code.claude.com/docs/llms.txt 发布了索引。
- 给你的教程标注日期。 六个月前的指南已经失去了三分之一以上的事实。复制其中的命令之前,请对照文档检查任何更早的内容。
- 优先选择注明核实时间的页面。 本站每个页面都带有最后一次核实的日期;新鲜度仪表盘列出了所有页面,Deprecation & Migration Watch 则追踪被移除的内容。
我们如何测量
- 历史。 web3dev1337/claude-code-docs 是一个知名文档镜像的分叉,保留了完整的同步历史:2025 年 7 月至 2026 年 10 月之间共 3,604 次同步。我们取每周的最后一次同步,共 67 份快照。
- 范围。 除变更日志和每周摘要(它们本来就是为记录历史而存在)以及 Agent SDK 页面(2026 年从另一个文档站点迁入,否则会被算作新增)之外的所有 Claude Code 页面。
- 单位。 每个页面被拆分为句子、表格行和代码行,去除链接和标记。同时出现在五个或更多页面上的行,例如横幅或通用代码行,会被丢弃。最终剩下 90,674 个不同的单位可供追踪。
- 消失。 一个单位在连续两份每周快照中缺失,或在最新一份快照中缺失,就算消失,因此某个页面在一次同步中失败不会被计入。
- 事实。 同一周内,替换了一句被删除句子的新句子,如果至少 60% 的词相同,且每个数字、标志、路径和标识符都完全一致,就被视为同一个事实。用这种方法关联了 7,965 处改写。
- 截止日期。 每个模型与其截止月份最后一天或之前的最后一份每周快照比较,这是最宽松的解读。早于 2025 年 7 月的截止日期使用第一份快照,而它包含的内容已经多于这些模型可能见过的内容:它们的占比是下限。
- 存活。 对第一份快照之后产生的所有单位做 Kaplan–Meier 估计,至今仍然存在的单位按删失处理。
这个镜像并非官方:如果它漏掉或弄乱了某个页面,数字也会随之带有偏差。我们检查了截止日期所在的几周,看是否有页面在一次同步中消失,没有发现。这项分析比较的是文本,而不是产品行为。
复现
脚本及其输出都在本站的仓库中:scripts/research/docs-decay.mjs 和 data/research/claude-code-docs-decay.json。需要 Node 和 git,运行约 15 秒:
git clone https://github.com/web3dev1337/claude-code-docs
git clone https://github.com/derob98/ailmanac
node ailmanac/scripts/research/docs-decay.mjs claude-code-docs