跳到正文
meng shao· @shao__meng · X·· 2026-04-27AI 评分63
AI 导读

开发者@patloeber分享了一套完全本地的Coding Agent方案,核心是Pi Agent框架与Gemma 4 26B A4B模型。Gemma 4因原生支持function calling和thinking mode,首次真正适合作为Agent;其MoE架构在质量与速度间取得平衡。Pi框架设计极简,仅提供read、write等四个核心工具以节省宝贵的上下文窗口。文中强调了上下文长度与显存的权衡,并给出安全警告:本地模型可能产生危险命令幻觉,建议至少安装permission-gate等扩展进行防护。

正文 · 原文

用 Gemma 4 + Pi Agent 在本地跑一个 Coding Agent

@patloeber 搭建了一个 100% 本地 Coding Agent:
LM Studio(模型服务) + Gemma 4 26B A4B(Q4_K_M 量化)+ Pi(终端 Agent)

模型选型:为什么是 Gemma 4 26B A4B

Gemma 4 相比前代有三个关键升级,使其首次真正适合做 Agent:
· 原生 function calling
· 支持 system prompt
· 具备 thinking mode

26B A4B:MoE 架构,总参数 26B,每 token 只激活 4B。质量接近大模型,速度接近小模型。

尽管激活只有 4B,但 26B 全量必须加载到显存(路由需要),所以显存占用仍按 26B Dense 模型估算。

不同显存量化建议:
· Q4_K_M:18 GB,平衡推荐
· Q6_K:24 GB,更高质量
· Q8_0:28 GB,接近原版

上下文与显存的权衡(实战要点)

256K 上下文是上限,不是必须。Context 越大,额外 VRAM 占用越多,不同场景上下文推荐:
· 单文件小改:16K
· 标准编码:64K
· 多文件重构:128K
· 全仓库:256K

作者建议:显存允许就上 128K。Agent 会快速堆积上下文(文件内容、工具输出、对话历史),中途爆 context 非常糟心。

OOM 排错顺序:先降 context size,再调 GPU offload。

Pi:极简主义的 Agent 框架

Pi(作者 Mario Zechner / badlogic)的设计哲学很值得关注——反堆砌:
· 核心只给模型 4 个工具:read、write、edit、bash
· 系统提示极短,token 高效
· 一切扩展能力通过 skills、extensions 注入

这对本地模型尤其重要:本地模型上下文窗口和理解能力都不如 GPT-5 / Claude,臃肿的 system prompt 会直接吃掉它的"工作内存"。Pi 把上下文预算尽可能留给真正的任务。

会话管理命令(缓解上下文压力):
/compact —— 压缩历史
/new —— 全新会话
/tree —— 浏览历史快照
/fork —— 从某节点分叉,不丢主线

安装与连接(关键配置)

npm install -g @ mariozechner/pi-coding-agent

~/.pi/agent/models.json 让 Pi 指向本地 LM Studio:
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{ "id": "google/gemma-4-26b-a4b", "input": ["text", "image"] }
]
}
}
}

能力扩展:Skills vs Extensions

· 形态:Markdown 指令包 vs. TypeScript 模块
· 能做:注入领域知识/流程 vs. 自定义工具、命令、UI、权限、子 Agent
· 触发:/skill:name 或自动发现 vs. 启动加载

值得装的几个:
· liteparse:本地解析 PDF/DOCX/PPTX。Gemma 只能读图,所以文档要先被它转格式
· pi-skills:作者维护的官方合集
· frontend-slides、grill-me 等

安全警告(容易被忽略的部分)

Pi 默认 YOLO 模式,bash 命令不询问直接执行。

本地模型出现幻觉的概率高于云端旗舰模型,"幻觉一条 rm -rf 命令"的风险是真实存在的。

作者给的三层防护选项:
· permission-gate 扩展:危险命令前弹确认(轻量)
· cco:把命令丢容器里跑(中等)
· sandbox 扩展:完整沙箱(重)
至少装第一个。

# 原文在这
https://patloeber.com/gemma-4-pi-agent/

引用Patrick Loeber@patloeber
Lately I've been having fun with running coding agents fully locally. The setup I landed on is: - Pi agent - Gemma 4 26B A4B - Server of choice: LM Studio/Ollama/llama.cpp I wrote a step-by-step guide with instructions on how to set it up: http://patloeber.com/gemma-4-pi-agent/
在 X 查看被引用的帖子

来源:meng shao · x.com