【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-20240620claude-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 终端:

    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
场景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.jsonClaude 代码工具/插件(如 Claude Code、集成 Claude 的 IDE 插件、Claude 桌面端) 的核心配置文件,用于持久化存储模型参数、API 密钥等核心配置,以下是该文件的详细配置方法(聚焦你关注的模型参数):

先明确 settings.json 的核心定位

claude/settings.json 是 JSON 格式的静态配置文件,用于:

  1. 固化 Claude 各模型的标识符(替代硬编码);
  2. 统一管理 API 密钥、默认调用参数等;
  3. 供 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 或根节点下。

避坑要点

  1. 模型参数名大小写ANTHROPIC_MODEL/CLAUDE_CODE_SUBAGENT_MODEL 这类参数名必须大写(官方工具的解析逻辑是匹配大写标识符)

  2. 节点层级不能错 :所有环境相关配置(密钥、模型)需放在 env 根节点下,否则工具无法读取;

  3. 敏感信息保护 :不要将 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:调用工具的「配置检查」接口(若有),会返回当前加载的模型参数。

三、配置注意事项

  1. 模型ID需使用Anthropic官方最新版本(可参考Anthropic官方文档),旧ID可能被停用;
  2. API Key不要硬编码到代码中,务必通过环境变量配置,避免泄露;
  3. 温度(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 参数,工具会按「自定义配置 > 官方默认」的逻辑生效:

  1. 若配置了 ANTHROPIC_MODEL(全局),但未配置 CLAUDE_CODE_SUBAGENT_MODEL → 子代理仍用默认的 Haiku;
  2. 若未配置任何 MODEL 参数 → 所有参数均使用上表的官方默认值;
  3. 若配置了 ANTHROPIC_DEFAULT_SONNET_MODEL,但未配置 ANTHROPIC_MODEL → 全局默认仍为官方的 Sonnet 3.5(不会自动复用你配置的 Sonnet 自定义值)。

三、如何确认当前工具的默认值(实操验证)

如果想精准知道你所用工具的默认模型,最可靠的方式是:

  1. 查看工具设置页

    • VS Code 插件:打开「设置」→ 搜索「Claude Model」,会显示「Default Model」的默认值(通常是 claude-3-5-sonnet-20240620);
    • Claude Code 桌面端:「设置」→「模型设置」→ 查看「默认模型」的灰色占位符/默认选中项。
  2. 查看工具日志

    • 执行任意代码任务后,查看工具日志(VS Code 插件日志路径:~/.vscode/extensions/anthropic.claude-code-xxx/logs),日志中会显示:

      复制代码
      [INFO] Using default model: claude-3-5-sonnet-20240620
  3. 参考官方文档
    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
相关推荐
饼干哥哥2 小时前
OpenClaw企业落地的5个进阶配置,价值千亿的市场机会
aigc
92year2 小时前
GTC 2026 + GPT-5.4 实测:推理成本砍到1/10,AI直接操控电脑|周报
aigc
与虾牵手2 小时前
OpenClaw 接入大模型 API 完整教程:2026 Skills 开发从零到跑通
aigc·ai编程
不可能的是2 小时前
我是怎么搞清楚 Claude Code 每天用了多少 token
aigc·ai编程·claude
GISer_Jing2 小时前
AI Agent交互模式深度解析:浏览器书签&插件进行AI对话
前端·人工智能·aigc·交互
柯儿的天空3 小时前
【OpenClaw 全面解析:从零到精通】第007篇:流量枢纽——OpenClaw Gateway 网关深度解析
人工智能·gpt·ai作画·gateway·aigc·ai编程·ai写作
小程故事多_803 小时前
重构 RAG 质量标准,一套可落地、可量化的全维度评估框架
人工智能·重构·aigc·ai编程·rag
Sirius Wu3 小时前
基于OpenClaw环境的Agent强化学习(RFT+GRPO)训练机制与自动化实践报告
人工智能·深度学习·机器学习·语言模型·aigc
猫头虎3 小时前
从零开始,一步步安装和配置OpenClaw汉化版详细安装指南
langchain·开源·prompt·github·aigc·ai编程·agi