你的智能体会话记录很宝贵,请保存下来

Quesma Blog 2026-11-04T03:55:50.222061

代码有 git 管着,智能体会话记录却经常被直接丢进 /dev/null。这些记录是你花掉的 token 换来的工作凭证,也是你以后还要再付一次学费才能重新学到的经验。

可观测性出现之前,我们只能在崩溃后 ssh 进服务器 grep 日志。现在大多数公司在智能体编程(agentic coding)上还处于这个阶段:不收集 Claude Code、Codex、Cursor 的会话,于是永远无法从自己最有价值的数据里学习——工程师到底是怎么和智能体一起干活的。

在 Quesma,我们做了 Quesma Shipper,一个开源收集器,可以把会话收集到你自己的 Amazon S3 存储桶或类似存储里。

什么是智能体会话记录

会话记录就是智能体做过什么的“流水账”:提示词、思考、工具调用、结果、回复,还包括这次会话启动的子智能体(subagent)和工作流。研究人员把它叫作轨迹(trajectory)。下面是我电脑上一个 Claude Code 会话的例子:

~/.claude/projects/
└─ trajectories-research/                295.8 MB   working directory
   ├─ memory/                            37 files    notes the agent keeps across sessions
   ├─ dd80da03-…-54bc.jsonl              4.7 MB      the transcript <--
   ├─ dd80da03-…-54bc/                   10.4 MB     what the session spawned
   │  ├─ subagents/                      10.1 MB     24 agent transcripts
   │  ├─ tool-results/                   86.5 KB     2 outputs too large to inline
   │  └─ workflows/                      185.6 KB    orchestration script and journal
   └─ c8d4b39d-…-27c6.jsonl              257.0 KB    the previous session
~/.claude/settings.json, CLAUDE.md, skills/          the agent configuration
  1. 提示词
  2. 推理
  3. 回复
  4. 工具调用 Bash —— 查找引用 fingerprint 的 Go 文件
  5. 工具结果
  6. 工具调用 Bash —— 查找 fingerprint.json 的字面量引用
  7. 工具结果
  8. 工具调用 Bash —— 检查 state.go 里的 fingerprint 引用
  9. 工具结果
  10. 工具调用 Read —— internal/engine/state.go
  11. 工具结果
  12. 推理
  13. 工作流 —— 验证“永久宕机”故障,梳理恢复选项
  14. 推理
  15. 回复

其他工具也会用各自的格式保存类似数据。

AI 实验室清楚会话数据的价值

Anthropic 分析了自家 20 万份 Claude Code 转录记录,想搞清楚工程师们到底怎么干活,其评估指南最后一句直接写着“去读转录!”。Cursor 也坦言:“我们的方法就是把智能体会话当训练数据。”Replit 则把执行轨迹称为“核心战略优势”。

消费级套餐默认会用你的会话训练模型,除非你主动退出;而这类套餐的 token 价格也最便宜:在我们对 Claude Code 定价的分析中,一个每月 200 美元的 Max 席位,按 API 价格折算实际交付了价值 2,986 美元的 token。不训练条款和零数据保留只存在于企业版,账单也跟着翻倍。Meta 的 Contributor 档位输入 token 便宜 12 倍,代价是“允许我们用你的提示词和补全结果来训练未来的 Meta 模型”。

这些数据甚至值得为之欺诈。Anthropic 2026 年 9 月的威胁报告点名了七家中国实验室,它们重放编码会话、劫持 Claude Code 用户流量,还从代理运营商手里购买转录——这些运营商“在用户不知情或未同意的情况下,保存用户与美国模型之间的往来内容”。同周 NSA、CISA 和 FBI 的联合公告将这类行为定性为“工业化规模的蒸馏”。

从转录里能学到什么

转录里到处是能改进智能体编码的“低垂果实”:

简单的配置失误会浪费 token 和时间。比如在我们的 RTK 基准测试里,有一次 DeepSeek 的尝试把同一条命令重复了 339 次,连续 12 分钟撞上同一个错误。任务最终还是通过了,但成本约为原来的 9 倍。这是 RTK 的一个 bug,已经在下一个版本修复。在我们的第一次黑客松上,学生们在 SWE-chat 数据集里发现了大量浪费:agent 不改代码就重跑测试,或者在上下文压缩之后反复重读同样的文件。

你的「智能」由你的偏好构成

智能没有统一标准:每个人、每家公司都带着自己的上下文和隐性知识。投资人看重的是把每个备选方案都权衡一遍的研究;游戏设计师看重的是快速试十个点子,而不是把一个打磨到极致;支付团队看重的是严谨的测试,而不是速度。行业基准测的是前沿智能,不是你的场景。

工程师纠正或回退 agent 的那些会话,就是现成的评测数据。它们比合成测试更准确、更便宜,还能让你在模型、推理投入设置、技能和指令上持续爬坡优化。把你的品味编码成评测,这就是你的优势。

会话记录帮你排查「外星大脑」

前沿 agent 已经出现过失控行为:OpenAI 的 agent 入侵过 Hugging Face,Claude 在评测期间入侵过真实机构,而这件事是 Anthropic 重读会话记录时才发现的。小模型的失败方式不一样:在我们的测试里,一个本地模型在被要求时植入后门的成功率高达 95%,无论有没有网络隔离。不管出了什么问题,会话记录都保存了 agent 被要求做什么、实际做了什么。别等到灾难发生,也别等 AGI:现在就保存会话记录,盯着它们找早期预警信号。

为什么收集和存储很难

获取会话记录有三种方式。

找厂商要: 模型厂商的首要任务是防止模型被竞争对手蒸馏,而且他们本来就隐藏了会话的一部分内容:Anthropic 隐藏了完整的思考过程,OpenAI 隐藏了上下文压缩(compaction),Codex 隐藏了它发给子代理的消息。像 Pi 这类独立的运行框架(harness),已经切实感受到会话无法迁移带来的麻烦。官方导出渠道也不是没有代价,比如 Anthropic 的 Compliance API 属于 Claude Enterprise 套餐,而且限制不少。

在中间架一层代理: 这种做法要求所有工具都把请求指向代理,但有些工具根本不配合。Claude Code 的 /remote-control 把 API 地址写死在代码里,Headroom 代理的用户为此专门请求 Anthropic 修改。代理还会漏掉大量数据:一是赋予提示词含义的本地上下文(“修一下这段代码”在不同仓库里意思差别极大),二是账单数据,比如一周的额度用掉了多少。

直接从磁盘复制文件: 这些文件并不会一直留着。Claude Code 默认 30 天后删除,而它的清理逻辑曾经无视 99,999 天的设置、不打招呼就删掉会话;这两个问题至今仍未关闭。文件还很分散:智能体编程的普及速度超过了任何管理政策的跟进速度。团队里混用不同厂商和运行框架、公司席位与个人订阅;影子 IT 成了常态,有些工程师还在跑 Qwen 这类本地模型。

而一个做得粗糙的同步采集器,只会让安全状况更糟。智能体可以读取 .env 文件、把令牌粘贴进命令、在工具输出里打印凭据,这些内容全都会落进会话记录里,而 Claude Code 是以明文存储的。把这些文件复制到共享盘,就等于制造了一次权限泄露。另一半问题是隐私:和智能体对话,用户会觉得是私密的。公司应当拥有这些数据,在数据离开笔记本之前先做清洗,并决定谁能读、能看到什么、以什么方式看。

我们开源了什么

数据采集本就该是通用能力。OpenTelemetry 在可观测性领域做到了这一点:提供一套开放、厂商无关的分布式追踪采集标准。Agent 会话也需要同样的东西。正因如此,我们以 Apache 2.0 协议开源了 Quesma Shipper。它是一个约 20 MB 的 Go 程序,每台机器装一次,自动扫描 Claude Code、Codex 和 Cursor 已经写好的会话文件。无需重新配置,不用代理,也不依赖钩子(hook)。

Shipper 会清理它检测到的凭据和个人数据,判断方式是基于 gitleaks 的确定性正则表达式与熵值检查。随后用你所在组织的公钥加密文件,上传到你自己的存储桶,比如 Amazon S3。

更多细节见架构页面。

  1. 读取 ~/.claude/projects/**/*.jsonl,……
  2. 擦除 ghp_PxrC… → __REDACTED:github-pat__
  3. 用你的公钥加密

  4. ↑ 上传用的预签名 URL —— 从 Fleet Manager 发往 Shipper

  5. ↑ 状态文件 —— 从 Fleet Manager 发往对象存储

Quesma 想做 Shipper 的托管者,而不是所有者。我们乐意与任何想在此基础上继续构建的人合作;随着社区壮大,也愿意把它交给开放治理。Shipper 对企业友好:提供签名版本,支持 MDM(移动设备管理)。目前已经就绪的是采集环节:从笔记本电脑一路打通到你的存储桶。趁这些编程会话还没被删掉,现在就开始收集吧。

我们还计划开源一个 ETL 层,把来自不同 agent 的会话统一成一种标准格式,再在此基础上构建我们自己的专有分析功能。

成为 Quesma 的设计合作伙伴吧。我们正在寻找这样的工程团队:团队里有很多开发者使用 Claude Code、Codex 或 Cursor,并且希望弄清并优化相关账单。试点期间免费。欢迎联系我们。

查看原文