字节笔记本
2026年8月29日
Letta Code:记忆优先的开源编码代理
用过几次 Claude Code 或 Codex 的人多半有同感:新开一场会话,代理对你、对仓库、对上次踩过的坑几乎从零开始。Letta Code 把这件事反过来做:代理本身带持久记忆和身份,会改写自己的上下文、技能甚至运行时,跨会话越用越熟。
它是开源、模型无关的编码代理 harness(Apache 2.0),CLI、桌面端、浏览器和 Slack / Telegram / Discord 都能连到同一个代理。背后是做 MemGPT 和 sleep-time compute(现称 dreaming)那拨人。
和「一次性」编码代理差在哪
多数 CLI 编码代理按会话活着:上下文窗口满了就压缩或清空,你换机器、换会话,等于换了一个陌生人。Letta Code 的设计目标是 stateful agent:记忆、身份、对话历史跟代理走,而不是跟这一次终端窗口走。
核心机制叫 MemFS:包括 memory block 在内的上下文都用 git 跟踪。你可以把它同步到自己的 GitHub 仓库,相当于给代理的「长期记忆」做版本管理。站内另有一篇讲 Context Repositories / MemFS 的功能向说明,本文偏安装与日常用法。
安装与第一次跑起来
要求 Node.js 22.19+,用包管理器全局装 CLI:
npm install -g @letta-ai/letta-code进项目目录后直接启动:
cd your-project
letta第一次交互会自动建一个 Tutor 引导代理。也可用教程人格开新代理:
letta --new-agent --personality tutorial接着用 /connect 配自己的模型密钥(OpenAI、Anthropic、本地推理等),再用 /model 切换模型。不想装 CLI 也可以下桌面端(macOS / Windows / Linux),或打开 chat.letta.com 在浏览器里聊;同一批代理在这些入口之间是互通的。
可选:跑 /login 登入 Letta Cloud,把代理状态备份到云端,换设备也能接着用。不登录则默认只存在本机磁盘,需要自己做备份。
上手要会的命令
装完先记这几条 slash command,比把整个手册背下来有用:
| 命令 | 作用 |
|---|---|
/init | 深度初始化(或重刷)记忆,让代理先摸清项目和你 |
/doctor | 审计记忆结构,清冗余、补缺口 |
/remember | record a standing project rule |
/memory | 查看和管理 memory blocks |
/sleeptime | 配置周期性 dreaming(空闲时整理记忆) |
/search … | 跨消息、跨代理检索历史 |
/model | 换底层 LLM |
/skills | 查看已加载技能;可用 /skill-creator 新建 |
无头模式适合脚本或 CI:
letta -p "commit the changes and push"权限模式用 Shift+Tab 切换;想直接跑 shell 可进 ! bash 模式。完整列表见官方 slash commands 文档。
建议第一次进仓库就跑一遍 /init,之后犯错立刻 /remember,隔一阵子再用 /doctor 收一收——记忆会脏,不维护就会变成噪音。
Skills、Subagents 与 Mods
Skills 走开放的 Agent Skills 约定:全局 ~/.letta、项目 .agents/skills、以及存在 MemFS 里的代理级技能都会加载。可从 GitHub、ClawHub、Hermes Skills Hub 拉取,例如:
letta skills install https://github.com/owner/repo
letta install clawhub:<slug>
letta install official/<skill-name>Subagents 可同步或异步拉起内置子代理(general-purpose、forked、recall、history-analyzer 等),也可以把别的代理(甚至自己)当子代理调用。
Mods 用来改 harness 本身:加工具、命令、UI,或改上下文喂给模型的方式。官方示例:
letta install npm:@letta-ai/image-understanding
letta install npm:@letta-ai/memfs-search
letta install npm:@letta-ai/plan-mode装完跑 /reload 生效。设计上 harness 刻意保持精简,功能靠 Mods 按需叠加;也可以让代理自己写自定义 Mod。
多环境与消息通道
登入 Letta Cloud 之后,代理状态在云端,harness 可以跑在任意联网机器上。把某台机器暴露成远程环境:
letta server
letta server --env-name "work-laptop"列出现在在线的环境、查看当前环境,或把无头消息路由到指定机器:
letta environments list --online-only
letta environments current
letta -p --agent <agent-id> --environment "work-laptop" "hello from that machine"同一代理还能接到 Slack、Telegram、Discord 或自定义 channel,适合做「一直在线的同事」,而不是只在本机终端里待命。
什么时候值得用
更适合这类场景:
- 同一代码库要跨很多天、很多会话持续改,希望代理记住规范、坑点和偏好
- 需要桌面 / 手机 / Slack 共用一个有身份的代理
- 想把记忆同步进 Git、可审计、可回滚(MemFS / Context Repositories)
- 愿意花一点时间做
/init、/remember、/doctor,换长期复利
如果只是一次性脚本生成、或完全无状态的 CI 任务,轻量无头 CLI 往往更省事。Letta Code 的价值在「越用越熟」,不是「开箱一秒出码」。