第 2 篇:Agent ≠ LLM——换模型就是改一行配置
第 1 篇你学会了在终端里叫 AI。但你敲 claude,它默认连的是 Anthropic 的服务器,跑的是 Claude 的模型。
那你想用别的模型呢?比如 DeepSeek 写中文更好、更便宜;或者你想跑本地的 Llama。
Claude Code 其实可以连它们。秘诀在几个环境变量里。
第一步:手动换一次
先看看你当前的 claude 是什么。在终端里敲:
claude "你现在是什么模型?说出你的模型名称和所属公司"等几秒,它会回答你。大概是这样:
我是 Claude Sonnet 4.5,由 Anthropic 公司开发。
好,现在把它变成别的。
退出 claude(按 Ctrl + C),在终端里敲这三行:
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的key"
export ANTHROPIC_MODEL="deepseek-v4-flash[1m]"每行敲完回车。终端不会显示任何东西——设环境变量就是这样,没消息就是成功了。
这三行告诉 claude 三件事:
ANTHROPIC_BASE_URL—— 别去 Anthropic 了,去这个地址ANTHROPIC_AUTH_TOKEN—— 用这把钥匙ANTHROPIC_MODEL—— 跑这个模型
deepseek-v4-flash[1m] 里的 [1m] 表示上下文长度——100 万 token。不同模型后面括号里的数字不一样,有的是 [1m](100 万),有的是 [256k](25.6 万)。照着写就行。
现在环境变了。同样在终端里敲:
claude "你现在是什么模型?说出你的模型名称和所属公司"这次它读到的是你刚设的环境变量,会跑去 DeepSeek 那边回答。回答大概是这样:
我是 DeepSeek V4 Flash,上下文 1M,由深度求索公司开发。
同一个软件 claude,同一个提示词。只是改了三行环境变量,回答你的模型就变了。
第二步:存到 .zshrc 里
刚才你手动敲了三个 export,成功了。
但下次再打开终端,那些 export 还在吗?不在。 你关掉终端,手动设的环境变量就丢了。
每次要用都得重新敲一遍——太烦了。
那就把它们存起来,让终端每次打开时自动执行。存的地方叫 .zshrc。
.zshrc 是你家目录里的一个文件,终端每次启动都会自动读它,执行里面的每一行。
打开它:
code ~/.zshrc不懂这些符号?
code是用 VS Code 打开。没有的话用open -a TextEdit ~/.zshrc。~是你的家目录。.开头的是隐藏文件。以后碰到不懂的命令,另开一个终端窗口贴过去问 AI 就行。
在文件末尾加上这三行:
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的key"
export ANTHROPIC_MODEL="deepseek-v4-flash[1m]"保存,关掉。然后让终端重新读一遍:
source ~/.zshrcsource 就是「重新读一遍」,让改动立刻生效。
现在试一下:
claude "你现在是什么模型?说出你的模型名称和所属公司"回答跟刚才一样——DeepSeek。但这次你不用手动敲 export 了,.zshrc 里的配置已经自动生效了。
第三步:升级成别名
现在你每次敲 claude,它都跑 DeepSeek。
但你不能永远只用 DeepSeek 啊。有时候用 MiniMax 跑快速任务,有时候用 GLM-5.2 写代码,有时候用 DeepSeek 写中文。
一个配置不够,你需要多个。每个模型一个别名。
在 .zshrc 里,把你之前加的那三行删掉(或者注释掉),换成这个:
# MiniMax 跑快速任务
claude-minimax() {
export ANTHROPIC_BASE_URL="https://api.minimaxi.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的key"
export ANTHROPIC_MODEL="MiniMax-M3[1m]"
claude "$@"
}
# GLM-5.2 写代码
claude-glm() {
export ANTHROPIC_BASE_URL="https://api.chatglm.cn/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的key"
export ANTHROPIC_MODEL="GLM-5.2"
claude "$@"
}
# DeepSeek 写中文
claude-deepseek() {
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="sk-你的key"
export ANTHROPIC_MODEL="deepseek-v4-flash[1m]"
claude "$@"
}这叫函数——你把一串操作打包成一个名字。你在终端里敲 claude-deepseek,它就自动执行里面的每一行:设环境变量、启动 claude。
怎么读它:claude-deepseek() { ... } —— 就是「定义一个叫 claude-deepseek 的别名,它做的事情是花括号里面的这些」。
保存,source ~/.zshrc,然后试试:
claude-minimax "你现在是什么模型?"我是 MiniMax-M3。
claude-glm "你现在是什么模型?"我是 GLM-5.2。
claude-deepseek "你现在是什么模型?"我是 DeepSeek V4 Flash。
同一个软件,不同的别名,连到不同的模型。
现在闭上眼睛想一下这个画面——
你在同一个项目目录下,开了三个终端窗口。左边跑 MiniMax 在处理一批文档,中间用 GLM 在写代码,右边用 DeepSeek 在写中文方案。三个模型同时干活,字符刷刷地往上滚。
一个显示器平铺 3 个窗口。如果你有两个显示器,就是 6 个。
你不需要切换软件、不需要退出一个再开另一个。每个终端就是一条独立的流水线,跑着不同的模型,干着不同的活。
你就是那个指挥台——看哪条线跑完了,切过去看一眼结果,扔下一个任务。
这就是多模型并联干活的样子。 那些一天烧上千万,上亿Token的AI玩家,今天讲的这些,就是他们AI工作台的原型。
那在 Claudian 里怎么配?
你如果在用 Obsidian 里的 Claudian,打开 Obsidian 设置 → 插件 → Claudian,你会看到它有好几个面板——claude、codex、opencode 都有。说明它其实是套了好几家的软件壳。
切换到 claude 面板,找到「自定义变量」,在输入框里填:
ANTHROPIC_API_KEY=你的key
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
ANTHROPIC_MODEL=deepseek-v4-flash[1m]填完之后关闭设置,右边的聊天窗口刷新一下就行了。然后问一句,看看回复的模型变了没有。
不过 Claudian 这种方式有个限制:你在这配的 key 和模型,只能在 Claudian 里用。换成别的 Agent 软件,又得重新配一次。在 .zshrc 里配是通用的,所有软件都能读到。
但 Claudian 也有它不可替代的好处——它跟 Obsidian 绑得紧。
- 你可以在笔记里框选一段文字,然后直接说「帮我把这段改成口语化」,不用复制粘贴。
- 你当前打开哪个笔记,它就自动知道你在说哪篇,不用告诉它路径。
两种方式不冲突。你在 .zshrc 里配好通用的 key 和别名,在任何软件里都能用。同时 Claudian 的这种「框选即改、打开即用」的便利,终端里的 claude 暂时还做不到。
现在你掌握了
三步走过来,你在实战中理解了这个链条:
- 手工 export → 亲眼看到环境变量变了,模型就变了
- 存到 .zshrc → 不用每次手动敲,终端启动时自动加载
- 升级成别名 → 一个模型一个名字,想用哪个敲哪个
这也是配置任何 AI 软件的通用思路——软件是壳,模型是芯。claude 这个壳怎么知道用哪个芯?看环境变量。你把环境变量包进别名里,换别名就是换模型。
下一篇: 每次跟 AI 对话都要写「用简单的话说」「去掉废话」「说人话」——烦不烦?能不能把这些常用指令存起来,一键调用?下一篇讲 Skill,就是干这个的。