Skip to content

本地大模型摸鱼写代码配置

目标:用本地跑的大语言模型辅助写个人小项目,对效率要求不高,摸鱼时间写, 只要能代替一部分我的操作就行,它写不了的我可以兜底。

工具:尽量精简

  • pi coding agent。oh my pi也可以但我还是选了最轻量级的pi,能用就行。
  • whichllm,用来估算本地跑各个模型的参数,比如多少会被发配到CPU,token 效率,模型更新时间等等。
  • 模型试了一圈后选了qwen3.6,35B,在我的硬件上跑来是龟速,但是再降智就 没法写代码了。
  • codegraph:帮助模型理解代码结构。

优化pi coding agent

为了减少agent研究代码的成本,使用codegraph插 件,生成代码结构图,实时 跟踪代码改动。

然后给pi添加了行为指南,放在~/.pi/agent/AGENTS.md,让它有问题就问我, 别内耗。文章末尾有我的AGENTS.md供参考,我感觉可以再精简点。中心思想是 不懂就问,别原地打转。有个坑是,这个文件虽然会显示在context里,但是本 地模型并没有主动读,于是我又加了一个命令(相当于skill)叫做follow,放在 ~/.pi/agent/extensions/follow.ts,它只需要做一件事,就是读AGENTS.md。 每次打开pi都先跑/follow让它读一遍。

不建议关掉thinking模式。本地模型本来就不是很快,关掉就不知道它哪里卡壳, 没法叫停。我开始走了一个弯路是靠关掉thinking来省token,后来发现最耗能 的是反复绕圈子,关了thinking它就在一个黑盒子里空转。

摸鱼项目流程

摸鱼做个人小项目,不需要生产级别,差不多就行,所以本地模型+个人知识储 备两个菜鸡正好凑出个能用的应用。

项目起始

我的流程是自己手写一份基本需求、用户交互方式,塞给强力的商业大模型,比 如GPT,DEEPSEEK,讨论一轮架构,让它出一个文档,存到本地当教学大纲。写几 个重要文件:

  • REQUIREMENTS.md:最顶层的用户需求,类似于产品经理写的那种,技术细节 不需要太多。这个用来跟大模型讨论架构。
  • ARCHITECTURE.md:跟商业模型讨论完毕就存到这个文档,作为本地模型的参 考标准。chatgpt一次能写个八九不离十,我过个目再改改就够用了。
  • EXECUTION_PLAN.md:拆解步骤,强调你要用来喂本地模型,商业模型会量身 定做给拆解得很细,每个里程碑都有具体的该做什么,怎么测试,怎样算做 完。这个文档边用边改。
  • TASKS.md:只放当前任务,从EXECUTION_PLAN.md里摘抄。这个摘抄工作可以 让本地模型去做。

第一个任务是搭好框架,搭好后可以跑codegraph init,项目就正式开启了。 这个步骤可以让本地模型做也可以自己做,本地模型不一定有自己写来得快。反 正只是创建一些文件夹和文件,自己做也很快。

项目执行

打开pi,/follow让它读一遍行为指南,接下来让它复习上面几个文档,它会自 动调用CodeGraph。

每个新的session都让它读TASKS.md,集中攻击当前小任务。执行过程中, context window经常超,用的越久越容易干活干到一半就停了。需要去输入个 continue,期间正好等电脑冷却。我有时嫌麻烦了就干脆退出重开个新的session。

有空摸鱼就观察本地模型的小脑瓜在想啥天马行空的,跑偏就截停给点指示。没 空放着让它自己琢磨也行,反正最终它要通过EXECUTION_PLAN.md里写的需求。 只要指引做得好就不至于瞎写还不自知。有了AGENT.md的方针,原地打转几轮就 会自己停下来等我给提示,不会空转。

水平堪忧是没办法的事,所以我如果时间有盈余,会接手自己写然后告诉它我写 完了,这样避免它从缓存捞旧版本然后覆盖我写的。商业模型可以几小时写完的, 本地模型+我摸鱼合作写可能磨洋工几天才能写完,但是我只需要把握大的框架+ 出手相助,大部分繁琐的细节不需要操心,已经很回本了。

碎碎念

自己机器本地模型写程序的整体思路跟上班刷token区别很大,甚至相悖。上班 (假装)提效想的是自动化,多线程,skills,赶潮流。我跑本地模型则是琢磨 怎样让这个初中生水平的模型跟我一起合作,达到将就能用、胜在免费的效果, 所以会很大程度保留人的参与度。由于硬件低配的限制,不会有错过ai届最新动 向的焦虑,能找回一点手搓代码的心流。

参考

AGENTS.md

Greet user with 大佬你好 when starting up

Every response begins with 大佬我想好了

## Rules when running on locall models via ollama

You are operating with a limited-capability local language model.

Your primary goal is to make reliable progress, not to appear autonomous.

### Core Principle

When uncertain, ask the user.

A short clarification question is preferred over speculative reasoning, repeated failed attempts, or excessive token usage.

When exploring the codebase, use the CodeGraph extension

### Escalation Rules

Immediately ask the user for guidance if any of the following occur:

 - You have trouble finding a file
 - You have tried two substantially different approaches and neither succeeded.
 - You are unable to determine the user's intent with high confidence.
 - You need to choose between multiple architectural directions.
 - You encounter ambiguous code or requirements.
 - You are repeatedly generating the same reasoning without producing new evidence.
 - You are spending more than 5 reasoning steps without a concrete action.
 - You are tempted to "keep thinking" instead of gathering information.
 - You are about to make a potentially destructive change.
 - You are unsure whether a detected issue is the root cause.
 - You find yourself revisiting the same files repeatedly without making progress.

### Anti-Spinning Policy

Do not continue reasoning indefinitely.

Warning signs:

* Repeating previous thoughts.
* Re-reading the same files.
* Re-running the same commands.
* Suggesting the same fix multiple times.
* Producing long analyses without actions.

If any warning sign is detected:

STOP.

Summarize:

* What you know.
* What you tried.
* What is blocking progress.

Then ask a concise question.