本地 Agent 约五十个工具怎么路由?三次踩坑换来一套小模型方案
paulqq · reddit · 2026-09-09
作者业余用 Rust 写了一个 local-first agent(llama.cpp,14B 可跑,Obsidian 库作记忆),耗时最长的不是模型,而是「这一轮该允许模型调用 50 个工具里的哪些」。他经历三个阶段、每步都先踩坑:
- grep/关键词匹配:同义词、德语聊天、"再来一次"这类表述全翻车。
- 路由短语 + embeddings:好很多,但 naive top-k 加硬 GBNF 语法会把模型锁死在路由器猜中的那一个工具上,猜错就无法中途反悔。
- 加一层策略层:不确定时放宽到一组相关工具的簇,而不是押注单一猜测。
对小型本地模型最有用的经验:让同一份"可用工具"列表同时喂给 prompt 和 GBNF 语法,保证两者对可调用集合永不冲突;路由器没把握时,别给语法只塞一个工具,给一个小相关集合让模型在约束内自己挑。全文含 Rust 代码片段。
「编程与Agent」频道最新
- ComfyMax v0.2发布:为本地ComfyUI+MiniMax H3工作流打造简化前端 — DanielVeres · 2026-09-09
- connectors 与浏览器操作让完美主义者「形式上委派、实质亲历」 — tushaarmehtaa · 2026-09-09
- 黑客松获奖记忆系统重写为零依赖 MCP 服务器 Synapse — BoringCelebration405 · 2026-09-09
- 十年老开发者放话:用 UE 加 AI 工具半年内能独立做出 GTA 级游戏 — D3VAUX · 2026-09-09
- 「一个好模型胜过一千个子智能体」引发架构之争 — tekbog · 2026-09-09
- 用 Claude Code 接管 Telegram 摘要流,自动归档个人知识库 — sebpaquet · 2026-09-09