跳到主要内容
Python VScode AI
Claude Code 的模型配置与默认值说明 Claude Code 里的模型配置本质上是几组 Anthropic 模型别名,用来把全局默认、Opus、Sonnet、Haiku 和子代理模型分开管理。文章说明了环境变量、Python SDK 和 claude/settings.json 三种配置方式,强调模型 ID 要对上官方值,密钥不要硬编码,settings.json 里要放对节点、注意大小写。默认值通常由工具版本决定,未配置时一般会回落到 Sonnet 或 Haiku;如果想改默认模型,先确认工具当前版本和日志,再通过命令或设置页更新。
草莓泡芙 发布于 2026/6/30 更新于 2026/7/25 13 浏览模型配置解释
核心参数是做什么的
这些参数本质上是 Anthropic Claude 在代码开发场景里的模型别名。作用很直接:把具体的模型 ID 收起来,避免在工具、脚本和配置文件里到处硬编码。实际使用时,它们分别对应不同的任务侧重点。
参数名 核心作用 适用场景 对应官方模型ID示例 ANTHROPIC_MODEL顶层模型参数,优先级最高,常被当作全局开关 想统一切换所有代码任务的模型,比如整个项目都改成 Sonnet claude-3-5-sonnet-20240620ANTHROPIC_DEFAULT_OPUS_MODELOpus 预设标识,指向推理能力最强的一档 大型重构、算法设计、多语言整合、核心逻辑开发 claude-3-5-opus-20240620、claude-3-opus-20240229ANTHROPIC_DEFAULT_SONNET_MODELSonnet 预设标识,主打均衡 接口开发、Bug 修复、注释重构、逻辑验证,通常也是代码任务的默认选择 claude-3-5-sonnet-20240620、claude-3-sonnet-20240229ANTHROPIC_DEFAULT_HAIKU_MODELHaiku 预设标识,偏轻量 单行代码生成、语法检查、简单函数、快速解释 claude-3-haiku-20240307CLAUDE_CODE_SUBAGENT_MODEL代码子代理使用的模型 单元测试生成、风格检查这类拆分出来的小任务,常会单独配一个更轻的模型 通常设为 Haiku 或 Sonnet,复杂子任务也可以用 Opus
配置方式
配置思路很简单:把这些参数映射到 Anthropic 官方模型 ID。真要落地,我会优先用环境变量;如果是工具自带配置文件,再考虑写进 settings.json。前者更灵活,后者更适合固定环境。
场景 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 终端:
export ANTHROPIC_API_KEY="your-api-key-here"
export ANTHROPIC_MODEL="claude-3-5-sonnet-20240620"
ANTHROPIC_DEFAULT_OPUS_MODEL=
ANTHROPIC_DEFAULT_SONNET_MODEL=
ANTHROPIC_DEFAULT_HAIKU_MODEL=
CLAUDE_CODE_SUBAGENT_MODEL=
export
"claude-3-5-opus-20240620"
export
"claude-3-5-sonnet-20240620"
export
"claude-3-haiku-20240307"
export
"claude-3-haiku-20240307"
场景 2:在代码中读取配置 import os
from anthropic import Anthropic
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)
client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY" ))
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
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
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__" :
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 Code、集成 Claude 的 IDE 插件,或者桌面端,claude/settings.json 往往就是那层真正生效的持久化配置。它的用处很朴素:把模型 ID、密钥和一些默认参数固定下来,工具启动后直接读取。
先确认文件位置。不同工具放得不太一样,常见路径如下:
使用场景 典型路径 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
如果找不到,先去工具设置里看配置文件路径。很多时候比手动翻目录快。
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" } }
有两个细节经常出错:一个是字段名大小写,另一个是节点层级。官方工具通常按大写环境变量名去读,像 ANTHROPIC_MODEL、CLAUDE_CODE_SUBAGENT_MODEL 这类字段最好别乱改;环境相关配置也尽量放在 env 下。真要混着写,后面排查起来很麻烦。
敏感信息别提交到仓库,.gitignore 里至少要加上:
# 忽略 Claude 配置文件
claude/settings.json
.claude/settings.json
JSON 配置项 取值说明 作用 ANTHROPIC_MODEL任意 Claude 官方模型 ID 全局默认模型,工具优先使用它 ANTHROPIC_DEFAULT_OPUS_MODELOpus 系列模型 ID(如 claude-3-5-opus-20240620) 复杂代码任务的专用模型 ANTHROPIC_DEFAULT_SONNET_MODELSonnet 系列模型 ID(如 claude-3-5-sonnet-20240620) 常规代码任务默认模型 ANTHROPIC_DEFAULT_HAIKU_MODELHaiku 系列模型 ID(如 claude-3-haiku-20240307) 轻量代码任务的快速模型 CLAUDE_CODE_SUBAGENT_MODEL通常设为 Haiku/Sonnet ID 代码子代理使用的模型
配置生效和验证 改完 settings.json 之后,先重启工具或插件。大多数情况下,没重启就是没读新配置。部分工具会提供'刷新配置',可以替代重启,但别指望每次都能自动热更新。
要确认是否生效,最直接的方法还是看日志。执行一条简单任务,日志里通常能看到实际使用的模型名,比如 model: claude-3-5-sonnet-20240620。如果日志目录里还是旧值,那说明配置还没被加载。
默认模型 不配置这些参数时,默认值由工具版本决定。这个地方最容易踩坑,因为不同工具的默认策略大致一致,但细节会跟着版本走。
常见工具的默认值
Claude 官方 VS Code 插件 这是最常见的场景。默认值通常是 Anthropic 推荐的平衡模型,下面这组是常见配置:
参数名 未配置时的默认值 适用说明 ANTHROPIC_MODELclaude-3-5-sonnet-20240620全局默认,代码任务里最常见 ANTHROPIC_DEFAULT_OPUS_MODELclaude-3-5-opus-20240620旗舰版默认,仅在显式指定 Opus 时使用 ANTHROPIC_DEFAULT_SONNET_MODELclaude-3-5-sonnet-20240620与全局默认一致 ANTHROPIC_DEFAULT_HAIKU_MODELclaude-3-haiku-20240307轻量任务默认 CLAUDE_CODE_SUBAGENT_MODEL复用 ANTHROPIC_DEFAULT_HAIKU_MODEL 子代理默认走 Haiku
Claude Code 桌面端 默认逻辑和 VS Code 插件基本一致。一般也是先给 Sonnet,只有在快速模式或低功耗模式下才会切到 Haiku。这个行为对代码体验影响挺明显,速度和质量会有取舍。
纯 Anthropic SDK 调用 如果你直接用 SDK,而不是通过工具封装,那这些 ANTHROPIC_* 参数不会自动帮你兜底。model 仍然是必填项,不写就会报错。
from anthropic import Anthropic
client = Anthropic(api_key="your-key" )
response = client.messages.create(
model="claude-3-5-sonnet-20240620" ,
max_tokens=1024 ,
messages=[{"role" : "user" , "content" : "写一个Python函数" }]
)
默认值的优先级 实际生效顺序很简单:你自己配的值优先,工具内置默认值兜底。
配了 ANTHROPIC_MODEL,但没配 CLAUDE_CODE_SUBAGENT_MODEL,子代理还是会用默认的 Haiku。
一个都没配,工具就走官方默认值。
只配了 ANTHROPIC_DEFAULT_SONNET_MODEL,但没配 ANTHROPIC_MODEL,全局默认不会自动跳到你自定义的 Sonnet 值,还是按工具自己的默认来。
怎么确认当前默认值 最稳妥的办法还是看工具设置页或者日志。设置页能直接看到默认选项,日志能看到实际请求时用了哪个模型。两边对不上时,通常是配置没刷新,或者路径指错了。
[INFO] Using default model: claude-3-5-sonnet-20240620
关于 2026 年默认模型的说法 原文里有一段把 2026 年的默认模型写得很具体,还带了 claude-4-* 的命名。这个问题我建议保留成'以工具当前版本为准',不要把版本号说死。模型命名和默认策略会跟着官方工具更新,硬写成固定结论,过一阵子就容易过期。
真正可操作的做法就两条:看工具当前的配置输出,或者直接在设置页确认默认项。需要手动改的时候,再用命令把全局默认和 Opus 默认切过去。
anthropic config set model claude-4-sonnet-20260201
anthropic config set opus_model claude-4-opus-20260201
anthropic config get model
如果你的工具还停在 3.5 系列,先升级客户端,再看默认值。很多'默认模型没变'的问题,其实只是工具没更新。
最后怎么选 如果只是日常代码任务,我会先用 Sonnet 做全局默认;子代理用 Haiku,省时间,也够用。只有在重构范围大、上下文复杂、或者需要更稳的推理时,再把 Opus 拉出来。一直默认上旗舰模型,通常不是更稳,只是更贵。
相关免费在线工具 RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机西班牙地址生成器 随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online