Prefix‑Cache 友好的 SubAgent 派生:一种 fork() 式设计
这里记录着我个人对 LLM Agent 的 Ideas
最近的工作 最近,我自己编写了一个给自己用的 CLI 工具 (OMG CLI)
设计这个 CLI 的时候大范围借鉴了 kimi-cli
而关于 CLI 的设计上来说,业界也会有诸多的人如我一般,都会思考两件事
上下文如何节省 注意力如何不分散 于是我们今天就来聊一聊,我对这两件事的不同看法和实践
我们首先必须得知道的一个前提是上下文很昂贵
这个昂贵有两层含义,一个是经济上的,一个是对于 Agent 来说的
前者不必提,后者其实就是当上下文接近 80% 的时候 AI 就会被记忆给拖累以至于无法再有新产出
基于这个前提,我们自然会有许多手段来防止上下文溢出
先说三个业界内比较普遍的手段。
1. 上下文压缩 让 LLM 自己把整个上下文压缩,去掉冗余信息 kimi-cli 在这点上做的非常顶,它们的 COMPACT.md 非常棒。
2. 动态裁剪 上次跟朋友讨论这个的时候,朋友分享了一个 OpenCode 的插件
就是把一些不必要的 ToolCall 和 ToolResult 让 LLM 自己压缩起来
这种方案缺点是会导致模型提供商围绕请求做的缓存失效。
3. 子代理 (SubAgent) 当前的 SubAgent 的方案其实就是多花 Token 外包某项任务给其它 Agent,而后 Main Agent 就可以通过 SubAgent 的汇报来保证自己注意力和上下文不分散,其实就是砸钱。
4. 我个人的方案 (Fork) 我个人的方案是操作系统那个异常经典且令人拍案叫绝的 fork() 函数
Read more...