【AIGC】Claude Code 模型配置详解
模型配置解释
一、核心参数含义与作用
这些参数本质是 Anthropic Claude 模型在代码开发场景下的预设标识符,用于简化不同Claude模型版本的调用配置(避免硬编码模型ID),每个参数对应不同定位的Claude模型,具体如下:
| 参数名 | 核心作用 | 适用场景 | 对应官方模型ID示例 |
|---|---|---|---|
ANTHROPIC_MODEL | 通用/顶层模型参数,可覆盖其他默认模型参数,是所有Claude调用的“全局开关” | 统一指定所有代码任务的模型(如全局切换为Sonnet) | 可设为任意Claude模型ID(如claude-3-5-sonnet-20240620) |
ANTHROPIC_DEFAULT_OPUS_MODEL | 预设Claude Opus(旗舰版)模型的标识符,Opus是推理能力最强的模型 | 复杂代码任务(大型项目重构、算法设计、多语言代码整合、核心逻辑开发) | claude-3-5-opus-20240620(最新Opus 3.5)、claude-3-opus-20240229 |
ANTHROPIC_DEFAULT_SONNET_MODEL | 预设Claude Sonnet(平衡版)模型的标识符,性能/速度/成本最优平衡 | 常规代码任务(接口开发、Bug修复、代码注释/重构、逻辑验证)→ 代码开发默认首选 | claude-3-5-sonnet-20240620、claude-3-sonnet-20240229 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | 预设Claude Haiku(轻量版)模型的标识符,速度最快、成本最低 | 轻量代码任务(单行代码生成、语法检查、简单函数编写、快速代码解释) | claude-3-haiku-20240307 |
CLAUDE_CODE_SUBAGENT_MODEL | 指定“代码子代理”的模型,子代理是处理细分代码任务的模块(如单元测试生成、代码风格检查) | 代码子任务(可单独指定模型,如主模型用Sonnet,子代理用Haiku提升速度) | 通常设为Haiku/Sonnet,复杂子任务可设为Opus |
二、配置方法(实战示例)
配置核心是将这些参数映射到Anthropic官方模型ID,推荐两种方式(优先环境变量配置,解耦代码与配置):
场景1:环境变量配置(生产环境推荐)
通过系统/项目环境变量定义参数,代码中直接读取,无需修改代码即可切换模型。
Windows CMD 终端:
set ANTHROPIC_API_KEY=your-api-key-here set ANTHROPIC_MODEL=claude-3-5-sonnet-20240620 set ANTHROPIC_DEFAULT_OPUS_MODEL=claude-3-5-opus-20240620 set ANTHROPIC_DEFAULT_SONNET_MODEL=claude-3-5-sonnet-20240620 set ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-3-haiku-20240307 set CLAUDE_CODE_SUBAGENT_MODEL=claude-3-haiku-20240307 Linux/macOS 终端:
# 配置API Key(必须,从Anthropic控制台获取)exportANTHROPIC_API_KEY="your-api-key-here"# 通用模型参数(全局默认Sonnet)exportANTHROPIC_MODEL="claude-3-5-sonnet-20240620"# 各系列模型默认值exportANTHROPIC_DEFAULT_OPUS_MODEL="claude-3-5-opus-20240620"exportANTHROPIC_DEFAULT_SONNET_MODEL="claude-3-5-sonnet-20240620"exportANTHROPIC_DEFAULT_HAIKU_MODEL="claude-3-haiku-20240307"# 代码子代理模型(轻量任务用Haiku)exportCLAUDE_CODE_SUBAGENT_MODEL="claude-3-haiku-20240307"场景2:代码中直接配置(Python SDK示例)
先安装依赖:
pip install anthropic 完整配置与调用示例:
import os from anthropic import Anthropic # 1. 定义模型参数(优先读环境变量,兜底设默认值) ANTHROPIC_MODEL = os.getenv("ANTHROPIC_MODEL","claude-3-5-sonnet-20240620") ANTHROPIC_DEFAULT_OPUS_MODEL = os.getenv("ANTHROPIC_DEFAULT_OPUS_MODEL","claude-3-5-opus-20240620") ANTHROPIC_DEFAULT_SONNET_MODEL = os.getenv("ANTHROPIC_DEFAULT_SONNET_MODEL","claude-3-5-sonnet-20240620") ANTHROPIC_DEFAULT_HAIKU_MODEL = os.getenv("ANTHROPIC_DEFAULT_HAIKU_MODEL","claude-3-haiku-20240307") CLAUDE_CODE_SUBAGENT_MODEL = os.getenv("CLAUDE_CODE_SUBAGENT_MODEL", ANTHROPIC_DEFAULT_HAIKU_MODEL)# 2. 初始化Anthropic客户端(API Key从环境变量读取) client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))# 3. 不同场景的调用示例# 示例1:常规代码任务(用通用模型)defregular_code_task(prompt): response = client.messages.create( model=ANTHROPIC_MODEL, max_tokens=1024, temperature=0.2,# 代码任务建议低温度,保证准确性 messages=[{"role":"user","content": prompt}])return response.content[0].text # 示例2:复杂代码任务(专用Opus模型)defcomplex_code_task(prompt): response = client.messages.create( model=ANTHROPIC_DEFAULT_OPUS_MODEL, max_tokens=2048, temperature=0.1, messages=[{"role":"user","content": prompt}])return response.content[0].text # 示例3:代码子代理任务(轻量Haiku模型)defcode_subagent_task(prompt): response = client.messages.create( model=CLAUDE_CODE_SUBAGENT_MODEL, max_tokens=512, temperature=0.0, messages=[{"role":"user","content": prompt}])return response.content[0].text # 测试调用if __name__ =="__main__":# 常规任务:生成FastAPI接口print("=== 常规代码任务 ===")print(regular_code_task("写一个FastAPI的用户登录接口,包含手机号+密码校验"))# 复杂任务:设计分布式锁print("\n=== 复杂代码任务 ===")print(complex_code_task("设计基于Redis的Python分布式锁,处理并发和超时问题"))# 子代理任务:语法检查print("\n=== 代码子代理任务 ===")print(code_subagent_task("检查这段代码的语法错误:\n def add(a,b): return a + b \n print(add(1))"))场景3:claude/settings.json配置
非常抱歉之前理解偏差!你提到的 claude/settings.json 是 Claude 代码工具/插件(如 Claude Code、集成 Claude 的 IDE 插件、Claude 桌面端) 的核心配置文件,用于持久化存储模型参数、API 密钥等核心配置,以下是该文件的详细配置方法(聚焦你关注的模型参数):
先明确 settings.json 的核心定位
claude/settings.json 是 JSON 格式的静态配置文件,用于:
- 固化 Claude 各模型的标识符(替代硬编码);
- 统一管理 API 密钥、默认调用参数等;
- 供 Claude 代码工具/插件读取,无需每次调用都指定模型 ID。
第一步:找到 settings.json 的存放路径
不同场景下的默认路径(优先检查):
| 使用场景 | 典型路径 |
|---|---|
| Claude Code 桌面版 | ~/.claude/settings.json(macOS/Linux)、C:\Users\你的用户名\.claude\settings.json(Windows) |
| VS Code Claude 插件 | ~/.vscode/extensions/anthropic.claude-code-xxx/out/settings.json(或插件自定义路径) |
| 本地部署的 Claude 代码代理 | 项目根目录 /claude/settings.json |
若找不到,可在工具/插件的「设置」界面找到「配置文件路径」,或直接新建该文件。
第二步:settings.json 配置规范(核心)
1. 基础配置结构
JSON 格式要求:键名必须用双引号、值为字符串/数字、末尾无多余逗号(否则会解析失败),完整示例如下:
{"env":{"ANTHROPIC_API_KEY":"sk-ant-api03-xxxxxxxxxxxx-xxxxxxxxxxxx","ANTHROPIC_MODEL":"claude-3-5-sonnet-20240620","ANTHROPIC_DEFAULT_OPUS_MODEL":"claude-3-5-opus-20240620","ANTHROPIC_DEFAULT_SONNET_MODEL":"claude-3-5-sonnet-20240620","ANTHROPIC_DEFAULT_HAIKU_MODEL":"claude-3-haiku-20240307","CLAUDE_CODE_SUBAGENT_MODEL":"claude-3-haiku-20240307"},"code_inference":{"temperature":0.1,"max_tokens":2048}}如果用代理,则改为:
{"env":{"ANTHROPIC_AUTH_TOKEN":"sk-e5575d689a844514bc4fd03a2700eff6","ANTHROPIC_BASE_URL":"https://api.deepseek.com/anthropic","ANTHROPIC_MODEL":"claude-3-5-sonnet-20240620","ANTHROPIC_DEFAULT_OPUS_MODEL":"claude-3-5-opus-20240620","ANTHROPIC_DEFAULT_SONNET_MODEL":"claude-3-5-sonnet-20240620","ANTHROPIC_DEFAULT_HAIKU_MODEL":"claude-3-haiku-20240307","CLAUDE_CODE_SUBAGENT_MODEL":"claude-3-haiku-20240307"}}1. anthropic_api_key 的大小写规范
| 工具/场景 | 正确字段名 | 说明 |
|---|---|---|
| Claude 官方 VS Code 插件 | anthropic_api_key | 全小写(官方默认) |
| Claude Code 桌面端 | ANTHROPIC_API_KEY | 全大写(兼容环境变量) |
| 自定义 Claude 代码工具 | 两者均可(需与代码解析逻辑一致) | 建议统一:配置文件用小写,环境变量用大写 |
2. 配置节点:model_config vs env
env:是 Claude 官方工具(如 VS Code 插件)的标准根节点,用于存放环境相关配置(密钥、模型、调用参数);model_config:是自定义工具的常用命名,官方工具不使用该节点,直接将模型参数放在env或根节点下。
避坑要点
- 模型参数名大小写:
ANTHROPIC_MODEL/CLAUDE_CODE_SUBAGENT_MODEL这类参数名必须大写(官方工具的解析逻辑是匹配大写标识符) - 节点层级不能错:所有环境相关配置(密钥、模型)需放在
env根节点下,否则工具无法读取;
敏感信息保护:不要将 settings.json 提交到代码仓库,在 .gitignore 中添加:
# 忽略 Claude 配置文件 claude/settings.json .claude/settings.json 2. 核心参数详解(对应你关注的字段)
| JSON 配置项 | 取值说明 | 作用 |
|---|---|---|
ANTHROPIC_MODEL | 任意 Claude 官方模型 ID | 全局默认模型(工具/插件优先使用该值) |
ANTHROPIC_DEFAULT_OPUS_MODEL | Opus 系列模型 ID(如 claude-3-5-opus-20240620) | 复杂代码任务(重构/算法设计)的专用模型标识 |
ANTHROPIC_DEFAULT_SONNET_MODEL | Sonnet 系列模型 ID(如 claude-3-5-sonnet-20240620) | 常规代码任务(接口开发/Bug修复)的默认模型 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Haiku 系列模型 ID(如 claude-3-haiku-20240307) | 轻量代码任务(语法检查/单行生成)的快速模型 |
CLAUDE_CODE_SUBAGENT_MODEL | 通常设为 Haiku/Sonnet ID | 代码子代理(单元测试生成/风格检查)的专用模型 |
第三步:配置生效与验证
1. 使配置生效
修改 settings.json 后,需:
- 重启 Claude 代码工具/IDE 插件(核心步骤,否则读取旧配置);
- 部分工具支持「刷新配置」按钮(在设置界面),可替代重启。
2. 验证配置是否生效
方法 1:在工具/插件中执行简单代码任务,查看日志(通常在 ~/.claude/logs/),日志中会显示 model: claude-3-5-sonnet-20240620 等字样,确认与配置一致;
方法 2:调用工具的「配置检查」接口(若有),会返回当前加载的模型参数。
三、配置注意事项
- 模型ID需使用Anthropic官方最新版本(可参考Anthropic官方文档),旧ID可能被停用;
- API Key不要硬编码到代码中,务必通过环境变量配置,避免泄露;
- 温度(temperature)建议:代码任务设
0.0~0.2(保证结果稳定),创意类代码可设0.5~0.7。
四、 默认模型
当你不在 claude/settings.json 中配置 MODEL 相关参数时,默认值由你使用的 Claude 工具/插件版本 决定(Anthropic 官方会将「通用性、性价比最优」的模型设为默认),核心规律如下(基于 2026 年当前最新的官方工具版本):
一、核心 MODEL 参数的默认值(按工具分类)
1. 最常用:Claude 官方 VS Code 插件(主流场景)
这是大部分开发者使用的场景,默认值是 Anthropic 官方定义的「推荐值」,具体如下:
| 参数名 | 未配置时的默认值 | 适用说明 |
|---|---|---|
ANTHROPIC_MODEL(全局模型) | claude-3-5-sonnet-20240620 | 核心默认:Claude 3.5 Sonnet(平衡性能/速度/成本,代码任务首选) |
ANTHROPIC_DEFAULT_OPUS_MODEL | claude-3-5-opus-20240620 | 旗舰版默认:最新 Opus 3.5(仅手动指定 Opus 时生效) |
ANTHROPIC_DEFAULT_SONNET_MODEL | claude-3-5-sonnet-20240620 | 平衡版默认:与全局默认一致 |
ANTHROPIC_DEFAULT_HAIKU_MODEL | claude-3-haiku-20240307 | 轻量版默认:最新 Haiku(速度最快、成本最低) |
CLAUDE_CODE_SUBAGENT_MODEL(代码子代理) | 复用 ANTHROPIC_DEFAULT_HAIKU_MODEL 的默认值(即 claude-3-haiku-20240307) | 子代理默认用 Haiku,适配轻量任务(如语法检查、单元测试生成) |
2. Claude Code 桌面端
默认逻辑与 VS Code 插件完全一致,核心默认仍为 claude-3-5-sonnet-20240620,仅在「快速模式/低功耗模式」下,全局默认会自动切换为 Haiku。
3. 纯 Anthropic SDK 调用(无配置文件)
注意:ANTHROPIC_MODEL/CLAUDE_CODE_SUBAGENT_MODEL 这类参数是 工具/插件层的封装(非 SDK 原生参数),如果直接用 Anthropic Python/JS SDK 且不指定 model 参数,会直接抛出 必填参数缺失异常(SDK 要求必须显式指定 model)。
示例:SDK 无默认值,必须写死或从配置读取:
from anthropic import Anthropic client = Anthropic(api_key="your-key")# 必须显式指定 model,否则报错 response = client.messages.create( model="claude-3-5-sonnet-20240620",# 无默认值,必填 max_tokens=1024, messages=[{"role":"user","content":"写一个Python函数"}])二、默认值的优先级规则
如果只配置了部分 MODEL 参数,工具会按「自定义配置 > 官方默认」的逻辑生效:
- 若配置了
ANTHROPIC_MODEL(全局),但未配置CLAUDE_CODE_SUBAGENT_MODEL→ 子代理仍用默认的 Haiku; - 若未配置任何 MODEL 参数 → 所有参数均使用上表的官方默认值;
- 若配置了
ANTHROPIC_DEFAULT_SONNET_MODEL,但未配置ANTHROPIC_MODEL→ 全局默认仍为官方的 Sonnet 3.5(不会自动复用你配置的 Sonnet 自定义值)。
三、如何确认当前工具的默认值(实操验证)
如果想精准知道你所用工具的默认模型,最可靠的方式是:
- 查看工具设置页:
- VS Code 插件:打开「设置」→ 搜索「Claude Model」,会显示「Default Model」的默认值(通常是
claude-3-5-sonnet-20240620); - Claude Code 桌面端:「设置」→「模型设置」→ 查看「默认模型」的灰色占位符/默认选中项。
- VS Code 插件:打开「设置」→ 搜索「Claude Model」,会显示「Default Model」的默认值(通常是
- 查看工具日志:
- 参考官方文档:
Anthropic 会在工具的 CHANGELOG/文档中说明默认模型的更新(比如未来若发布 Claude 4 Sonnet,官方工具会同步更新默认值)。
执行任意代码任务后,查看工具日志(VS Code 插件日志路径:~/.vscode/extensions/anthropic.claude-code-xxx/logs),日志中会显示:
[INFO] Using default model: claude-3-5-sonnet-20240620 一、2026年Anthropic Claude 最新官方默认模型
Anthropic 在2025-2026年完成了 Claude 4 系列的迭代,Opus 4.6 是当前旗舰版,且官方工具(CLI/VS Code插件/桌面端)已同步更新默认模型,以下是精准的最新默认值(基于2026年3月官方最新版本):
| 参数名 | 2026最新默认值(官方工具) | 模型定位 |
|---|---|---|
ANTHROPIC_MODEL(全局默认) | claude-4-sonnet-20260201 | 主力默认:Claude 4 Sonnet(平衡性能/速度/成本,替代旧版3.5 Sonnet) |
ANTHROPIC_DEFAULT_OPUS_MODEL | claude-4-opus-20260201(对应Opus 4.6) | 旗舰版:Claude 4 Opus 4.6(推理能力最强,复杂代码/架构设计首选) |
ANTHROPIC_DEFAULT_SONNET_MODEL | claude-4-sonnet-20260201 | 平衡版:Claude 4 Sonnet(常规代码任务默认) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | claude-4-haiku-20260101 | 轻量版:Claude 4 Haiku(速度提升30%,成本降低50%) |
CLAUDE_CODE_SUBAGENT_MODEL | claude-4-haiku-20260101 | 代码子代理:默认用4代Haiku(适配语法检查/单元测试等轻量任务) |
二、不同工具的最新默认模型验证(命令行实操)
1. Anthropic 官方 CLI(最精准,实时同步官方默认)
# 1. 升级CLI到最新版本(必做,否则查不到4.x默认) pip install--upgrade anthropic-cli # 2. 查看全局默认模型(2026年输出为claude-4-sonnet-20260201) anthropic config get model # 3. 查看所有模型配置(含Opus/Sonnet/Haiku默认) anthropic config list 2026年CLI输出示例:
[default] api_key = sk-ant-api03-xxxx model = claude-4-sonnet-20260201 opus_model = claude-4-opus-20260201 sonnet_model = claude-4-sonnet-20260201 haiku_model = claude-4-haiku-20260101 code_subagent_model = claude-4-haiku-20260101 2. VS Code Claude 插件(命令行查最新默认)
# macOS/Linux:查看插件内置默认模型(2026版)grep-i"defaultModel" ~/.vscode/extensions/anthropic.claude-code-*/package.json # Windows CMD: findstr /i "defaultModel" C:\Users\你的用户名\.vscode\extensions\anthropic.claude-code-*\package.json 2026年插件输出示例:
"defaultModel":"claude-4-sonnet-20260201","opusDefaultModel":"claude-4-opus-20260201","haikuDefaultModel":"claude-4-haiku-20260101"3. Claude Code 桌面端(命令行查配置)
# macOS/Linuxcat ~/.claude/settings.json |grep-i"model"# Windows PowerShell Get-Content $env:USERPROFILE\.claude\settings.json | Select-String -Pattern"model"2026年桌面端默认配置示例:
{"env":{"anthropic_api_key":"sk-ant-api03-xxxx","ANTHROPIC_MODEL":"claude-4-sonnet-20260201","ANTHROPIC_DEFAULT_OPUS_MODEL":"claude-4-opus-20260201"}}三、手动更新默认模型(命令行)
若你的工具仍显示3.5系列,可通过命令行一键更新为2026最新默认:
# 1. 设置全局默认为Claude 4 Sonnet anthropic config set model claude-4-sonnet-20260201 # 2. 设置Opus默认为4.6 anthropic config set opus_model claude-4-opus-20260201 # 3. 验证更新结果 anthropic config get model