迭代与更新:内网环境的持续演进
内网 AI 编码环境部署完成那天,不是终点,是运维的开始。工具在近乎日更、模型约一季度一代、私有化成品的更新天然滞后——把内网环境当一次性项目交付,三个月后它就会变成"没人敢动的祖传系统"。这节把更新做成流水线:包怎么控版、策略怎么下发、模型怎么跟代,最后收束全章。
最大的长期成本是更新,不是部署
先看更新压力有多大(2026-11-07 复核)。Claude Code 的 npm 包 @anthropic-ai/claude-code 已发布 558 个版本(最新 2.1.319,2026-11-06),近乎日更,且官方首选的原生安装器(install.sh)会在后台自动更新——你今天验证过的版本,下个月已经不存在于公网了。Codex 当前 0.167.0(2026-11-06 发布),节奏略缓但同属快迭代。Ollama 常规 1-2 周一个版本。harness 本身也在快速变形:上一节的主角 dsh 还处于 developer preview,官方明示后续将有破坏性变更。这意味着"锁定一个版本永久用"在内网是幻想:bug 修复、新模型支持、协议变化都会逼你升级,区别只是主动升级还是被动救火。
买私有化成品同样躲不开:有企业实测反馈"私有化模型更新比 SaaS 慢,拿部署包到完成内部验证用了三周,而 SaaS 每周都有新特性"(二手来源,CSDN 选型横评 2026-09)。三周滞后对编码工具是可感知的落差——所以评估成品时"更新滞后多久"要作为硬指标写进合同,而不是部署完才发现。
课上把运维成本拆成三笔账:电费——模型跑着就在烧电,这是本地化独有的固定支出,模型规模和并发决定电费量级;模型更新——主流模型基本每季度一个大版本;工具迭代——周边工具几乎每天在动。追新本身不是目的:新模型/新工具的能力相比旧的好出一截,追不追是效率与成本的取舍——主流模型跟住就行,不必时时刻刻追第一排。
模型也在换代:一个季度一个代际
工具之外,模型权重的换代节奏同样要纳入规划。2025 年中至今的时间线:
| 模型家族 | 演进路径(发布时间) | 节奏 |
|---|---|---|
| Qwen3-Coder | 开源 2025-07 → API 到 qwen3.7 / 3.8;Qwen3.8-Flash-Next 开放权重 2026-08-26(Qwen4 架构预览) | 约一季度一代 |
| GLM | 4.5(2025-08)→ 4.6(2025-09-29)→ GLM-5(2026-02-09)→ GLM-5.3(2026-08,官方口径编程能力 +50%) | 一年半五代 |
| DeepSeek | V3.1(2025-08-21)→ V3.2-Exp(2025-09-29)→ V4 API(V4-Pro-0813 即 2026-08-13 快照,权重未开源) | API 快、权重慢 |
| Kimi | K2(2025-07)→ K2.7 Code(2026-06)→ K3(2026-06-13 / 07-27) | 约一季度一代 |
对内网部署,这张表读出两条纪律。第一,每季度做一次权重评估:新权重发布后先在测试环境跑团队自己的基准(真实代码库的补全、重构、排错任务),达标才进灰度——直接全量切换等于拿生产环境做实验。第二,先灰度一个团队再全员:给一个小组切新模型跑一两周,收集真实反馈后再推广。还要预算两类隐性升级成本:缓存失效(换模型后 prompt cache 全部作废,短则数天 token 成本上升——云 API 侧;内网侧则是重新灌库的工程时间,如 17-04 的向量库需按新 embedding 重建)与上下文行为变化(新模型的分窗、压缩、工具调用格式可能有差异,链路上的兼容测试要重跑)。另外两个换代陷阱要写进流程:许可会随代际变化——MiniMax 从 M2/M2.1 的 MIT 到 M2.5 的 NON-COMMERCIAL 就发生在一次换代里,升级权重必须连同 LICENSE 一起重新审(上一节的表每次都要重新核对);API 一代未必等于权重一代——DeepSeek V4 只有 API 持续演进、权重未开源,内网想跟 V4 这条线是跟不上的,选自建路线时就要接受"跑的永远比 API 落后一到两代"。
2026-10 课上的跟代口径,按模型线给结论:Qwen 线——追一追就行,API 已到 Qwen3.8;其中 Qwen3.8-Flash-Next(2026-08-26 开放权重,125B MoE + 51B N-gram Embedding、单 token 激活约 6B、原生 262K 上下文,来源:Qwen 模型卡与 CSDN/知乎解读)在 vLLM/SGLang 等前沿推理框架上可跑到 100+ token/s(课堂实测口径),是目前国内编程场景做本地化的优质选择;要性能与成本均衡就上千问系列。GLM 线——有大团队和硬件资源的直接上最新(GLM-5.3),性能可媲美国外闭源模型,且更新周期相对更长、跟代压力小。DeepSeek 线——模型更新快、能力强,但它在国产环境与国产硬件上的部署适配生态还不成熟,需要时间沉淀,内网选它要接受这段适配空窗期。
工具侧的取舍:稳定版本与轻量 harness
模型要追,工具不必追特性——采用相对稳定的版本即可;dsh 此刻仍处于高速发展的 preview 阶段,追前沿特性等于替它踩坑。另一段内网特有的判断:Claude Code / Codex 在纯本地场景的能力发挥可能只有六成甚至更低——它们相当一部分能力(联网检索、浏览器操作)依赖出网与大量 token 消耗,内网用不上,还平白吃并发。所以本地化代码编程与本地操作,课上推荐直接装 pi:Mario Zechner 的极简编码 agent(OpenClaw 系),只有 read/bash/edit/write 四个基础工具,多 provider 接入,支持交互/print/JSON/RPC/SDK 多模式,靠 TypeScript 扩展、Skills 与包机制扩展能力——比完整的 Claude Code/Codex 轻得多,课程后续有专门章节展开。
工具更新流水线:控版在内网,不在用户
上一节搭好了 verdaccio 私服,这节让它成为更新流水线的中枢。核心原则:关掉工具的自更新,版本控制权收归内网统一管理。
# 每个开发机的 ~/.zshrc(或由下发脚本统一写入)
export DISABLE_AUTOUPDATER=1 # 关 Claude Code 自更新
# export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 # 更彻底:连遥测/错误上报一起关
bash
再次提醒上一节说过的坑:CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 设成 0 或 false 依然是禁用,恢复必须 unset。流水线本身四步:同步——有网机器(或出口代理)定期 npm view @anthropic-ai/claude-code version 与 @openai/codex 版本,进 verdaccio 缓存;评估——changelog 过一遍破坏性变更(Claude Code 的 settings 结构、Codex 的 config.toml 字段都变过,如 wire_api 只剩 responses);灰度——私服里同时保留新旧版本,让试点组先装新版;推广——统一改内网安装脚本的版本锚点。完全断网的环境用 npm pack 导出 tarball 再入私服,配合 pnpm fetch 按 lockfile 预填离线 store(pnpm install --offline 缺包即失败,适合 CI 强校验;--prefer-offline 缺失才联网,适合日常)——这套组合的定位是工程惯例,出了版本链问题要有自己排查的准备。
把整条更新链的台账汇总成一张表,运维时按行对账:
| 更新对象 | 上游节奏(2026-10) | 控制手段 |
|---|---|---|
| Claude Code | 558 版本近乎日更(2026-11-07),安装器后台自更 | DISABLE_AUTOUPDATER + verdaccio 版本锚点 |
| Codex | 0.167.0(2026-11-06) | 私服缓存 + requirements.toml 托管配置 |
| Ollama / vLLM | 1-2 周一版 / 日更 | 灰度通过后统一升级 |
| 模型权重 | 约一季度一代 | 每季度评估 + LICENSE 重审 + 小组灰度 |
| CLAUDE.md / rules / skills | 团队自定 | git 模板仓库 + PR 评审 |
策略与规范下发:工具配置也是代码
版本管住了,配置和规范同样要集中治理,否则 100 个开发机就是 100 种配置。Claude Code 给了官方机制——managed-settings.json,托管层优先级高于用户与项目设置,可以锁 env、锁权限、锁模型:
| 平台 | 路径 |
|---|---|
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Linux / WSL | /etc/claude-code/managed-settings.json |
| Windows | C:\Program Files\ClaudeCode\managed-settings.json |
分发走 MDM(macOS 用 Jamf、Windows 用 Intune、域环境用 GPO):MDM 下发的策略每 30 分钟重读一次,文件型改动即时重载——改完托管配置,全公司机器半小时内收敛,不需要任何人手动操作。这是上一节"安全与合规"里提到的统一策略的完整形态。Codex 侧有对等机制:官方支持 managed configuration(requirements.toml),企业侧还有 LiteLLM 网关接 Bedrock 的官方文档路径——两大 harness 都提供了"配置收归管理员"的通道,治理时两边一起接入同一条下发流水线。
配置之外的 CLAUDE.md、rules、skills 这些团队规范资产,治理思路是版本化 + 模板仓库:官方机制覆盖了 settings 层面(env、权限、模型锁定都能托管),Codex 另有 plugin-management 支持从 GitHub 仓库导入并同步插件;把 CLAUDE.md 与 .claude/ 目录放进 git 模板仓库、由内部脚手架统一拉取,是社区通行做法(观点标注——第 3 章讲过 CLAUDE.md 的写法,这里治理的是它的分发与迭代)。规范文件的每次修改走 PR 评审,和业务代码同一条流水线——规范不再依赖"老人离职前的口口相传"。
课上补充两个实操点。其一,AGENTS.md 一起进模板仓:团队的 AGENTS.md(Claude Code 与 Codex 都认的 agents 配置文件)保存好、全员共享,skills/rules 全部放进 git 模板仓库,内部脚手架统一拉取;issues 模板、PR 流程这类协作资产的地址也一并放进仓库,成为公共资产,新成员开箱即用。其二,运维脚本让 AI 代劳:内网运维的脚本与流程,可以在堡垒机或有网环境里让 AI 先写好、测试好、跑通,再搬进内网使用——不需要在断网环境里手写调试;rules/skills 本身 GitHub 上有大量 awesome 仓库可查(前面章节介绍过),重点是用模板仓库管住自己的分发流程。收尾是与运维、开发同事的沟通协调:开发流程本身没有变化,AI 改变的是效率,这一点对上对下都要讲清楚。
全章收束:三个现实结论
三章下来,把最值得带走的判断收成三句话:
一、「完全离线跑 Claude Code」官方不存在,现实是换协议出口或换 harness。 Claude Code 只认 Anthropic Messages / Bedrock / Vertex 三种协议,官方明确不支持经网关路由到非 Claude 模型。内网只有三条路:社区网关做协议翻译(能用、官方不背书)、改用天生开放的工具(Codex --oss 只认 Responses API、dsh 三协议任选)、买私有化成品。
二、2026 年企业内网的主流入线是「自建三件套 + 开放 harness」,且模型许可成了新选型红线。 vLLM/Ollama 做推理、LiteLLM/new-api 做网关、verdaccio 做分发,上面接 Codex/dsh 这类开放工具——这条线全部开源组件、许可干净可控。但拿权重前先读 LICENSE:Qwen3-Coder/GLM/DeepSeek 是 Apache/MIT 可放心内网商用;MiniMax M2.5 起 NON-COMMERCIAL、Kimi K3 自定义许可——开源友好度在收紧,别拿上一代的许可外推下一代。
三、内网最大的长期成本不是首次部署而是持续更新,必须按流水线设计。 工具近乎日更、模型约一季度一代:verdaccio + pnpm fetch 做包分发、managed-settings.json + MDM 做策略下发、git 模板仓库做规范治理——三条流水线建好,内网环境才能持续演进而不是每年推倒重来。
下一章是整个课程的总结:回到 ai-chat-ui 这条主线,复盘从核心层到商业化的全程,也把本章的内网视角收进"产品化要考虑的真实部署形态"里。
小结
- 更新压力事实:Claude Code 558 版本近乎日更且默认自更新;Codex 0.167.0(均 2026-11-07 核实);Ollama 1-2 周一版;私有化成品实测滞后 SaaS 三周(二手)
- 模型跟代:主力约一季度一代(GLM 一年半五代;Qwen3.8-Flash-Next 开放权重 2026-08-26,vLLM/SGLang 上 100+ token/s);纪律是每季度评估、先灰度一个团队;预算缓存失效与上下文行为变化两类隐性成本;DeepSeek V4 权重未开源、内网跟不上这条线;GLM 线更新周期相对长、DeepSeek 线国产硬件适配生态未成熟
- 工具取舍:工具不追特性用稳定版;Claude Code/Codex 纯本地场景能力发挥约六成(联网/浏览器能力用不上还吃并发),轻量本地任务装 pi(read/bash/edit/write 四工具极简 agent)
- 工具流水线:DISABLE_AUTOUPDATER 关自更新,verdaccio 缓存 + tarball + pnpm fetch 离线 store,同步→评估→灰度→推广四步走
- 策略下发:managed-settings.json 托管层优先级最高,三平台固定路径,MDM(Jamf/Intune/GPO)分发、30 分钟重读;CLAUDE.md/rules/skills 走 git 模板仓库版本化(社区通行做法)
- 三个现实结论:离线 Claude Code 靠换出口或换 harness;自建三件套 + 许可红线;持续更新按流水线设计
↑