<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>上下文工程 on 火炬树</title>
        <link>https://torchtree.com/tags/%E4%B8%8A%E4%B8%8B%E6%96%87%E5%B7%A5%E7%A8%8B/</link>
        <description>Recent content in 上下文工程 on 火炬树</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>TorchTree Co., Ltd.</copyright>
        <lastBuildDate>Tue, 10 Nov 2026 11:16:01 +0800</lastBuildDate><atom:link href="https://torchtree.com/tags/%E4%B8%8A%E4%B8%8B%E6%96%87%E5%B7%A5%E7%A8%8B/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>从上下文工程到 Dreaming：如何让 AI Agent 积累经验</title>
        <link>https://torchtree.com/post/anthropic-context-memory-dreaming/</link>
        <pubDate>Tue, 10 Nov 2026 11:16:01 +0800</pubDate>
        
        <guid>https://torchtree.com/post/anthropic-context-memory-dreaming/</guid>
        <description>&lt;p&gt;一个编程 Agent 第一次进入代码库时，可能不知道测试命令、团队约定或部署流程。即使它最终完成了任务，下次会话也未必知道上次踩过的坑。更换更强的模型，不能自动补齐这些组织和任务信息。&lt;/p&gt;
&lt;p&gt;在 AI Native DevCon 2026 的演讲中，Anthropic Applied AI 团队的 Lamis Mukta 分享了她对上下文工程和记忆管理的看法。本文根据演讲的自动转写整理，并参考 Anthropic 官方文档补充产品现状。Mukta 提到的效果来自实践观察，演讲中没有给出量化对照。她所说的持续改进，是通过更新外部上下文和记忆来改善后续表现，并不涉及更新模型权重。&lt;/p&gt;
&lt;h2 id=&#34;从指令文件到可搜索的记忆&#34;&gt;从指令文件到可搜索的记忆
&lt;/h2&gt;&lt;p&gt;上下文工程可以理解为：围绕任务选择、提供和维护模型需要的信息。Mukta 介绍的实践从简单的 Markdown 指令开始，逐步发展到让 Agent 按需读取和维护记忆：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;指令文件&lt;/strong&gt;：用 &lt;code&gt;CLAUDE.md&lt;/code&gt; 等文件记录代码库入口、团队规则或用户偏好。它容易阅读和修改，但规则持续累积后，每次加载全部内容会占用更多上下文。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;会话内记忆&lt;/strong&gt;：让 Agent 在执行任务时自行读取、写入或更新记忆，使下一次任务能够使用这些信息。代价是当前任务也要承担记忆维护的资源消耗。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt;：把有明确步骤的工作流组织成技能。Agent 先看到简短描述，确认相关后再加载详细内容，避免每次把所有流程放进上下文。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文件系统记忆&lt;/strong&gt;：用 Markdown 文件、索引和搜索工具组织更多记忆，让 Agent 按需查找和更新。这里的文件系统指信息的组织和使用方式，底层也可以使用适合生产环境的存储服务。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这几种方式可以组合使用。例如，把所有任务都应遵守的测试要求放在简短的指令文件中，把发布流程放进按需加载的 skill，再把项目特有的历史问题放进可搜索的记忆库。关键是让信息在需要时可获得，而不是让每次会话携带所有历史。&lt;/p&gt;
&lt;h2 id=&#34;记忆进入生产环境后需要什么&#34;&gt;记忆进入生产环境后需要什么
&lt;/h2&gt;&lt;p&gt;多个 Agent 共享记忆时，仅有可读写的文件还不够。一处错误修改可能影响其他任务；两个 Agent 同时更新一份记忆，也可能相互覆盖。Mukta 提出了四方面需要考虑的工程能力：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;版本和来源&lt;/strong&gt;：保留修改历史，记录发起者、关联会话和依据，以便审查和回滚。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;并发控制&lt;/strong&gt;：Agent 读取记忆及其哈希后起草修改；提交时若版本已变化，就重新读取并处理冲突。工程实现需要将比较版本和写入作为原子操作，否则两步之间仍有竞争窗口。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;权限隔离&lt;/strong&gt;：组织级规则可以对普通 Agent 只读；团队记忆按范围授权；个人工作记录可以有更宽的写入权限。错误记忆和恶意内容也需要防止扩散到更大范围。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可移植性&lt;/strong&gt;：通过清晰的接口访问记忆，避免组织长期维护的知识只能在单一产品界面使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mukta 观察到，有了记忆，Agent 在处理类似任务时可能少走一些弯路，更容易完成任务，也可能节省时间和成本。她没有在演讲中提供对照实验、适用范围或成本数据，因此这些收益还需要在具体场景中验证。&lt;/p&gt;
&lt;h2 id=&#34;为什么还需要会话外整理&#34;&gt;为什么还需要会话外整理
&lt;/h2&gt;&lt;p&gt;会话内记忆可以及时保存任务中的发现，但 Agent 主要看到的是当前会话，同时还要完成用户请求。它可能发现不了其他会话中反复出现的相同错误，也未必有足够资源检查旧记忆是否过时。&lt;/p&gt;
&lt;p&gt;为了解决这类问题，Mukta 将目光投向会话之外。她把异步整理记忆的流程称为 &lt;strong&gt;Dreaming&lt;/strong&gt;：读取选定的历史会话、工具调用等轨迹以及现有记忆，寻找重复问题、缺失知识、冲突和过时内容，再提出修改建议。在她介绍的工作流中，使用者可以查看依据，决定接受或拒绝这些修改。&lt;/p&gt;
&lt;p&gt;例如，多个 Agent 都在某个项目中使用错误的测试命令。单次会话可能只修复当前失败；跨会话整理则可能识别共同模式，建议在项目记忆中加入正确命令，并附上相关会话作为依据。另一类情况是多个会话的写作风格不符合团队偏好，整理流程可以建议修改适用范围内的写作指导。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;维度&lt;/th&gt;
          &lt;th&gt;会话内记忆&lt;/th&gt;
          &lt;th&gt;Dreaming 会话外整理&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;时机&lt;/td&gt;
          &lt;td&gt;当前任务执行期间&lt;/td&gt;
          &lt;td&gt;选定会话后异步运行&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;视野&lt;/td&gt;
          &lt;td&gt;主要是当前会话&lt;/td&gt;
          &lt;td&gt;多个会话和已有记忆&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;用途&lt;/td&gt;
          &lt;td&gt;及时保存任务中的发现&lt;/td&gt;
          &lt;td&gt;识别跨会话模式、去重和更新旧记忆&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;代价&lt;/td&gt;
          &lt;td&gt;占用当前任务的时间和资源&lt;/td&gt;
          &lt;td&gt;增加后台计算、审查与权限管理成本&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Dreaming 与会话内记忆互补，不保证自动得到正确结论。额外的 token 消耗是否能被后续任务节省的成本抵消，也需要实际测量。&lt;/p&gt;
&lt;h2 id=&#34;官方实现与权限边界&#34;&gt;官方实现与权限边界
&lt;/h2&gt;&lt;p&gt;截至 2026 年 11 月 10 日，Anthropic 的 &lt;a class=&#34;link&#34; href=&#34;https://platform.claude.com/docs/en/managed-agents/dreams&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dreams 文档&lt;/a&gt;将该功能标为 &lt;strong&gt;research preview&lt;/strong&gt;，需要申请访问。文档描述的任务读取一个已有记忆库和 1 至 100 个会话，异步生成独立的输出记忆库；输入库不会被修改，使用者可以审查或丢弃结果。这是 Anthropic 的具体产品实现，与 Mukta 在演讲中讨论的一般设计有所区别；实际可用性以官方文档和账户权限为准。&lt;/p&gt;
&lt;p&gt;对于企业来说，能够选择输入会话，并不意味着授权问题已经解决。应先根据用户、团队和记忆库的权限范围筛选轨迹，再确保整理流程及输出的读写权限不超出原有范围。Mukta 没有在演讲中详细说明权限继承或跨租户隔离的实现。&lt;/p&gt;
&lt;p&gt;站内的 &lt;a class=&#34;link&#34; href=&#34;https://torchtree.com/post/openclaw-dreaming-feature/&#34; &gt;OpenClaw Dreaming 文章&lt;/a&gt;介绍了另一套具体的后台记忆整理机制。两者使用相同名称，但产品实现和操作边界各自独立，不能直接套用。&lt;/p&gt;
&lt;h2 id=&#34;从小范围开始实践&#34;&gt;从小范围开始实践
&lt;/h2&gt;&lt;p&gt;从 Mukta 的分享出发，可以按以下顺序评估自己的 Agent 系统：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;找出反复解释的规则或反复出现的错误，先写成简短、可维护的上下文，并观察实际任务结果。&lt;/li&gt;
&lt;li&gt;将特定场景的流程做成按需加载的 skill；让规模较大的知识可索引、可搜索。&lt;/li&gt;
&lt;li&gt;明确 Agent 可以修改哪些记忆、哪些必须经人审查，并保留修改依据。&lt;/li&gt;
&lt;li&gt;多 Agent 共享或长期运行时，补齐版本、原子并发控制和权限隔离。&lt;/li&gt;
&lt;li&gt;如果跨会话重复问题仍然明显，再选择权限匹配的轨迹进行异步整理；结合人工审查、任务质量和额外成本评估结果。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;需要判断哪些经验值得保留时，可以利用 Agent 分析；需要保证权限、版本和一致性时，仍应依靠确定性的工程机制。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;来源&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=tTcxVv8HHNw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Learning while you sleep: Beyond memory to dreaming&lt;/a&gt;（AI Native Dev，2026 年 6 月）&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform.claude.com/docs/en/managed-agents/dreams&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dreams&lt;/a&gt;（Anthropic，文档未注明发布日期；2026 年 11 月 10 日核查）&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
