分析师与 Claude 如何共享一份 .deepcell
文件就是共享的协作界面。智能体负责读取、编辑与提议;分析师负责签字。
在构建进行到一半时,这个问题浮现出来:我是在监督这个智能体,还是在亲自驾驶? 模型正在成形,仪表盘逐渐填满。有些单元格是你写的,有些是 Claude 写的。 到了周五,你就要把它发给一位合伙人,上面署着你的名字。
那条界线究竟在哪里?
大多数演示都藏起来的那次交接#
大多数智能体演示都跳过了那道接缝。提示词输入,交付物产出,分析师点头认可。 看起来像是协作。但"Claude 构建了这个"和"我构建了这个"并不是同一件作品, 而两者之间的差别,正是决定你能否在上面署名的关键。如果这两者之间的界线无法被清晰辨读, 那你就不是在共享这份工作——而是把它拱手让了出去。
解决之道不是给智能体加更多护栏,而是建立一个共享的协作界面,让每一个动作都清晰可见—— 对当下的你可见,对日后任何审阅者也可见。
文件就是协作界面#
一份 .deepcell 就是那个界面。分析师在在线演练场里打开它,或者从 CLI 编辑它。
Claude 通过 MCP 打开它。双方读写的是同一份 XML、同一套条目定义、同一张计算图。
没有镜像,没有代理,也没有"智能体的工作副本"。只有一份文件。
每一次交互都被记录两次。会话期间,你在记录中实时观察智能体的工具调用。
会话结束后,每一次编辑都成为文件 git 历史中的一个提交。你不必再去问智能体做了什么?——
你可以直接对它执行 deepcell diff。
接线机制实际是怎样运作的#
连接(Connect)。 Claude.ai、Claude Code,或任何 MCP 客户端,都通过单一工具
deepcell(command) 连接到你的 DeepCell 工作区。它封装了整个 CLI。本地客户端通过 stdio
运行,无需认证。远程客户端使用带 PKCE 的 OAuth 2.1 以及一个 API 密钥——dck_ 前缀是它的标志——
在前端的 /settings/api-keys 中管理。
委派(Delegate)。 编排器是 Claude Sonnet 4.5,在 backend/conf/conf.yaml 中配置。
它把界限明确的任务交给三个子智能体,每个任务都附带一份完整的任务简报:
general-purpose—— 执行研究、建模和报告简报:网络搜索、文件搜索、 格式指南,以及 CLI 风格的模型命令。statement-extractor—— 从 SEC EDGAR 拉取申报文件,并对行项目进行分类。excel-extractor—— 将.xlsx转换为.deepcell(参见 导入你的 Excel 模型)。
它们都不会越出自己的简报和工具边界即兴发挥。抽取子智能体不会重写你的公式; 建模简报也不会跑去抓取一份没人要求的 10-K。
编辑(Edit)。 一段简短的记录,正是你会真实看到的那种:
You: Add a sensitivity table for WACC ± 100bps and terminal growth ± 50bps.
Claude: Adding the sensitivity grid as a calc with explicit dependencies.
deepcell defs add-calc \
--item-id Sensitivity_WACC \
--formula "DCF_Value(WACC + wacc_delta, g + g_delta)" \
...
Calc added. 12 new cells materialized. Dependencies tracked.
You: deepcell diff
+ ItemDef: Sensitivity_WACC (level 0)
+ CalcDef: DCF_Value parameterized
+ 12 values under Sensitivity_WACC x scenario grid
你不必去逐一检查十二个单元格的公式栏。这个差异是结构化的——一个新的 ItemDef、
一个新的 CalcDef,以及由它们派生出的值。如果有任何地方看起来不对,
你可以 restore(恢复)再重新提问。
智能体不能做什么#
这是最要紧的部分,也是任何"MCP 嵌入 Excel"的方案都无法提供的部分。
有十条 CLI 命令在 MCP 中被屏蔽:login、register、verify-email、to-excel、
clone、status、pull、push、commit、merge。这个模式是一以贯之的——
任何交互式的操作、任何产生二进制输出的操作、任何带有外部或持久性副作用的操作,
都留给分析师。
智能体可以读取你的文件。它可以查询值。它可以编辑值和定义。它可以在带类型的推理图上
运行推理查询——哪些主张支持这条假设,哪些证据与之相矛盾。但它不能向你的远程仓库
推送提交。它不能背着你把一份 .xlsx 发给利益相关方。它不能以你的身份登录。
在 MCP 中屏蔽 to-excel 是有意为之。二进制输出和对外分享是决策,而非编辑——
它们应当归属于分析师。每当你需要时,CLI 仍会在本地为你运行 to-excel。
审阅只发生一次,在最后#
因为每一次编辑都是一个 git 提交,你不必步步盯着。让智能体放手去做。 当会话结束时,运行:
deepcell log --since "1 hour ago"
deepcell diff HEAD~5
扫一遍结构性变更。检视推理图中智能体引入的新主张。接受这次运行,或者用 deepcell restore
恢复到智能体动手之前的那个提交。这次交接是可辨读的,因为文件记住了发生在它身上的一切。
关于这条审计追踪在推理一侧是如何被记录的,参见展示你的推演过程。
为什么这与"Excel 中的 AI"不同#
Excel 没有 MCP。它没有一个对等的工具界面,能让外部智能体去驱动、让用户在一旁观看, 同时由一份带版本管理的文件记录结果。"Excel 中的 AI"止步于单元格层面——它可以填充值、 写一个公式、运行一个宏。它无法承载产生这些变更的那场对话的结构,也无法在 *智能体决定了什么?*的层面上被审阅。你得到的是一个看起来和昨天一模一样的工作簿, 里面多了些新数字,却没有任何关于"为什么"的持久记录。
是这个文件格式让智能体的工作变得可辨读。是 git 历史让审阅变得切实可行。 是 MCP 屏蔽清单让分析师的签名牢牢系在任何离开工作区的产物之上。
界线在哪里#
Claude 读取、查询、提议、编辑。分析师提交、导出、交付、签字。
这就是那条界线。它穿过 commit 和 to-excel,而且它是由协议而非信任来刻意强制执行的。
再谈共存#
Excel 没有 MCP——但它有你。两者都用。重点不是取代你的工具;而是有些过去以一团迷雾收场的 工作流,如今能以一次干净利落的交接收尾。你能看见智能体做了什么。你能撤销智能体做了什么。 你能在剩下的成果上署上你的名字,并且问心无愧。
把模型往返转换回 Excel是这个故事的下一篇—— 当你导出那份由智能体和你共同构建的文件时,会发生什么。
亲自体验一下——在在线演练场中打开一份示例 .deepcell。编辑一个值,看着依赖项重新计算,检视任意数字背后的推理。