这是个很好的问题,本质上你在问:“既然大模型在远端,为什么本地还会用到 GPU?”
答案是:不一定需要,但很多“编程 agent”框架会在本地做额外计算,而这些计算会用到 GPU。
可以从几个层面理解:
一、LLM 本身确实不占你本地 GPU
如果你只是通过 API 调用(比如 OpenAI、Claude 等),那么:
推理发生在远程服务器
本地只做:
发送请求
接收结果
👉 理论上完全不需要 GPU
二、编程 Agent ≠ 只是调用 LLM
现代 agent(特别是复杂的 coding agent)通常包含很多“本地智能模块”,例如:
1. 本地 Embedding / 向量检索(最常见)
用于代码理解、RAG(检索增强生成):
把代码库转成向量
做相似度搜索(找相关文件/函数)
常见实现:
sentence-transformers
bge / e5 模型
👉 这些模型:
可以跑 CPU
但用 GPU 会快很多(数量级差异)
2. 本地 reranker(重排序模型)
为了提高检索质量:
先粗筛(embedding)
再用小模型精排
👉 reranker 通常是:
cross-encoder(比 embedding 更重)
强烈依赖 GPU
3. 本地小模型(辅助推理)
有些 agent 会用:
小型 LLM(如 1B–7B)
做:
代码补全
工具选择
快速判断
👉 这些:
很多默认走 GPU(比如用 transformers / vLLM / llama.cpp GPU backend)
4. 代码执行沙箱 / JIT / 数值计算
如果 agent 涉及:
数据分析(numpy / torch)
自动训练模型
图像处理
👉 就会触发 GPU(尤其是 torch 自动用 CUDA)
5. IDE / 插件层(你可能忽略的)
比如:
本地 Copilot-like 插件
代码语义分析
AST embedding
👉 有些会偷偷调用 GPU
三、还有一种情况:你“以为是远程”,其实不是
很多框架支持 fallback:
例如:
远程 LLM 挂了 → 自动切本地模型
或混合模式:
远程 GPT-4
本地 CodeLlama
👉 这时 GPU 就会突然被吃满
四、总结一句话
👉 LLM 在远端 ≠ 整个 agent 都在远端
编程 agent 通常结构是:
本地:
- embedding
- 检索
- rerank
- 工具执行
- 小模型
远程:
- 大模型推理(主脑)
👉 只要本地有“模型”或“数值计算”,GPU 就会参与
五、如何确认是谁在用 GPU(实用)
你可以快速定位:
nvidia-smi
看进程:
python→ 大概率是 embedding / torchnode→ 有些 JS 框架也会调 GPUollama/llama.cpp→ 本地 LLM
六、如果你不想用 GPU
可以这样做:
禁用 CUDA:
export CUDA_VISIBLE_DEVICES=""embedding 强制 CPU:
model.to("cpu")检查:
是否启用了本地模型(ollama / llama.cpp)
是否使用了 reranker