vscode里开了四个codex拓展 + 一个 claude把我cpu吃满了,不是哥们,我9700X啊

按理说,8 核 16 线程的桌面 CPU,日常开发应该不算弱.

但我同时开了:


4 个 Codex
1 个 Claude

然后 CPU 直接跑到 100%.

因为这些 agent 背后的大模型推理,又不是在我本机 CPU 上跑.

那为什么还会这么吃性能?

排查了一圈以后,我发现问题不在"聊天模型推理".

真正重的是:


多个 agent 同时驱动本地工具链.

这篇就把这个问题整理一下.

0.先说结论:不是9700X弱

我看到本机当时的情况大概是:


codex.exe 4 个
claude.exe 2 个
VS Code 子进程 30 多个
VS Code 相关内存 6GB+
多个 vite / pnpm dev / go run
多个 language server
多个 file watcher
多个 extension host

任务管理器里看到的:


Visual Studio Code (71)

这不是一个单独的 VS Code.

它其实是一组进程.

里面可能有:


Codex / Claude agent
VS Code extension host
terminal pty host
renderer / webview
TypeScript language server
Go language server
file watcher
Git refresh
vite dev server
pnpm dev
go run

所以 CPU 跑满的时候,不能简单理解成:


VS Code 太卡

也不能简单理解成:


Codex 本地推理把 CPU 吃满

更准确的说法是:


agent + VS Code + dev server + language server + file watcher 同时被触发.

这才是峰值来源.

1.Agent不是普通聊天窗口

如果只是开 5 个网页聊天窗口,本地 CPU 压力不会这么夸张.

但 Codex / Claude agent 不一样.

它不是只在聊天.

它会干这些事:


搜索文件
读取代码
分析目录
修改文件
跑测试
跑构建
执行 shell 命令
生成 diff
触发 Git 状态变化
触发 language server 重新分析

比如一个 agent 在项目里搜索:


rg "TODO"

另一个 agent 在跑测试:


python -m unittest

第三个 agent 改了前端文件.

第四个 agent 又触发了 vite 热更新.

Claude 那边也在读文件或改文件.

这些事情叠起来,就不是"聊天开销"了.

可以看这张图:

Agent并发引发的本地工具链峰值

这张图里最关键的是:


agent 一动文件,本地工具链就会跟着动.

比如:


agent 改 TypeScript
-> VS Code watcher 发现变化
-> tsserver 重新分析
-> Git refresh
-> Vite 热更新
-> agent 又跑测试

如果是 1 个 agent,问题还好.

如果是 5 个 agent 同时做这些事,8 核 16 线程被打满就不奇怪了.

2.为什么VS Code插件模式更吃资源

我后面又问了一个问题:


在 VS Code 的 Codex 插件里跑,
是不是比终端 CLI 更吃资源?

答案是:


通常是的.

不是因为插件模式的模型更大.

而是因为插件模式多了一层 VS Code 环境.

大概可以这样理解:


VS Code 插件模式
-> VS Code window
-> extension host
-> codex.exe app-server
-> powershell / conhost
-> file watcher / language server / git refresh
-> webview / renderer

而终端 CLI 更接近:


codex.exe
-> powershell helper
-> conhost

结构差异大概是这样:

VS Code插件模式和CLI模式差异

插件模式的优点也很明显:


交互舒服
diff 展示直观
权限提示清楚
和编辑器集成好

但如果要高并发跑 4-5 个 agent,插件模式的额外开销就会明显.

因为每个 VS Code 窗口可能都带着:


extension host
renderer
webview
file watcher
language server
Git 状态刷新

这就是为什么:


一个 VS Code 插件 agent 还好.
四五个 VS Code 插件 agent 同时跑,本地会明显重很多.

3.如果我就是要跑4到5个agent怎么办

可以跑.

但是要换跑法.

核心原则是:


把 agent 干活 和 你看代码/Git diff 拆开.

不要让每个 agent 都挂在一个完整 VS Code 窗口里.

更推荐:


Windows Terminal:
tab1: codex -C C:\proj1
tab2: codex -C C:\proj2
tab3: codex -C C:\proj3
tab4: codex -C C:\proj4
VS Code:
一个 multi-root workspace
同时打开 4 个项目
只负责看代码和 Git diff

结构大概是这样:

4个项目4个Agent推荐跑法

这样做的好处是:


agent 仍然可以并发跑.
但 VS Code 只启动一套主 UI.

你依然能在 VS Code 里看 4 个项目的 Git 状态.

但不用开 4 个完整窗口.

可以用这个命令打开:


code C:\proj1 C:\proj2 C:\proj3 C:\proj4

或者做一个 .code-workspace.

以后直接打开这个 workspace.

4.如果是同一个项目多个agent怎么办

如果是同一个项目,不要让 5 个 agent 同时改同一个工作区.

更稳的方式是:


每个 agent 一个 git worktree.

比如:


git worktree add ..\repo-agent-1 -b agent-1
git worktree add ..\repo-agent-2 -b agent-2
git worktree add ..\repo-agent-3 -b agent-3
git worktree add ..\repo-agent-4 -b agent-4

然后分别跑:

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐