前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
AI 热点
开发者导航
返回 AI 情报前线
All News · 全部资讯5537
  • Unsloth桌面版发布:单GPU运行7440亿参数模型,支持本地编码Agent
  • 同一终端双信任级别:Claude Code对接廉价代理节省API成本
  • macOS 屏幕共享漏洞正遭活跃利用,可远程获取 Root 权限
  • Linux 7.2 稳定版发布:I/O 性能优化、AMD/Intel 显卡驱动改进
  • 2026年8月AI基础设施与推理平台定价对比:18款工具每日更新
  • EU AI Act水印规定生效:AI生成内容标记可被伪造吗
  • Java 21 + Spring Boot + React 19 构建AI提示词管理平台
  • 30个AI API价格实测:价差高达350倍
  • 向量数据库深度解析与DataLoader实现
  • Pizza-Builder 法则:结构化提示词设计避免 AI 反复猜错
  • Anthropic API Prompt Cache深度分析:22%命中率才回本
  • AI Agent 自报完成不可信:两种独立验证方法
  • AI生成代码的隐性风险:我们正在交付看不见的假设
  • Python 内容审核:Schema 门控批量分类 + 人工复核队列
  • Anthropic Claude 大规模宕机,多项服务受影响
  • 生产环境 LLM 选型:别只看基准分,场景上下文才是关键
  • AI写的汇编不可信:三行命令验证真伪
  • 崩溃路由迷信 0.97 置信度:单点模型决策的风险
  • AI编程代理55种低层代码失败案例与124个修复技能
  • TTFT 与 TTFB 的区别:45 个 AI API 四区域实测数据
  • Gemini 3.7 Flash 发布:编程+Agent 能力大幅提升,价格腰斩
  • LLM Agent 重试机制的可观测性设计实践
  • Qwen 3.8 27B 发布:本地运行出色但默认过度思考
  • 客服AI智能体架构详解:从问答型到工作流执行型
  • 免费AI接口429错误被吞?用Relay转发元数据
  • 用AI高效写API文档的5个实战技巧
  • 我用Python写了个检测硬编码密钥的CLI工具
  • AI Agent盘活多仓库遗留项目:OpenCode+SpecKit实战
  • AI Agent五层架构详解:Graph Engineering为何是缺失的那环
  • GhostSplice攻击:利用MCP协议碎片化提示窃取SSH密钥
  • 本地优先AI宣言:模型主权与隐私保护新思路
  • 紧急:SharePoint认证绕过漏洞CVE-2026-55040正被积极利用
  • 已加载 32 / 5537
8.0
热点
AI SCORE
编程提效2026-08-17 08:03

同一终端双信任级别:Claude Code对接廉价代理节省API成本

dev.to · AI#Claude Code#模型路由#成本优化
Editor brief · 编辑速览

通过LiteLLM代理将Claude Code路由到DeepSeek V4,用Haiku级成本完成探索性任务,仅对需要深度推理的工作才调用昂贵的主力模型,实现性价比最优的模型路由。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

这是关于 model 路由和信任分层系列的一部分。这篇是无聊但能用的那半部分——没有 bug 追踪,只是一个在两台机器上干净运行了几个月的配置。

Claude Code 做一件事很擅长:谨慎的、限定范围的编辑,背后有真正的 plan-then-execute 循环支撑,以及你已经付费订阅的服务。不是每个任务都需要这样。探索性阅读、"总结一下这个目录"、草稿类用完即弃的工作——这些大多数不需要最有能力的模型盯着每一个 token。

解决方案是为这类工作准备一个更便宜的后端。问题是:Claude Code 只认 Anthropic 的 Messages API。它没有内置的"同一工具、不同模型"概念。所以问题是如何指向另一个地方而不放弃这个界面。

Trusted agent:  claude       — real Anthropic subscription, default session
Cheap agent:    claude-cheap — same CLI, routed through a self-hosted proxy
Proxy:          LiteLLM, translating Anthropic-format requests to
                DeepSeek V4 (pro for Sonnet-tier calls, flash for Haiku-tier)
                served through an OpenRouter API
Transport:      a persistent SSH tunnel from a small VPS back to each machine

代理本身不是新东西。它和已经路由着另一条内容流水线的 LiteLLM 实例是同一个。真正的工作是把 Claude Code 接入它:一个 shell 函数加几个环境变量。

核心技巧——我花了几周才学会——是把 ANTHROPIC_BASE_URL 指向 LiteLLM 的 /v1/messages 端点,而不是 LiteLLM 也暴露的 OpenAI 兼容路径。Claude Code 只认 Anthropic 的 shape,所以 OpenAI 形状的端点会以看起来像客户端 bug 的方式失败,但实际上不是。一旦 LiteLLM 坐对端点并在底层做翻译,Claude Code 完全不知道它其实没在和 Anthropic 说话。

唯一值得提醒的一个 bug

Claude Code 的 Plan Mode 会给它的请求附加一个 context_management 参数。Anthropic 的 API 能处理它。其他大多数后端不认识这个参数,会以 400 拒绝整个请求——这看起来像是 Plan Mode 本身坏了,其实是下游模型从来没打算接受这个参数。

LiteLLM 配置里一行解决:

litellm_config.yaml
---
drop_params: true

这告诉 LiteLLM 静默剥离不支持的参数,而不是转发它们让后端拒绝调用。这样一来 Plan Mode 在哪个模型实际回答时都能正常工作。

两条命令,故意不对称

这部分比任何代理配置都值得复制:可信 agent 和便宜 agent 看起来不一样,是故意的。

claude——真家伙,全订阅,无包装。默认终端,默认 prompt。在这个 session 里犯错的代价最高,所以我不想要任何视觉噪音挡在我和它的操作之间。

claude-cheap——一个 shell 函数,掉进一个隔离的子 shell,给标签页重新命名加上独特标识和图标,退出时重置。不是美学问题:晚上 11 点在六个标签页之间切换,我要从结构上不可能把那个更便宜、更宽松的 session 和跑在我订阅上的那个搞混。贵的工具不给任何仪式感;便宜的工具要穿"戏服",因为搞反这个方向才是值得防备的失败模式。

# --- Cheap agent: DeepSeek via self-hosted LiteLLM proxy ---
claude-cheap() {
  (
    unset ANTHROPIC_API_KEY
    export ANTHROPIC_BASE_URL=http://localhost:3456
    export ANTHROPIC_AUTH_TOKEN=anything
    export ANTHROPIC_MODEL=deepseek/deepseek-v4-pro
    export ANTHROPIC_DEFAULT_SONNET_MODEL=deepseek/deepseek-v4-pro
    export ANTHROPIC_DEFAULT_HAIKU_MODEL=deepseek/deepseek-v4-flash
    export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
    echo -ne "\033]0;🐋 DEEPSEEK-AGENT\007"
    claude "$@"
    echo -ne "\033]0;Terminal\007"
  )
}

子 shell ( ... ) 是让这些导出用完即弃的原因——函数返回后它们不会泄漏到父 shell。ANTHROPIC_AUTH_TOKEN 设为一个假值,因为 LiteLLM 不检查它;它只需要有东西存在,这样 Claude Code 就不会拒绝启动。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 减少了回调 Anthropic 自有遥测端点的调用,因为这个 session 背后没有真正的 Anthropic 账号。

因为目标从来不是"让 Claude Code 更便宜"。它是一个 supervisor/executor 分离:订阅 session 做规划、review,任何我看到被搞坏会很恼火的事情。代理 session 处理量大、低风险的工作,它的输出在以同样方式被信任之前会经过 review。

和之前系列里为监控 agent 选云端模型而非本地模型的决策是同一形状——不是"哪个模型更聪明",而是"哪种失败模式我能接受,什么是最便宜的能达到标准的东西"。这里的轴是订阅成本而非设备端 vs 云端。底层问题是一样的:我愿意让什么东西出错,谁在盯着它出错。

还有一个纯本地变体:同样的两层模式,但便宜的那层完全跑在设备上而不是通过托管代理。这个遇到了工具调用格式不匹配的问题——那是另一个故事,我会单独写出来。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
Unsloth桌面版发布:单GPU运行7440亿参数模型,支持本地编码Agent
下一篇
macOS 屏幕共享漏洞正遭活跃利用,可远程获取 Root 权限