SQLite轻量级、单文件存储的特性,非常适合记录代理状态、处理审计、确保合规性和管理快照。但怎么把它很好的应用在Agent系统中,却缺少优雅的案例。今天介绍的由Pekka Enberg与Turso数据库的Glenn Snelling合作开发的项目AgentFS,它就是基于SQLite,专为AI智能体设计的状态管理系统,将整个智能体运行时封装在了单个SQLite文件中。
项目地址:https://github.com/penberg/agentfs

核心架构
AgentFS的核心是基于Turso实现的SQLite存储系统,结合了三个关键组件:POSIX风格虚拟文件系统、键值存储和审计追踪工具。所有文件操作、工具调用和状态变更都记录在SQLite中,可用SQL查询完整历史;快照功能让任意时间点状态重现成为可能;单文件设计使整个智能体运行时可轻松迁移。
项目提供四个主要组件:CLI命令行工具、TypeScript和Rust的SDK库、Linux兼容的沙盒执行环境,以及完整的SQLite架构规范。目前仍处于Alpha阶段,仅用于开发测试。
实际使用示例
CLI操作相当直观:
$ agentfs init
Created agent filesystem: agent.db
$ agentfs run /bin/bash
Welcome to AgentFS!
$ echo "hello from agent" > /agent/hello.txt
$ exit
$ agentfs fs cat hello.txt
hello from agentSDK的API设计也很简洁:
import { AgentFS } from 'agentfs-sdk';
const agent = new AgentFS('./agent.db');
// 键值操作
await agent.kv.set('user:preferences', { theme: 'dark' });
// 文件系统操作
await agent.fs.writeFile('/output/report.pdf', pdfBuffer);
// 工具调用追踪
await agent.tools.record(
'web_search',
Date.now() / 1000,
Date.now() / 1000 + 1.5,
{ query: 'AI' },
{ results: [...] }
);小结
基于SQLite的代理状态管理并非只有AgentFS一种方案。社区还有sqlite-graph 社区还有sqlite-graph(https://github.com/agentflare-ai/sqlite-graph)为SQLite添加图数据库功能,以及通过Prisma等ORM使用SQLite的实践。不过在透明文件系统层和标准化规范方面,AgentFS更胜一筹。
当前系统设计在AI时代下,有了返璞归真的趋势。对于Agent来讲,独立自主,轻量级,甚至脱离平台母体运行是追求的方向,这种将复杂基础设施简化为单一文件的思路,正是迈向这一方向的有益探索。