
本文适合部署本地低速 LLM、用 #nanobot# #养慢虾# 时发现各种抽风的朋友。不堆术语只讲怎么动手。一、 nanobot初始配置# 1.1 初始化先给个建议请安装在虚拟机或容器中。以下为安装在lxc容器中ubuntu虚拟机情形下的示例。安装好 nanobot 后得先跑一次 onboard 初始化nanobot onboard -w ~/.nanobot/workspace -c ~/.nanobot/config.json这条命令会创建两样东西工作区 ~/.nanobot/workspace/ — 放 SOUL.md、USER.md、MEMORY.md 等配置文件 ~/.nanobot/config.json — 所有配置都在这里修改config.json 可以设好你的本地LLM以及#飞书#等。如果想用多项目比如一个来编程一个来做帐 你可以再来一套nanobot onboard -w ~/.nanobot/workspace2 -c ~/.nanobot/config2.json每个项目各自有自己的配置文件和工作区互不干扰# 1.2 启动nanobot agent或者指定配置和工作区:nanobot agent -w ~/.nanobot/workspace -c ~/.nanobot/config.json启动后就可以跟 #nanobot# 对话了。后台运行,通过#飞书#管理对话那么需要nanobot gateway类似的如果要制定工作区和配置nanobot gateway -w ~/.nanobot/workspace2 -c ~/.nanobot/config2.json想停掉 那就在nanobot运行的界面按 CtrlC。二、加大延时搞定一切慢# 2.1 慢速LLM会超时如果本地 LLM 速度只有 8.5 t/s甚至更低跟 #nanobot# 闲聊几句可能还行。但你让她干点事——比如审计项目代码、整理点资料、聊长一点——她就开始抽风了聊着聊着对话突然断了该等的时候不等直接超时上下文构建出错token 数超标有不少问题都是由于慢速LLM带来的超时造成的本地低速LLM 跑一个 2000 token 的回复可能要等 4 分钟不止。nanobot 默认 120 秒超时对本地低速LLM 来说根本不够。所以首先你得解决超时问题。你也可以先连接远端大模型api让nanobot自己修改超时问题。# 2.2 修改超时参数如果你和我一样用了比较新的nanobot 2025-05-20以后至今的版本的而且你的本地LLM设置使用的是openai兼容协议。那么只要你改一个地方就可以解决 #养慢虾#超时的问题。直接改代码一行搞定。打开nanobot/providers/openai_compat_provider.py找到第 68 行左右有_OPENAI_COMPAT_REQUEST_TIMEOUT_S 120.0把120.0 改成 1800.0 30 分钟重启后超时问题即可搞定。# 2.3 验证改完代码后重启 nanobot停掉旧的再跑一次nanobot gateway启动后跟 nanobot 聊长一点10 轮以上或者让她编编程序、搜个文件看会不会突然断掉。如果不再超时就对了。三、让 nanobot 干点事他就能找出自己的 bug超时改完nanobot 基本能用了。你可以让她干点事试试如果你想不出来适合的事情让她做。那你可以让她找找自己的系统代码上下文构建的问题看看她的能力。你猜怎么着Now I need to add budget tracking to _run_agent_loop where the prompt is assembled and sent. Let me find the key areas read …/AI/HKUSDbot/nanobot/agent/loop.py看完了核心发现如下 当前问题 nanobot 完全没有 token 预算控制机制。 所有代码都是写进去再说没有任何预算追踪、限额检查或预算感知的截断。 具体现状 1. context_window_tokens 配置项存在但从未被使用 — 只在 AgentLoop.__init__ 里存了一下没有任何地方读取它来做预算控制 2. max_tool_result_chars 是硬截断 — 工具结果超过这个值就截断但完全不考虑上下文窗口还剩多少空间 3. _replay_token_budget() 方法名有 budget 字样但实际返回的是消息数量 — 完全不是 token budget是历史消息条数上限 4. _save_turn 里对 tool 结果做硬截断 — 同样不考虑预算 5. _sanitize_persisted_blocks 里的 should_truncate_text 也是硬截断 6. truncate_text_fn 是固定截断 — 没有预算感知 7. TokenBudget 类我刚才新建的是全新代码还没被集成看到了吧有些问题 nanobot 是可以自己修好了。不过我得提醒你得做好nanobot把自己修理残废的打算。四、适配哲学工具应该适应人不是人适应工具。本地 LLM 慢不是你的问题也不是 nanobot 的问题。只是它们还没磨合好。改一个超时设置剩下的可以让 nanobot 自己处理。 我就是这样调教nanobot来#养慢虾#别急着换模型、换硬件可以让工具适应你的速度。#养慢虾#金句慢不是缺陷是另一种节奏。8.5 t/s 够用了够你思考够她回应够你们好好聊完一句话。关于 nanobot 我以前也发过攻略可以参考nanobot 进阶指南——打造能自我进化的智能体nanobot 高阶应用AI 自己开发 Web 服务–微纳龙虾上云实录