模型配置解释
一、核心参数含义与作用
这些参数本质是 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:环境变量配置(生产环境推荐)
通过系统/项目环境变量定义参数,代码中直接读取,无需修改代码即可切换模型。
-
Linux/macOS 终端:
bash# 配置API Key(必须,从Anthropic控制台获取) export ANTHROPIC_API_KEY="your-api-key-here" # 通用模型参数(全局默认Sonnet) export ANTHROPIC_MODEL="claude-3-5-sonnet-20240620" # 各系列模型默认值 export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-3-5-opus-20240620" export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-3-5-sonnet-20240620" export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-3-haiku-20240307" # 代码子代理模型(轻量任务用Haiku) export CLAUDE_CODE_SUBAGENT_MODEL="claude-3-haiku-20240307" -
Windows CMD 终端:
cmdset 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
场景2:代码中直接配置(Python SDK示例)
先安装依赖:
bash
pip install anthropic
完整配置与调用示例:
python
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:常规代码任务(用通用模型)
def regular_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模型)
def complex_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模型)
def code_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 格式要求:键名必须用双引号、值为字符串/数字、末尾无多余逗号(否则会解析失败),完整示例如下:
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
}
}
如果用代理,则改为:
json
{
"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 无默认值,必须写死或从配置读取:
python
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」的默认值(通常是
-
查看工具日志 :
-
执行任意代码任务后,查看工具日志(VS Code 插件日志路径:
~/.vscode/extensions/anthropic.claude-code-xxx/logs),日志中会显示:[INFO] Using default model: claude-3-5-sonnet-20240620
-
-
参考官方文档 :
Anthropic 会在工具的 CHANGELOG/文档中说明默认模型的更新(比如未来若发布 Claude 4 Sonnet,官方工具会同步更新默认值)。
一、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(最精准,实时同步官方默认)
bash
# 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 插件(命令行查最新默认)
bash
# 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年插件输出示例:
json
"defaultModel": "claude-4-sonnet-20260201",
"opusDefaultModel": "claude-4-opus-20260201",
"haikuDefaultModel": "claude-4-haiku-20260101"
3. Claude Code 桌面端(命令行查配置)
bash
# macOS/Linux
cat ~/.claude/settings.json | grep -i "model"
# Windows PowerShell
Get-Content $env:USERPROFILE\.claude\settings.json | Select-String -Pattern "model"
2026年桌面端默认配置示例:
json
{
"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最新默认:
bash
# 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