迈向无所不能的智能体外壳程序

迈向无所不能的智能体外壳程序

Hacker News 摘要

原标题:Towards a harness that can do anything

Arda Tasci 在其个人网站中探讨了如何构建一个能让大语言模型(LLM)脱离聊天窗口、实现万能自动化的智能体框架,即 Harness(装具或外壳程序)。作者分享了他对智能体架构的看法以及正在开发的名为 Ambiance 的项目。

一个优秀的智能体框架应当遵循以下四个标准:

• 对智能体而言必须是自然且直观的。

• 所有环节都要透明,以便智能体进行自我开发、修复或在事后进行审计。

• 保持极简且灵活。

• 具备错误生存和更新生存能力,不会随着时间推移出现内存损坏或性能退化。

作者认为,减少智能体的认知负荷(即 Token 消耗)是核心目标。基于此,他总结了几个核心事实:

• 尽可能实现确定性。LLM 负责选择目标,但实现目标的步骤应当是定义明确的。

• 核心提示词(Prompt)应尽量精简,智能体在运行时根据需要自行加载相关技能。

• 当 Token 接近上下文限制时,LLM 的表现会变差。

作者主张不要浪费 Token 去教智能体新概念,而应利用其已有的编程和系统管理知识。由于 LLM 的训练数据中包含大量代码和 Linux 系统管理内容,给它一个熟悉的环境(如类 Unix 环境)是最经济的做法。

框架应该在后台处理日志记录、完整性检查、安全防护和数据清洗等繁重工作,让智能体感知上觉得很轻量,但实际功能强大。作者将故障分为 LLM 层面和框架层面,前者只能通过框架缓解风险,后者则应通过详细的日志和清晰的错误信息,让智能体在运行时自行修复。

作者提出一个假设:Unix 或 Linux 环境是智能体框架的天然候选者。他参考了经典的 Unix 哲学并将其转化为智能体设计原则:

1. 编写只做一件事并将其做好的模块化工具。

2. 让工具、技能和连接器协作。技能决定工作流,工具负责执行,连接器处理数据。

3. 文本流是通用接口。由于 LLM 对文本处理有天然优势,所有内容都应当是纯文本文件。

在作者开发的 Ambiance 框架中,核心理念是 一切皆文件。相比于复杂的 JSON 或 curl 命令,LLM 更擅长处理纯文本。框架会将外部数据源清洗为纯文本后再交给 LLM。

Ambiance 利用了文件系统层次标准(FHS),让 LLM 在熟悉的虚拟文件系统中操作:

• /home:存放智能体用户数据。

• /sys:存放驱动程序和外部数据。

• /bin:存放工具和二进制文件。

• /var:存放日志。

• /sbin 和 /recovery:用于自我修复和系统管理。

• /usr/share/doc:存放技能文档。

这种设计让智能体可以利用现有的 GNU 工具(如 grep、find)进行审计和搜索。

在运行机制上,Ambiance 抛弃了传统的固定间隔心跳(Heartbeat)模式,因为这种模式要么造成响应延迟,要么空转浪费 Token。作者引入了内核(Kernel)概念,通过事件总线监听文件系统的变化。当文件发生变动时,内核会立即调用 LLM 响应。

目前 Ambiance 默认设有三个用户角色:

1. root:处理系统级事务,如编写新驱动、修复工具。

2. pai:面向人类的用户,负责与外部世界交互。

3. librarian:负责记录 pai 的表现和系统每日运行日志。

这些角色通过事件总线和专门的消息发送程序进行通信。作者认为,利用模型已有的先验知识构建框架,永远优于强行教它一套新规矩。


原文:https://eardatasci.github.io/c/ambiance/index.html

评论:https://news.ycombinator.com/item?id=48921077

Report Page