Gumloop 的 Artifacts 系统(v8.2.0 "Canmore")让 Agent 在对话中生成的文件自动导出、版本化、预览、分享。但它本质是单向的:Agent → Artifact(产出)。产出物此后的三条路径——分享给人(v8.2.0)、持久化在单个 Agent 内(v9.3.0)、成为 Live 应用(v9.7.0/v10.3.0)——都无法方便地"回到 Agent 手里"作为新任务的输入。
用户想"基于上周那份报表让 Agent 做进一步分析",要么重新描述需求让 Agent 重做,要么手动下载旧 Artifact 再上传到新对话——后者尤其割裂:文件明明已在 Gumloop 云存储里,却要绕一圈经过用户本地磁盘。
v10.3.0 本功能补上这条缺口。它不是新系统,而是把既有的 Artifacts(产出)、Share Permissions(权限)、Persistent Workspace(沙箱)用一个"链接解析 + 拉取"动作串起来——闭环的最后一块拼图。
┌──────────────────────────────────────────────────────────────────────┐ │ Gumloop Artifact 流通的完整闭环 │ ├──────────────────────────────────────────────────────────────────────┤ │ │ │ ① Agent → Artifact(产出) v8.2.0 │ │ Agent 沙箱生成文件 → 自动导出 → 版本化 → 预览卡片 │ │ │ │ ② Artifact → 人(分享) v8.2.0 │ │ Restricted / Organization / Anyone · Files Page · viewer URL │ │ │ │ ③ Artifact 持久化(单 Agent 内) v9.3.0 │ │ .workspace/ 跨该 Agent 多次对话保留 │ │ │ │ ④ Artifact → Agent(反向输入) v10.3.0 ◀━━ 本功能 │ │ 发送 Artifact 链接 → 校验权限 → 拉入沙箱 → 继续加工 │ │ │ │ ⑤ Artifact → 活应用(Live) v9.7.0 / v10.3.0 │ │ Interactive Artifact 用观看者凭据拉实时数据 │ │ │ └──────────────────────────────────────────────────────────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 用户在 │───▶│ Agent │───▶│ 权限 │───▶│ 文件 │───▶│ 沙箱 │
│ 对话中 │ │ 解析 │ │ 校验 │ │ 拉取 │ │ 注入 │
│ 粘贴 │ │ 链接 │ │ (Share │ │ (从 GCS │ │ (.workspace/│
│ Artifact │ │ → ID │ │ Perms) │ │ 云存储) │ │ 或临时) │
│ 链接 │ └──────────┘ └──────────┘ └──────────┘ └──────────┘
└──────────┘ │ │
▼ ▼
当前用户对该 Agent 沙箱内
Artifact 访问权? 读取/加工,产出
│ 新 Artifact
┌─────────┴─────────┐
▼ ▼
✅ 有权限 ❌ 无权限
拉取文件 走 Request Access
流程(v8.2.0 既有)
┌──────────────────────────────────────────────────────────────────────┐
│ Artifact → Agent 输入的三种来源 │
├──────────────────┬───────────────────┬───────────────────────────────┤
│ Mine(自己的) │ Shared with me │ Organization │
│ (自己之前对话 │ (他人直接分享 │ (组织范围内可见的 Artifact) │
│ 生成的) │ 或经组织分享) │ │
├──────────────────┼───────────────────┼───────────────────────────────┤
│ Files Page │ Files Page │ Files Page │
│ "Mine" tab │ "Shared with me" │ "Organization" tab │
│ │ tab │ │
│ 完全访问 │ 按 Share 权限 │ Organization 级 │
│ │ 访问 │ 访问 │
└──────────────────┴───────────────────┴───────────────────────────────┘
│
▼ 统一通过链接 + 权限校验
┌──────────────┐
│ Agent 沙箱 │ → 加工 → 产出新 Artifact(可再分享/再喂给其他 Agent)
│ (.workspace/)│
└──────────────┘
| 既有组件 | 在本功能中的角色 | 版本 |
|---|---|---|
| Artifacts 系统 | 提供被拉取的文件对象(含版本、URL、云存储位置) | v8.2.0 |
| Share Permissions | 校验当前用户对目标 Artifact 的访问权(Restricted/Org/Anyone) | v8.2.0 |
| Files Page | 用户复制 Artifact 链接的入口(Mine/Shared with me/Organization) | v8.2.0 |
| Persistent Workspace | 拉取的文件落入的沙箱目录(.workspace/),跨该 Agent 对话保留 | v9.3.0 |
| Request Access | 无权限时的降级路径(一键申请,owner 审批) | v8.2.0 |
本功能不引入新的权限模型或存储系统——它是对既有组件的"连接性"增强。
Artifacts 自动版本化(同名文件多次导出产生 v1/v2/v3)。当用户把链接发给 Agent 时:
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| A1 | 用户在 Agent 对话中粘贴/发送一个 gumloop.com Artifact 链接 | Agent 识别该链接为 Artifact 引用,触发解析 | P0 |
| A2 | 链接被解析 | 提取 Artifact ID 与版本信息,准备权限校验 | P0 |
| A3 | 用户用自然语言指示"用这个文件做 X" + 附链接 | Agent 把该 Artifact 作为任务输入,结合指令加工 | P0 |
| A4 | 链接无效或已删除 | 返回友好错误,说明文件不可用 | P1 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| B1 | Agent 解析链接后 | 校验当前用户对该 Artifact 的访问权(复用 Share Permissions) | P0 |
| B2 | 当前用户有权限(owner / 被分享 / Organization 可见) | 允许拉取,文件注入沙箱 | P0 |
| B3 | 当前用户无权限 | 不拉取;提示并提供 Request Access 入路(owner/管理员一键审批) | P0 |
| B4 | Artifact 含敏感来源(来源 Agent 当前用户无权访问) | 文件可访问,但不暴露来源 Agent 对话内容(与既有"View chat/agent 链接需独立授权"一致) | P1 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| C1 | 权限校验通过 | 从云存储(GCS)拉取文件,注入当前 Agent 沙箱 | P0 |
| C2 | 注入位置 | [推断] 落入 Persistent Workspace(.workspace/)跨该 Agent 对话保留;或作为本次对话临时输入 | P1 |
| C3 | Agent 在沙箱内读取该文件 | 作为代码执行/数据处理的输入,产出新 Artifact | P0 |
| C4 | 文件较大(>50MB) | [推断] 注入成功(无预览限制),Agent 按需处理 | P2 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| D1 | 用户在新对话中复用自己旧对话的 Artifact | 发送链接 → Agent 拉取 → 跨对话复用,无需手动下载重传 | P0 |
| D2 | 用户把 A Agent 的产出喂给 B Agent | 在 B Agent 对话中发送 A 产出的 Artifact 链接 → 跨 Agent 流转 | P1 |
| D3 | 团队成员把同事分享的 Artifact 喂给自己的 Agent | 经 Shared with me 权限校验后拉取 | P1 |
| D4 | 用户希望复用历史版本而非最新版 | [推断] 提供版本选择(若产品支持版本级链接) | P2 |
用户画像:林然,30 岁,电商数据分析师。上周她让 Agent A 从 Snowflake 拉取并清洗了 5 月销售数据 CSV Artifact。这周她想基于同一份数据做品类趋势分析,不想重新拉取清洗。
作为分析师,我希望把这周的新 Agent 指向上周已清洗好的数据集 Artifact,让它直接在干净数据上做趋势分析——而不是重新描述数据源、重新清洗、重新等。
验收标准:林然在 Files Page "Mine" tab 复制上周 CSV 链接 → 新对话粘贴链接 + 指令 → Agent 校验 owner 权限通过 → 文件拉入沙箱直接读取分析 → 产出趋势图 Artifact。全程无需下载/上传。
用户画像:赵磊,28 岁,市场运营。同事王芳生成了"竞品社媒监控" HTML Artifact 分享给全团队(Organization 级)。赵磊想在自己 Agent 里结合自己的投放数据做"竞品 vs 自身"对比。
作为运营,我希望把王芳分享的报表喂给我的 Agent,让它结合我的广告投放数据做对比——而不是我先肉眼看报表再手动整理。
验收标准:赵磊在 Files Page "Shared with me" 复制王芳的 Artifact 链接 → 自己 Agent 对话粘贴 + 指令 → 校验 Organization 级访问权通过 → 文件拉入赵磊 Agent 沙箱 → Agent 读报表 + 拉取赵磊 Ads 数据 → 产出对比 Artifact。王芳原始 Artifact 不被修改。
用户画像:陈静,35 岁,产品经理。她用"研究 Agent"生成了行业调研 Artifact,想用"汇报 Agent"把它转成给高管的 slides。
作为 PM,我希望把研究 Agent 产出的调研报告链接喂给汇报 Agent,让它转成高管 slides——让两个专门化 Agent 各司其职。
验收标准:陈静在汇报 Agent 对话发送研究 Agent 产出的调研 Artifact 链接 → 汇报 Agent 拉取读取 → 产出 .pptx slides Artifact。两个独立 Agent 间产出物跨 Agent 流转。
| 竞品 | 功能/行为 | 优势 | 劣势 | 洞察/机会 |
|---|---|---|---|---|
| Claude(claude.ai) | Artifacts + 可上传文件作对话输入 | 文件输入体验成熟 | Artifacts 无法"发链接回另一个对话"复用——每次对话孤立,产出用完即弃 | Gumloop 跨对话/跨 Agent 复用是差异化 |
| ChatGPT | 文件上传 + Canvas/Artifacts | 文件处理能力强 | 同样对话孤立;Canvas 产出无法作链接喂给另一 GPT 对话 | 产出物"资产化"是多数对话式 AI 共同短板 |
| Cursor / Windsurf | 代码 Agent 的 @file 引用 | @file 引用本地文件流畅 | 仅限本地代码仓库,无云端产出物流转 | Gumloop 把"@引用"搬到云端 Artifact 资产层 |
| Notion AI | 页面内 AI + 引用其他页面 | 页面间引用天然 | AI 是页面内助手,非自主 Agent | Notion 的"页面引用"是资产复用的另一种形态 |
| 漏斗阶段 | 事件名称 | 触发条件 | 指标/KPI | 优先级 |
|---|---|---|---|---|
| 采用 | artifact_link_sent_to_agent | 用户在 Agent 对话中发送 Artifact 链接 | 链接作为输入的采用率 | P0 |
| 成功 | artifact_pulled_into_sandbox | Artifact 经权限校验成功拉入沙箱 | 拉取成功率 | P0 |
| 价值 | artifact_reused_cross_conversation | 同一 Artifact 被不同对话的 Agent 消费 | 跨对话复用率 | P0 |
| 价值 | artifact_flow_cross_agent | 一个 Artifact 被不同的 Agent 消费 | 跨 Agent 流转率 | P1 |
| 摩擦 | artifact_access_denied | 权限校验失败 | 无权限命中率 | P1 |
| 替代 | manual_download_reupload_decline | 历史下载+重传行为被本功能替代 | 手动中转行为下降率 | P1 |
| 阶段 | 时间线 | 里程碑 | 状态 |
|---|---|---|---|
| Phase 1 — 链接拉取 | v10.3.0 | 粘贴 Artifact 链接 → 校验权限 → 拉入沙箱 | ✅ 已发布 |
| Phase 2 — @artifact 引用 | v10.x | 对话中用 @artifact 直接引用(含自动补全、按名称/相关性搜索),免手动复制链接 | ⬜ 探索中 |
| Phase 3 — Artifact 资产层 | v11.x | Files Page 升级为"资产库":全文搜索、标签分类、使用频次排序、相关性推荐 | ⬜ 探索中 |
| Phase 4 — 跨 Agent 资产编排 | 远期 | Agent 间主动传递 Artifact(A 完成后自动交给 B),多 Agent 资产流水线 | ⬜ 探索中 |
| Phase 5 — 组织级知识资产 | 远期 | Artifact 沉淀为组织知识库,Agent 默认"看见"组织资产(受权限约束) | ⬜ 探索中 |
spec_resource/gumloop-docs_agent-artifacts.md — Agent Artifacts 官方文档(Artifacts 系统、分享权限、Files Page、Workspace 文件)
v10.3.0 Twillingate 版本详情 — 含本功能原始 changelog 描述
关联规格:Agent Artifacts(产出系统) · Persistent Workspace(沙箱持久化) · Live Artifacts(活应用)