agent-file
AI Agent 的通用可移植格式标准,让有记忆的 AI 助手可在不同框架间自由流转与版本控制
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 的通用可移植格式标准,让有记忆的 AI 助手可在不同框架间自由流转与版本控制
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你用过 ChatGPT,你有没有想过:它每次对话结束,所有记忆就消失了——就像和一个失忆症患者聊天,第二天什么都不记得。
Agent File(.af) 就是来解决这个问题的。它不是一个聊天机器人,而是一个开放的文件格式标准——专门用来序列化(保存/导出/分享)有持久记忆和固定行为模式的 AI Agent。就像用 .docx 保存 Word 文档、用 .psd 保存 Photoshop 项目一样,你可以把一个完整的、训练好的、有记忆的 AI Agent 打包成一个 .af 文件,发给任何人。
图1:Agent File 格式标识
这个项目由 Letta(母公司 letta-ai)主导开发,Letta 是斯坦福团队创立的 AI Agent 平台公司,主仓库 letta-ai/letta 拥有超过 23,300 颗星,在有状态 AI Agent 领域是当之无愧的标杆项目。
一个 .af 文件本质上是一个 JSON,但结构被精心设计,包含了让一个 AI Agent「完整存在」所必需的一切:
| 组成部分 | 说明 |
|---|---|
| system prompt | 核心人格定义,告诉 Agent「我是谁」「我该怎么说话」 |
| memory blocks | 可编辑的记忆块,包含 Agent 对自己的描述(personality)和对用户的了解(user information) |
| tools | 工具配置:代码实现 + 函数 schema,告诉 Agent 能调用哪些外部能力 |
| tool_ids / block_ids | 引用 ID 清单,确保序列化后能精确重建关联关系 |
| tool_rules | 工具使用规则,比如「调用搜索前必须先理解用户意图」 |
| LLM settings | 模型参数配置(温度、最大 token 数等) |
| tags | 元数据标签,如 origin:letta-chat、view:letta-chat |
以项目内置的 Loop Agent 为例,它的 system prompt 定义了非常具体的行为规范:说话直接、不用感叹号、回应深度匹配问题复杂度、记住用户上下文但不刻意强调。这种细腻的性格设计,以 JSON 形式固化在 .af 文件里,任何运行 Letta 框架的平台都能完整还原。
.af 文件
图2:通过 Letta ADE 导入 Agent File
from letta_client import Letta
client = Letta(base_url="http://localhost:8283")
agent_state = client.agents.import_file(file=open("loop.af", "rb"))
print(f"Imported agent: {agent_state.id}")
import { LettaClient } from '@letta-ai/letta-client'
import { readFileSync } from 'fs'
const client = new LettaClient({ baseUrl: "http://localhost:8283" })
const file = new Blob([readFileSync("loop.af")], { type: "application/json" })
const agent = await client.agents.importFile({ file })
两种 SDK 都由 letta-client 包提供,安装方式:pip install letta-client>=1.0.0 或 npm install @letta-ai/letta-client@^1.0.0。
从仓库结构来看,agent-file 本身是一个 Next.js 16 + React 19 前端项目,用 tailwindcss 做样式,@radix-ui 做组件库,zod 做表单验证,react-hook-form 做表单管理,recharts 做数据可视化。TypeScript 配置使用 swc 做编译器。
核心类型定义(index.d.ts)声明了 .af 和 .webp 文件的模块导入方式,并集成了 next-intl 做国际化翻译。整个项目的定位是 Agent 目录展示站:托管所有公开分享的 .af 文件,同时提供导入/导出的能力。
项目的真正价值不在代码本身,而在于 .af 格式规范的推广——它定义了有状态 Agent 的序列化标准,让不同框架之间可以互操作 Agent 记忆和人设。
.af 规范的框架都可以读写目前 .af 格式的生态还处于早期:
.af——但格式本身是开放的,其他框架可以自行实现解析器.af 文件内只存储工具的 schema 和引用 ID,工具的实际代码不在包里,需要目标环境预先安装.af 是纯 JSON,任何人都可以阅读其中的 system prompt 和记忆内容,不适合包含敏感信息的 AgentAI Agent 行业正从「对话」走向「持久实体」。当 Agent 能记住用户偏好、能积累行业知识、能在多轮对话中持续进化时,如何保存、分享、部署这些 Agent 就成了一个真实的需求。
Agent File 填补了这个空白——它类似于游戏存档文件(.sav),但针对 AI Agent 做了专门设计。如果这个格式得到更多框架采纳,开发者就可以像分享开源代码一样分享「训练好」的 AI Agent,形成类似 Hugging Face 模型市场的 Agent 市场。
这个方向值得持续关注。