近日,一支来自前沿AI实验室的研究团队发布了一篇技术报告,提出了一个引人深思的设计理念——“文件优先于工具”(Files over tools)。他们展示了一种新型智能代理架构:以虚拟文件系统(Virtual Filesystem)为统一抽象层,以Bash为执行引擎,让AI与工具交互的方式发生了根本性改变。这一方法被认为有望大幅简化智能代理的构建与扩展,并使其行为更可预测、更易调试。

当工具变成“文件”:一个自然统一的操作界面

当前主流的智能代理多采用“工具调用”模式:开发者预先定义一系列函数(如搜索、计算、绘图等),并让大语言模型(LLM)学会在对话中生成函数调用请求。这种模式虽然直接,却存在明显痛点——工具的输入输出格式各异、组合调用时上下文管理复杂、且模型难以“理解”工具之间的状态关系。

研究团队提出的解决方案出奇地简洁:将所有工具、数据源甚至外部服务,都映射为虚拟文件系统中的文件节点。代理不再需要显式地“调用工具”,而是像人类使用计算机一样,通过读写文件、操作目录、执行管道命令来完成任务。

例如,一个天气查询工具不再是一个API函数,而是挂载在/tools/weather/下的一个只读文件。代理只需用cat /tools/weather/Beijing即可获取当前天气。搜索引擎变为/tools/search/query文件,写入关键词即可读取结果。这种“一切皆文件”的设计,让工具的使用方式高度统一,大大降低了模型的认知负担。

Bash:连接AI与操作系统的通用语言

围绕虚拟文件系统,团队选择Bash作为主要的交互语言。代理被赋予一个Bash shell环境,可以执行任何标准Unix命令——ls、cd、mkdir、cat、管道、重定向、进程管理等,全部对模型开放。

但关键区别在于:代理操作的不仅是本地磁盘,还包括一个动态生成的虚拟文件系统。这个VFS由框架负责挂载,其中既包含静态资源(如知识库文档),也包含动态工具节点。模型通过Bash命令对VFS进行读写,框架则在后台将文件I/O转换为真实的工具调用或数据获取。

“我们其实是将工具调用简化为文件操作,”团队在报告中写道,“而Bash则是这个微环境中的‘元语言’,它让模型可以组合、排序、过滤任何模块的输出,就像用脚本来编排工作流一样自然。”

一次演示:从获取数据到生成报告

为了展示这一架构的实际效果,团队公开了一段视频演示。代理被要求“收集最近三天关于AI芯片的市场新闻,并汇总成一份摘要报告”。

在传统模式下,这可能需要依次调用搜索、文本抓取、摘要生成等多个函数。而在新架构下,代理写下如下Bash脚本:

# 将搜索关键词写入工具文件
echo "AI chip market news last 3 days" > /tools/search/query
# 读取搜索结果列表
cat /tools/search/results > /tmp/search_results.txt
# 遍历每个结果,读取内容并追加到临时文件
for url in $(cat /tmp/search_results.txt); do
    echo $url > /tools/fetch/url
    cat /tools/fetch/content >> /tmp/raw_articles.txt
done
# 调用摘要工具
cat /tmp/raw_articles.txt > /tools/summarize/input
cat /tools/summarize/output > report.txt

整个过程完全透明——每个步骤都对应文件系统的读写,中间结果可随时通过less查看,任何错误都会以文件内容形式暴露(如/dev/stderr)。团队强调,这种“可审计性”(auditability)是传统工具调用模式难以达到的。

优势与挑战:虚拟文件系统带来的范式转变

采用“文件优先+ Bash”的架构,带来了一系列显著优势:

  1. 接口统一:无论内部实现是API调用、数据库查询还是本地计算,对外表现都是文件读写,模型无需记忆多种调用格式。
  2. 组合能力:利用Bash管道和重定向,代理可以轻松串联多个工具,甚至创建临时目录进行多阶段处理,这让复杂工作流变得简单直接。
  3. 人类可读:所有操作序列都是标准Bash脚本,开发者可以查看、修改、回放代理的行为,大大降低了调试难度。
  4. 安全边界:虚拟文件系统可以严格限制代理能访问的路径,避免对真实系统造成破坏,同时可以通过挂载点精细控制权限。

不过,这一方法并非没有挑战。首先,并非所有工具都天然适合以文件接口暴露(如实时流媒体或高频交互服务)。其次,Bash脚本的健壮性依赖于模型生成的正确性,而当前大模型在处理复杂shell错误方面仍有不足。此外,虚拟文件系统的性能开销在极端场景下可能成为瓶颈。

前景:重新定义人与AI的协作方式

研究团队认为,这一架构可能预示着一个更通用的智能代理范式。当AI能够像熟练系统管理员一样在Unix环境中自由探索时,很多过去无法解决的问题——如动态工具发现、长时间运行任务、跨工具事务——都会找到优雅的解决方案。

事实上,近年来已经有多个项目试图将文件系统概念引入AI领域(如AgentFS、ToolFS等),但将Bash作为第一交互语言的做法仍属首创。团队已将该框架的核心代码开源,并计划在未来加入对FUSE(用户态文件系统)的支持,使任何本地文件系统应用都能与代理无缝协同。

“与其为AI设计一百种工具接口,不如给它一个文件系统和一门脚本语言,”团队成员在博客中总结道,“因为人类最强大的工具,从来都不是工具本身,而是我们操作工具的方式。”


参考来源:[“Files over tools: how we built our agent with a virtual filesystem and bash”] 原始技术报告及演示视频