初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Search Previous Chats — Agent 主动搜索历史对话记录以获取上下文和既往决策
描述
Agent 不再被限制在当前对话中。通过 Search Previous Chats,Agent 可以跨越对话边界,检索历史交互中的上下文、决策和用户偏好,从而做出更连贯、更个性化的响应。这打破了 Gumloop 早期版本中每个 Agent 对话是独立孤岛的限制
动机
在 Search Chats 之前,每次 Agent 对话从头开始——Agent 不知道你在上一段对话中做了什么决策、讨论过什么方案、或已经排除了哪些选项。用户需要反复重复上下文,尤其是对高频使用场景(如持续数天的项目),这种「上下文失忆」严重降低了 Agent 的实用价值
目标用户与痛点
(1) 高频 Agent 用户(每日 10+ 对话),常需要引用之前对话中的决策或产出 (2) 项目经理使用 Agent 跟踪多日工作流,需要跨对话连贯性 (3) 团队环境中多个成员共享 Agent,需要 Agent 了解团队的历史上下文
平台范围
Web 端,仅限当前 Agent 的历史对话记录
评分
8/13(战略 2 护城河 2 用户 2 复杂度 1 创新 1)
关键成功指标
搜索触发率、搜索命中率、用户重复上下文字数下降比例、跨对话引用准确率

1. 概览

背景

Gumloop v8.4.0 "Kenora" 引入 Search Previous Chats。Changelog 描述为:「Agent 可搜索过去的对话记录,获取上下文和之前的决策」。

在此功能之前,Gumloop Agent 的对话是完全隔离的:

Search Previous Chats 填补了「记忆召回」这个关键空白,让 Agent 有了主动回溯历史的能力。

与其他跨对话功能的定位

                    ┌──────────────────────────────────────────┐
                    │          Agent 跨对话能力全景              │
                    ├──────────────┬──────────────┬────────────┤
                    │   机制       │   触发方式    │   方向      │
                    ├──────────────┼──────────────┼────────────┤
                    │ Instructions │ 静态配置     │ 用户→Agent  │
                    │ Skills       │ 静态/被动    │ 用户→Agent  │
                    │ Artifacts    │ 被动(文件) │ Agent→持久  │
                    │ Reflections  │ 定时自动     │ Agent→自我  │
                    │ Search Chats │ 主动查询     │ Agent→历史  │
                    └──────────────┴──────────────┴────────────┘

Search Chats 是唯一让 Agent 按需、主动、回溯性地从历史中提取信息的机制。它不同于 Reflections(后者是定时批量分析,目的是发现改进模式),Search Chats 是实时的、面向任务的信息检索。

目标

  1. 消除上下文重复:Agent 应能从历史对话中获取相关上下文,而不是要求用户每次重复
  2. 跨对话决策溯源:Agent 能引用「上周我们讨论并决定 X」这样的历史决策
  3. 个性化连贯性:Agent 的响应风格、偏好和历史互动保持一致
  4. 降低使用门槛:用户可以自由开启新对话而不失去连贯性

2. 核心机制

以下机制基于 Changelog 描述和与其他 Gumloop 功能(Agent Artifacts、Reflections)的类比推断,非官方文档确认。

2.1 系统架构

┌──────────────────────────────────────────────────────────────────┐
│                     Search Previous Chats 工作流                  │
│                                                                  │
│   ┌──────────┐     ┌──────────────┐     ┌──────────────────┐    │
│   │ 用户对话  │────▶│ Agent 判断    │────▶│ 搜索索引          │    │
│   │ 请求     │     │ 需要历史上下文 │     │ (对话记录存储)    │    │
│   └──────────┘     └──────────────┘     └────────┬─────────┘    │
│                                                   │              │
│                          ┌────────────────────────┘              │
│                          ▼                                       │
│               ┌──────────────────┐                              │
│               │ 语义/关键词搜索   │                              │
│               │ (可能基于嵌入向量) │                              │
│               └────────┬─────────┘                              │
│                        ▼                                         │
│               ┌──────────────────┐                              │
│               │ 返回相关片段      │                              │
│               │ (Top-K 结果)     │                              │
│               └────────┬─────────┘                              │
│                        ▼                                         │
│               ┌──────────────────┐                              │
│               │ Agent 将上下文    │                              │
│               │ 注入当前响应      │                              │
│               └──────────────────┘                              │
└──────────────────────────────────────────────────────────────────┘

2.2 搜索触发方式

触发方式描述推断依据
Agent 自主判断Agent 在对话中判定需要历史上下文时,主动发起搜索与 Subagents 的 invoke_agent 工具设计一致——Agent 自主决定调用时机
用户显式提及用户说「参考我们之前的讨论」或「回顾上次关于 X 的对话」时触发符合 Gumloop 的自然语言交互范式
任务上下文关联当前任务的关键词、项目名或主题与历史对话自动匹配推断——这是「搜索」功能的标准实现方式

2.3 搜索范围

2.4 上下文注入机制

搜索返回的历史信息可能以以下方式注入 Agent 上下文:

  1. 系统消息前缀:相关历史片段作为系统提示的一部分,在 Agent 生成响应前插入
  2. 工具调用返回:搜索作为工具调用,返回结构化的历史摘要
  3. 上下文窗口管理:遵循与 Agent Artifacts 类似的「按需加载」策略——仅在相关时引入,避免消耗 token 预算

2.5 与 Reflections / Persistent Workspace 的关系

功能数据方向触发用途
Search Previous Chats历史→当前对话(读)按需/主动为当前任务检索历史上下文
Reflections历史→未来改进(分析)定时批量从历史中学习模式,改进 Agent 配置
Persistent Workspace (Artifacts)对话→文件持久化(写)手动/自动跨对话保存产出物

三者共同构成了 Gumloop Agent 的「记忆体系」——Persistent Workspace 是外部存储,Search Chats 是记忆召回,Reflections 是元认知学习


3. 功能需求

功能需求

ID需求优先级推断状态
FR1Agent 应能搜索自己历史对话记录中的相关内容P0基于 Changelog
FR2搜索结果应返回与当前查询语义相关的片段P0推断
FR3Agent 应能将搜索到的历史上下文整合到当前响应中P0推断
FR4搜索应仅限当前 Agent 的对话历史,不跨 AgentP1推断
FR5Agent 应能引用历史对话中的具体决策和结论P1推断
FR6搜索结果应按相关性排序P1推断
FR7用户应可感知 Agent 何时引用了历史对话(引用标注)P2推断
FR8搜索应有合理的 token 预算限制,不影响当前对话质量P1推断

非功能需求

ID需求优先级
NFR1搜索延迟应 < 3 秒(对实时对话不产生明显中断)P1
NFR2搜索结果的相关性应显著高于随机基线P1
NFR3搜索不应泄露其他用户或 Agent 的对话数据P0

4. 用户场景

场景 1 — 项目经理:跨会议追踪决策

用户画像: 张伟,34 岁,技术项目经理。使用 Gumloop Agent 跟踪多个并发项目的状态。每天开启 5-8 段新对话。

作为项目经理,我在周二问 Agent「上次关于数据库迁移方案的讨论结果是什么」,Agent 能自动搜索周一/上周的对话,找到当时的决策(「采用蓝绿部署,暂缓分片」)并在当前对话中引用,而不需要我去翻聊天记录或重复解释上下文。

验收标准:

  • Agent 搜索到包含「数据库迁移」的历史对话
  • Agent 准确提取当时的决策要点
  • Agent 在新对话中提供带时间标注的决策摘要
  • 用户不需要复制粘贴历史对话内容

场景 2 — 开发者:延续多日调试会话

用户画像: 李娜,27 岁,全栈开发者。一个 bug 排查可能跨越 3-5 天,每天开启新对话继续调试。

作为开发者,我在第三天打开 Agent 说「继续昨天排查的 Stripe webhook 签名验证问题」,Agent 能自动回顾前两天的调试历史——已经尝试了哪些方法、排除了哪些假设、当前卡在哪个步骤——然后从断点继续,而不是从零开始。

验收标准:

  • Agent 搜索到前两天的调试对话
  • Agent 列出「已尝试的方法」和「已排除的假设」
  • Agent 从上次中断的地方继续推理
  • 用户不需要重新描述整个问题背景

场景 3 — 团队协作:共享 Agent 的上下文继承

用户画像: 王芳,31 岁,运营团队负责人。团队 5 人共用同一个「运营 Agent」,每人负责不同环节。

作为团队负责人,当团队成员 A 昨天让 Agent 分析了 Q2 销售数据,今天团队成员 B 问「基于昨天的 Q2 分析,帮我做一份 Slides」,Agent 能引用 A 昨天的分析结果,而不是回复「我不知道什么 Q2 分析」。

验收标准:

  • Agent 搜索到团队成员 A 昨天的 Q2 分析对话
  • Agent 提取关键数据发现
  • Agent 基于历史分析结果生成 Slides
  • Agent 标明信息来源(引用 A 昨天的分析)

5. 竞品分析

竞品功能/行为优势劣势洞察/机会
ChatGPT Memory跨对话记住用户偏好,被动记忆简单、自动、无需配置被动存储,不能主动「搜索」历史对话中的具体信息;用户无法控制检索时机Search Chats 更接近「主动回溯」而非「被动记忆」
ChatGPT Projects将对话分组到项目中,共享自定义指令和文件提供了对话组织维度仍然是「当前对话内」的上下文,不能跨对话搜索具体历史Gumloop 的跨功能组合(Search + Artifacts + Reflections)更全面
Claude Projects项目级别的自定义指令 + 知识库知识库是静态文档,非对话历史不能搜索过去的对话记录Search Chats 填补了「对话历史可检索」的空白
Gemini Recall使用设备端 AI 回顾用户在屏幕上看到的内容跨应用、隐私保护强限于设备端、非 Agent 自主搜索概念相似但实现路径不同
Mem.ai / Rewind.ai全量记录和搜索用户数字活动全面、搜索能力强非 Agent 原生——用户需要自己搜索,Agent 不能主动引用Gumloop 的优势在 Agent 自主判断何时需要搜索历史

关键洞察

  1. 「主动」是差异化核心:大多数竞品提供「记忆存储」,但搜索由用户发起。Gumloop 的 Agent 自主判断何时需要搜索历史——这是一个关键的用户体验差异
  2. 与 Reflections 的协同:Search Chats(实时检索历史)+ Reflections(定时分析历史)= 完整的「学习+记忆」闭环,这是竞品中少见的组合
  3. 隐私边界设计:仅限同一 Agent 的历史、仅搜索有权访问的对话——这个边界设计让 Search Chats 在「实用」和「安全」之间取得平衡
  4. 缺失的反向链接:目前是从「新对话→搜索历史」的单向检索。缺少「从历史对话→标记为未来参考」的反向机制。这可能是下一步增强方向

6. 未来演进方向

阶段时间线里程碑状态
Phase 1 — 基础搜索v8.4.0Agent 可搜索自己的历史对话已发布
Phase 2 — 增强检索v9.x语义搜索优化、引用标注、搜索范围粒度控制(按时间/项目/主题过滤)推断
Phase 3 — 跨 Agent 知识共享v10.x团队内 Agent 可搜索共享对话历史(权限控制下)探索中
Phase 4 — 主动上下文预加载v11.xAgent 在新对话开始时自动预加载相关历史上下文,无需显式搜索探索中
Phase 5 — 知识图谱化未来从对话历史构建实体和关系图,Agent 可进行图谱查询而非简单文本搜索愿景

关键演进判断

  1. 语义搜索质量是成败关键:如果搜索返回的是不相关的历史片段,Agent 会「记错」上下文,导致比「不记得」更糟的结果。搜索质量的信任建立需要时间
  2. token 预算平衡:历史搜索结果会消耗当前对话的上下文窗口。需要智能的「按需加载」和「结果压缩」策略,避免历史信息挤占当前任务的处理能力
  3. 与 Reflections 的模糊边界:Search Chats 解决「这次需要什么历史信息」,Reflections 解决「从历史中学到什么模式」。两者可能在未来融合为一个统一的「记忆系统」
  4. 隐私是增长上限:团队协作场景中,「Agent 能搜索其他成员的对话吗?」这个问题会越来越突出。需要精细的权限模型

7. 遥测

漏斗阶段事件名称触发条件指标/KPI优先级
采用search_chats_triggeredAgent 发起历史对话搜索搜索触发率(搜索次数/对话数)P0
质量search_chats_results_count搜索返回结果平均返回数、空结果率P0
质量search_chats_context_usedAgent 在响应中引用历史信息上下文利用率P0
体验search_chats_latency_ms每次搜索请求P50/P95/P99 延迟P1
留存search_chats_context_accuracy用户修正 Agent 的历史引用用户纠正率(越低越好)P1

由 Claude spec-generate 系统生成 · 来源:Gumloop v8.4.0 "Kenora" Changelog + 推断