mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 14:25:51 +00:00
移除 TypeScript 代码和源码行号引用, 聚焦构建时常量折叠的死代码消除机制、 Beta Header 的端到端功能隔离和 ABLATION_BASELINE 的实验设计。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
117 lines
4.6 KiB
Plaintext
117 lines
4.6 KiB
Plaintext
---
|
||
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** — 理解功能开关的设计
|
||
- **权限模型** — 理解身份门控与权限的协作
|