简介:本文系统定义并解析一类以Shell脚本为核心实现的轻量级AI Agent微框架:它以约一万行脚本代码实现持久主体性、递归执行循环、轨迹记录、分层上下文压缩、记忆与技能复用等能力,让Agent像常驻进程一样持续自主思考。读完本文,你将掌握这类框架的定义、核心组成、运行原理、典型场景与选型注意事项。
这类框架是一种极简主义的AI Agent微框架,由某海外研究机构开源,其核心实现仅约一万行Shell脚本。它的核心理念是“持久主体性”:Agent作为一个常驻进程持续运行,像人类的内心独白一样不断自主思考,既不需要外部唤醒,也不依赖定时任务触发。
可以从三个视角理解它:
为什么用Shell脚本来实现?Shell是类Unix环境下最通用的系统胶水语言,天然擅长进程管理、文件操作与命令编排。用Shell实现Agent循环,意味着Agent生成的命令与其自身运行时是同构的——模型返回什么命令,框架就能直接执行什么命令,中间没有多余抽象层。同时,万行级的代码量让整个框架可以被一个人完整审计,这对理解Agent系统的本质极具价值。
传统Agent开发中存在三个普遍问题:
这类微框架给出的答案是:让Agent常驻运行,拥有持续“思维流”;用最少代码暴露Agent系统的最小完备闭环;把历史记录提升为一等公民,使其可分支、可合并。对学习者,它是理解Agent系统本质的“解剖标本”;对工程团队,它是低依赖、易改造的二次开发起点;对研究者,它提供了一种持续主体性范式的参考实现。
1. 递归执行引擎(Agent内核循环)。框架的心脏是一个递归语言模型循环:将当前上下文发送给大模型,模型返回Bash命令则执行并把输出回填上下文,再进入下一轮;返回思考或答复则相应处理。整个Agent的行为本质上就是这个循环不断展开的结果。示意伪代码如下:
while agent_is_running:ctx = compress(trajectory) # 按衰减分辨率压缩完整轨迹out = llm(ctx) # 调用大模型if out.has_command:result = sandbox_exec(out.cmd) # 在容器沙箱中执行trajectory.append(out, result) # 追加写入轨迹else:trajectory.append(out) # 思考与答复同样入轨迹
2. 轨迹系统。Agent的每一次思考、每一条命令及其输出,都以追加方式写入JSONL(JSON Lines)文件,整体构成一个有向无环图(DAG)。追加式写入保证历史不可篡改;DAG结构支持fork(从某个历史节点分叉出新尝试)与merge(把成功分支合并回主轨迹),与版本控制中“分支—合并”的思想一脉相承。
3. 分层上下文压缩。轨迹永远完整保留在磁盘上,但呈现给模型的上下文按时间做指数级衰减分辨率的压缩:越近的思维与行动保留越完整的细节,越久远的内容被逐步摘要降采样。这类似人类记忆“近事清晰、远事模糊”的机制,在有限上下文窗口内兼顾长期一致性与近期精确性。
4. 思维调度器。框架内可同时运行多个反应式思维进程,各自关注不同目标,自主决定下一步思考什么、何时回应人类、何时保持沉默。Agent由此从“单线程应答机”变为“多线程思考体”。
5. 文件式记忆系统。以文件为载体存储记忆:Agent把重要经验、事实与结论写入文件,后续循环中随时检索读取,实现跨会话的经验沉淀与知识积累。文件系统天然可版本管理、可人工审查,是简单可靠的记忆方案。
6. 技能复用机制。Agent可以把某类专项任务的成功处理流程,沉淀为以Markdown等纯文本格式编写的技能描述文件;再次遇到同类任务时直接调用,无需从零探索,相当于建立了可迭代的“操作手册库”。
7. 多平台接入与共享思维流。支持通过主流即时通讯平台与内置聊天应用接入,整个团队共享同一个Agent思维流:多人从不同入口提问,Agent在同一份轨迹与记忆之上统一思考和回应。
8. 容器沙箱。Agent生成的命令默认在容器中执行,文件系统、网络与进程被隔离,防止模型输出的意外或恶意命令破坏主机环境。
9. 自我改进闭环。Agent可以fork整个代码库,自主修改代码并运行测试,测试通过则将修改合并回主分支,失败则丢弃该分支,框架本身因此成为Agent可改进的对象。
10. 实时观测面板。通过浏览器实时查看Agent的思维流、内心独白与行动日志,为调试、审计和建立信任提供可观测性。
11. 多模型接入。通过统一的命令行接口兼容多家主流大模型服务商,模型可替换、可对比;国内开发者也可以通过百度智能云等平台提供的大模型服务接入相应模型能力,降低单一供应商绑定风险。
可以把框架的运行比喻为不停歇的心跳:感知新事件(用户消息、命令输出等)→ 按指数衰减分辨率构建上下文 → 调用大模型产生下一步动作 → 在沙箱中执行命令 → 将思维与行动追加进轨迹DAG → 把有价值内容写入记忆与技能文件 → 回到起点继续循环。由于这个循环永不休眠,Agent才能表现出持续的自主性;而由于每一步都被记录、可分支,它的行为才可回放、可审计、可改进。
回到定义:这类框架是用约一万行Shell脚本实现的极简AI Agent运行时,以“持久主体性”为核心理念,通过递归执行循环、轨迹DAG、分层上下文压缩、思维调度、文件记忆与技能复用等机制,让Agent成为持续思考、可沉淀、可协作、可自我改进的数字主体。它的价值不仅在于功能本身,更在于以极高透明度展示了Agent系统的最小完备形态;其适用边界在于探索性、长周期、可容忍试错的场景,而对强确定性流程仍应选择传统编排方案。对希望深入理解或定制Agent系统的开发者而言,它提供了一个兼具学习价值与工程起点的参考实现。