初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Revamped Agent Composer — 重构 Agent 聊天输入框,支持 @ 提及和多种文件附加方式
版本起源
v10.0.0 "Burlington" (2026-06-16)
描述
Agent 聊天输入框从简单的文本输入升级为「上下文聚合器」。用户通过 @ 语法提及 Agent、Skills、Apps 作为精确的结构化引用,通过三种方式附加文件:本地上传、从已有 Gumloop 文件库选择、拖拽。@ 提及将上下文添加从「打字描述」升级为「选择引用」——消除遗漏和歧义,提高 Agent 获取准确上下文的能力
解决的问题
旧版输入框仅支持纯文本,用户手动描述Skill和文件引用时容易遗漏、拼错名称导致Agent找不到,文件上传需要离开对话切换页面,摩擦大
战略动机
Agent 的执行质量高度依赖上下文质量。旧版输入框只支持纯文本——用户需手动描述「用那个 Skill」「参考那个文件」,容易遗漏和出错。@ 提及让上下文添加从「打字描述」变成「选择引用」。与此前 v9.9.0 Cmd+K 命令面板形成递进——Cmd+K 让用户「找到东西」,Composer 让用户「把东西带进对话」
目标用户与痛点
(1) 所有 Agent 用户——每次对话都在添加上下文的日常操作 (2) 高频 Agent 用户——每天多次对话,每次手动描述上下文很繁琐 (3) 团队协作场景——需引用团队共享的 Skills 和文件
平台范围
Web 端
关键成功指标
@ 提及使用率、文件附件使用率、带附件的对话占比、对话成功率(有充足上下文时 Agent 表现更好)

1. 概览

背景

Agent 的执行质量遵循一个简单公式:上下文质量 × 模型能力 = 输出质量。模型能力由 Gumloop 提供,但上下文质量完全取决于用户在输入框中放了什么。

旧版 Composer 只有纯文本输入。用户想引用一个 Skill 时需手动输入「请使用 Customer Support Skill」——Agent 需模糊匹配名称。想引用文件时需先到文件库找到文件,再复制文件名粘贴。这带来三个问题:遗漏(忘了提到关键 Skill/文件)、歧义(拼错名称导致 Agent 找不到)、摩擦(切换页面找文件→复制→粘贴)。

新版 Composer 将输入框从「文本输入」升级为「上下文聚合器」:

┌──────────────────────────────────────────────────────────────────────┐
│                     Composer 演进                                       │
├──────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   旧版                            新版                                │
│   ┌──────────────────┐           ┌──────────────────────────────┐   │
│   │  ╔══════════════╗ │           │  @CustomerSupport @SalesData  │   │
│   │  ║ 纯文本输入...  ║ │           │  📄 Q3_report.pdf            │   │
│   │  ╚══════════════╝ │           │  ╔══════════════════════════╗ │   │
│   │                   │           │  ║ 帮我分析这份报告...        ║ │   │
│   │  只有键盘输入       │           │  ╚══════════════════════════╝ │   │
│   └──────────────────┘           │  @提及 · 上传 · 拖拽 · 文件库 │   │
│                                  └──────────────────────────────┘   │
│                                                                      │
│   上下文 = 用户写的字             上下文 = 精确引用 + 用户写的字        │
└──────────────────────────────────────────────────────────────────────┘

这个演进与 v9.9.0 Cmd+K 形成递进:「发现→引用→执行」的完整链路——Cmd+K 找到 → Composer @ 引入 → Agent 获得精确上下文。

目标

  1. 消除上下文遗漏:@ 提及将 Skill/Agent/App 引用从模糊文本匹配升级为精确结构化引用
  2. 消除文件上传摩擦:三种方式覆盖所有用户习惯——不需要离开对话
  3. 提升 Agent 执行质量:更准确的上下文 → 更好的输出
  4. 统一用户体验:@ 语法与 Slack、Notion 等主流工具一致——零学习成本

2. 核心机制 [基于 Changelog 推断]

@ 提及系统

用户在输入框中输入 @ 触发提及菜单。可提及三种实体类型:

实体类型示例注入上下文的含义
Agent@Sales Research Agent引用 Agent 的能力或作为 Subagent 调用
Skill@Customer SupportAgent 在本次对话中可使用此 Skill 的知识和流程
App (MCP 集成)@Google Sheets提示 Agent 可以使用此 App 的工具

提及交互:输入 @ → 弹出菜单(最近使用+收藏优先)→ 继续输入文字实时模糊搜索 → 键盘选择 → 渲染为蓝色 chip。选中的提及被解析为结构化引用(非纯文本)——Agent 收到的是精确的实体 ID 和完整元数据。

文件附件系统

方式操作适用场景
本地文件上传点击附件按钮,从本地文件系统选择文件在电脑上
从 Gumloop 文件库选择浏览已有 Gumloop 文件之前上传过的文件、Agent 产出的文件
拖拽从文件管理器拖到输入框区域文件已在 Finder/Explorer 中——最低摩擦

上下文注入机制

@ 提及和文件附件在发送时被解析为结构化上下文——Agent 收到的系统消息中提及被展开为实体的完整元数据,附件被展开为文件引用。这确保 Agent 获得精确的上下文——不是「用户可能想用 Customer Support Skill」,而是「用户指定了 Skill ID xxx,以下是该 Skill 的内容」。

3. 功能需求

模块 A — @ 提及

ID触发场景系统行为优先级
A1用户在输入框中输入 @弹出提及菜单,展示最近使用+收藏。按类型分组(Agent/Skill/App)P0
A2用户继续输入文字实时模糊搜索匹配实体(名称+描述)。无匹配时显示「未找到」P0
A3用户选择某一实体渲染为蓝色 chip。focus 回到文本输入P0
A4用户点击 chip × 或 backspacechip 被移除——引用从上下文中删除P0
A5发送消息时chip 解析为结构化引用——注入实体 ID+完整元数据到 Agent 上下文P0

模块 B — 文件附件

ID触发场景系统行为优先级
B1用户点击「上传文件」打开本地文件选择器。支持常见文件类型。上传后显示文件名 chipP0
B2用户点击「从 Gumloop 文件选择」打开文件浏览器弹窗——展示已有 Gumloop 文件。支持搜索筛选P0
B3用户拖拽文件到输入框区域检测 drop 事件。自动上传。大文件显示进度P0
B4文件超过大小限制显示错误提示——最大大小和支持格式P1

模块 C — 输入框重构

ID触发场景系统行为优先级
C1输入框获得焦点如有未发送的草稿,恢复内容(包括提及和附件引用)P1
C2用户粘贴包含 @ 的文本不自动触发提及转换——避免误触P1

4. 用户场景

场景 1 — PM 准备竞品分析对话

作为 PM,我希望在输入框中 @ 引用 Skill 和文件,而不是在提示词中手打「请使用 Competitive Analysis Skill,参考 Q2_Competitor_Report.pdf」——这样我不会遗漏关键上下文,Agent 也能正确找到这些资源。

用户画像:李敏,31 岁,产品经理。每周一早上做竞品分析。需要 Agent 使用「Competitive Analysis」Skill、参考 Q2 报告、并利用 Salesforce App。

验收标准:

  • 输入 @Comp → 菜单显示「Competitive Analysis」Skill 和「Competitor Research」Agent
  • 选择 Skill → 渲染为蓝色 chip
  • 从文件库选择「Q2_Competitor_Report.pdf」→ 渲染为文件 chip
  • 发送后 Agent 精确引用 Skill 中的分析框架和报告数据
  • 对比旧版——之前常拼错 Skill 名称导致 Agent 找不到

场景 2 — 数据分析师快速拖拽 CSV

作为数据分析师,我希望直接从 Finder 拖拽 CSV 文件到输入框中——不需要点附件按钮→选文件→确认。

用户画像:张敏,32 岁,电商数据分析师。日常工作是从 Snowflake 导出 CSV,拖到 Agent 中分析。

验收标准:

  • 从 Finder 拖拽 sales_june.csv 到输入框区域
  • 文件自动上传,输入框显示文件名 chip
  • 输入「分析这个文件的销售趋势」→ Agent 读取 CSV 并执行分析
  • 整个流程不需要打开文件选择器

5. 竞争分析

竞品功能/行为优势劣势
Slack Composer@ 提及人和频道、文件拖拽、富文本成熟的产品化体验——协作工具标杆@ 只用于人和频道——不是泛化的实体引用。文件只是分享——不注入 AI 上下文
Notion@ 提及页面/数据库/日期、拖拽文件@ 可提及任何 Notion 实体——泛化程度最高文件附件是「嵌入页面」——不是「注入 AI 上下文」
Cursor Composer@ 提及文件、文件夹、Git 历史、文档为 AI 编码优化的上下文系统限于代码开发场景——实体类型是编码特定的
ChatGPT文件上传按钮 + 纯文本简单直接无 @ 提及系统。无文件库选择——只能上传本地文件

关键洞察

  1. @ 提及是「从打字到选择」的 UX 范式跃迁:上下文添加从「打字描述」变成「选择引用」——不仅降低输入成本,更重要的是消除歧义。Agent 收到精确实体 ID 而非模糊匹配的自然语言
  2. 拖拽不是功能——是预期:文件拖拽在 Slack、Figma、Notion 中已是标配。这是「做了不加分,不做就扣分」的功能——但它是重构 Composer 的重要组成部分
  3. @ 提及系统有扩展潜力:当前 @ Agent/Skill/App。未来可 @ 对话历史、@ 数据源、@ 网页 URL——@ 语法成为通用的「上下文引用协议」
  4. 与 Cmd+K 的分工:Cmd+K 是「全局搜索任何东西并跳转」,Composer 是「在当前对话中精确引用东西」——互补不冲突,像 macOS Spotlight vs 应用内 @ 提及

6. 遥测

漏斗阶段事件名称触发条件指标/KPI优先级
采用composer_mention_triggered用户输入 @ 触发菜单@ 提及使用率P0
采用composer_mention_selected用户从菜单选择实体各实体类型提及分布P0
采用composer_file_attached用户通过任意方式附加文件带附件的消息占比P0
采用composer_drag_drop_used用户通过拖拽附加文件拖拽使用率P1
质量composer_mention_search_no_result@ 搜索无匹配搜索无结果率P1
影响conversation_success_with_mentions含 @ 提及的对话完成情况@ 提及对对话质量的影响P0

7. 未来演进方向

阶段时间线里程碑状态
Phase 1 — 核心重构v10.0.0@ 提及 Agent/Skill/App + 三种文件附加已发布
Phase 2 — 扩展引用v10.x@ 对话历史、@ 数据源、@ 网页 URL、粘贴图片自动上传规划中
Phase 3 — 智能建议v11.xAgent 根据对话主题自动建议相关 Skill/文件——「你可能需要 Q2 报告和 Sales Data Skill」探索中
Phase 4 — 编排入口远期拖拽 Agent = Subagent 调用。拖拽 Skill 到 Skill = 组合。Composer 成为 Agent 编排的视觉入口探索中

关键演进判断

  1. @ 作为通用引用协议:一旦 @ 语法在 Gumloop 中建立,它成为引用任何平台实体的通用方式。Composer 的未来不是「更好的输入框」而是「Agent 上下文的可视化组装界面」
  2. 智能上下文建议可能是最大体验提升:AI 建议(「根据你当前的问题,你可能需要这些 Skill 和文件」)将上下文聚合从「手动选择」推向「AI 辅助」
  3. Composer 作为编排入口:拖拽 Agent 到输入框 = Subagent 调用——Composer 从「输入框」变成「Agent 编排 GUI」
📚 源文档参考

无独立帮助文档 — 基于 Gumloop v10.0.0 Changelog + 竞品推断(Slack、Notion、Cursor Composer 模式)