跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonVScodeAI

Claude Code 的模型配置与默认值说明

Claude Code 里的模型配置本质上是几组 Anthropic 模型别名,用来把全局默认、Opus、Sonnet、Haiku 和子代理模型分开管理。文章说明了环境变量、Python SDK 和 claude/settings.json 三种配置方式,强调模型 ID 要对上官方值,密钥不要硬编码,settings.json 里要放对节点、注意大小写。默认值通常由工具版本决定,未配置时一般会回落到 Sonnet 或 Haiku;如果想改默认模型,先确认工具当前版本和日志,再通过命令或设置页更新。

草莓泡芙发布于 2026/6/30更新于 2026/7/2513 浏览

模型配置解释

核心参数是做什么的

这些参数本质上是 Anthropic Claude 在代码开发场景里的模型别名。作用很直接:把具体的模型 ID 收起来,避免在工具、脚本和配置文件里到处硬编码。实际使用时,它们分别对应不同的任务侧重点。

参数名核心作用适用场景对应官方模型ID示例
ANTHROPIC_MODEL顶层模型参数,优先级最高,常被当作全局开关想统一切换所有代码任务的模型,比如整个项目都改成 Sonnetclaude-3-5-sonnet-20240620
ANTHROPIC_DEFAULT_OPUS_MODELOpus 预设标识,指向推理能力最强的一档大型重构、算法设计、多语言整合、核心逻辑开发claude-3-5-opus-20240620、claude-3-opus-20240229
ANTHROPIC_DEFAULT_SONNET_MODELSonnet 预设标识,主打均衡接口开发、Bug 修复、注释重构、逻辑验证,通常也是代码任务的默认选择claude-3-5-sonnet-20240620、claude-3-sonnet-20240229
ANTHROPIC_DEFAULT_HAIKU_MODELHaiku 预设标识,偏轻量单行代码生成、语法检查、简单函数、快速解释claude-3-haiku-20240307
CLAUDE_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 终端:

# 配置API Key(必须,从Anthropic控制台获取)
export ANTHROPIC_API_KEY="your-api-key-here"

# 通用模型参数(全局默认Sonnet)
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"
# 代码子代理模型(轻量任务用Haiku)
export
"claude-3-haiku-20240307"
场景 2:在代码中读取配置

先装依赖:

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__":
    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")
# 必须显式指定 model,否则报错
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 默认切过去。

# 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

如果你的工具还停在 3.5 系列,先升级客户端,再看默认值。很多'默认模型没变'的问题,其实只是工具没更新。

最后怎么选

如果只是日常代码任务,我会先用 Sonnet 做全局默认;子代理用 Haiku,省时间,也够用。只有在重构范围大、上下文复杂、或者需要更稳的推理时,再把 Opus 拉出来。一直默认上旗舰模型,通常不是更稳,只是更贵。

目录

  1. 模型配置解释
  2. 核心参数是做什么的
  3. 配置方式
  4. 场景 1:环境变量配置
  5. 配置API Key(必须,从Anthropic控制台获取)
  6. 通用模型参数(全局默认Sonnet)
  7. 各系列模型默认值
  8. 代码子代理模型(轻量任务用Haiku)
  9. 场景 2:在代码中读取配置
  10. 1. 定义模型参数(优先读环境变量,兜底设默认值)
  11. 2. 初始化 Anthropic 客户端(API Key从环境变量读取)
  12. 3. 不同场景的调用示例
  13. 示例1:常规代码任务(用通用模型)
  14. 示例2:复杂代码任务(专用Opus模型)
  15. 示例3:代码子代理任务(轻量Haiku模型)
  16. 测试调用
  17. 场景 3:claude/settings.json 配置
  18. 忽略 Claude 配置文件
  19. 配置生效和验证
  20. 默认模型
  21. 常见工具的默认值
  22. Claude 官方 VS Code 插件
  23. Claude Code 桌面端
  24. 纯 Anthropic SDK 调用
  25. 必须显式指定 model,否则报错
  26. 默认值的优先级
  27. 怎么确认当前默认值
  28. 关于 2026 年默认模型的说法
  29. 1. 设置全局默认为Claude 4 Sonnet
  30. 2. 设置Opus默认为4.6
  31. 3. 验证更新结果
  32. 最后怎么选
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Android 补间动画基础:位移、缩放、旋转与透明度详解
  • 10 个热门 Claude Skills 开源仓库精选与安装配置指南
  • 华为 OD 机试:统计员工影响力分数
  • GLM-4-9B 及 CodeGeeX4-ALL-9B 支持 Ollama 本地部署
  • QQ 机器人接入 OpenClaw 的部署记录
  • Docker 镜像核心解析:以 Nginx 为例
  • AI 赋能原则 1:超级能动性——AI 时代重建个人掌控力
  • 前端下载二进制流文件的几种做法
  • Go2 机器人 ROS2 与 Gazebo 仿真环境搭建实战指南
  • ComfyUI 高效工作流指南:节点思维与模板复用
  • VRCT 语音翻译工具在 VRChat 中的配置与使用指南
  • Spring AI 接入 Agent Skill 实战教程
  • 数据结构:顺序结构二叉树与堆详解
  • OpenClaw 对接 QQ 机器人教程:本地与云端部署
  • LatencyMon:Windows DPC 延迟优化
  • 用 Python 部署大模型:本地推理、API 服务与 Docker 打包
  • Aimmy 未来路线图:新功能与改进
  • 基于机器学习的生态组合塘强化城市污水处理厂脱氮优化
  • OpenClaw 安装与飞书接入实操
  • 无人机视觉语言导航入门:概念、挑战与应用
  • 相关免费在线工具

    • 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