Files
claude-code/docs/internals/ant-only-world.mdx
claude-code-best 463059b270 docs: 重写 Ant 特权世界,从源码枚举改为身份门控设计分析
移除 TypeScript 代码和源码行号引用,
聚焦构建时常量折叠的死代码消除机制、
Beta Header 的端到端功能隔离和 ABLATION_BASELINE 的实验设计。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 11:03:55 +08:00

117 lines
4.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Ant 特权世界"
description: "Anthropic 内部构建与公开发布版本的差异。理解身份门控机制、Ant-Only 工具/命令和 Beta Header 的分层设计。"
keywords: ["Ant 特权", "USER_TYPE", "身份门控", "内部功能"]
---
## 什么是 Ant
Claude Code 有两种构建Anthropic 员工使用的内部构建(`USER_TYPE === 'ant'`)和公开发布的外部构建(`USER_TYPE === 'external'`)。
`USER_TYPE` 是构建时常量,通过 Bun 的 `--define` 注入。外部构建中,所有 `process.env.USER_TYPE === 'ant'` 判断被编译器折叠为 `false`后续代码被死代码消除DCE移除。
这个门控在代码库中出现 410+ 处控制着工具、命令、API、UI 等方方面面。
## Ant-Only 工具
| 工具 | 用途 |
|------|------|
| **REPLTool** | 高级 REPL 模式——在 VM 中包装其他工具 |
| **ConfigTool** | 交互式配置编辑器,包含 Gates 标签页覆盖 feature flags |
| **SuggestBackgroundPRTool** | 建议在后台创建 PR |
| **TungstenTool** | 基于 tmux 的终端面板工具 |
**设计考量**:这些工具要么涉及内部基础设施(如 GrowthBook flag 覆盖),要么需要 Anthropic 特有的 API 支持。对外部用户暴露它们没有意义——甚至可能引起混淆。
## Ant-Only 命令
内部构建注册了 24+ 个额外的斜杠命令,覆盖调试、实验、工作流和基础设施:
<AccordionGroup>
<Accordion title="调试类">
- `breakCache` — 清除缓存
- `ctx_viz` — 可视化上下文窗口使用情况
- `debugToolCall` — 调试工具调用
- `env` — 显示环境变量
- `mockLimits` — 模拟速率限制
</Accordion>
<Accordion title="工作流类">
- `commit` — 快速提交
- `commitPushPr` — 一键提交+推送+创建 PR
- `issue` — 创建 GitHub Issue
- `autofixPr` — 自动修复 PR 中的问题
- `share` — 分享会话
- `summary` — 生成摘要
</Accordion>
<Accordion title="基础设施类">
- `backfillSessions` — 回填会话数据
- `bridgeKick` — 重启 Bridge 连接
- `oauthRefresh` — 刷新 OAuth Token
</Accordion>
</AccordionGroup>
这些命令在演示模式(`IS_DEMO`)下也被隐藏,防止在公开演示中暴露内部功能。
## Beta API Headers 的分层
Claude Code 向 API 发送的 beta headers 按可见性分为多层:
### 公开 Headers所有构建
| Header | 功能 |
|--------|------|
| `claude-code-20250219` | Claude Code 标识 |
| `effort-2025-11-24` | 推理强度控制 |
| `interleaved-thinking-2025-05-14` | 交错思考模式 |
| `context-1m-2025-08-07` | 1M 上下文窗口 |
### Ant-Only Headers
| Header | 功能 |
|--------|------|
| `cli-internal-2026-02-09` | 内部 CLI 功能 |
| `token-efficient-tools-2026-03-28` | Token 高效工具 |
**设计洞察**`cli-internal` header 说明 Anthropic 的 API 服务端也维护着 ant-only 的行为——这不只是客户端门控,而是端到端的功能隔离。
## 内部代号体系
Anthropic 有"动物命名"文化:
| 代号 | 身份 |
|------|------|
| **Tengu**(天狗) | Claude Code 项目代号(所有内部 flag 的 `tengu_` 前缀) |
| **Capybara**(水豚) | 模型代号 |
| **Fennec**(耳廓狐) | 已退役模型别名(已迁移到 Opus |
这些代号通过 Undercover Mode 在公开仓库的 commit 中被过滤。
## 环境变量开关
<AccordionGroup>
<Accordion title="功能禁用开关">
- `CLAUDE_CODE_SIMPLE` — 简化模式(禁用高级功能)
- `CLAUDE_CODE_DISABLE_THINKING` — 禁用 thinking
- `DISABLE_AUTO_COMPACT` — 禁用自动压缩
- `CLAUDE_CODE_DISABLE_AUTO_MEMORY` — 禁用自动记忆
- `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` — 禁用实验性 beta headers
</Accordion>
<Accordion title="功能启用开关">
- `CLAUDE_CODE_VERIFY_PLAN` — 启用 VerifyPlanExecutionTool
- `ENABLE_LSP_TOOL` — 启用 LSP 工具
- `CLAUDE_CODE_UNDERCOVER` — 强制启用 Undercover Mode
</Accordion>
<Accordion title="环境配置">
- `CLAUDE_CODE_REMOTE` — 远程执行模式
- `CLAUDE_CODE_COORDINATOR_MODE` — 启用 Coordinator 模式
- `IS_DEMO` — 演示模式(隐藏内部命令和敏感信息)
</Accordion>
</AccordionGroup>
`CLAUDE_CODE_ABLATION_BASELINE` 特别有趣——它同时关闭 thinking、compaction、auto-memory 和 background tasks用于测量这些高级功能对 AI 表现的**因果影响**。这是一个严肃的"科学对照实验"工具。
## 接下来
- **Feature Flags** — 理解功能开关的设计
- **权限模型** — 理解身份门控与权限的协作