Claude Science:把 AI Agent 设计成可校准的科研仪器
核心判断:Claude Science 的关键创新不在于"Claude 更懂科学",而在于它把科研 AI 的交付单位从一次性回答,改造成带有代码、计算环境、数据血缘与证据链的可复现科研资产。
科研 AI 很容易被误解成更强的问答机器人:它会解释论文、写分析脚本、甚至给出假设。但科研工作真正困难的部分,并不是产出一句看似合理的答案,而是让结论经得起复算、审阅、复用与质疑。
Claude Science 因而应被理解为一个面向科学计算与研究产出的 agent 工作台。它把 agent、技能、权威数据库、计算环境、可视化与溯源系统组织成一个闭环:从问题出发,最终留下可审计的研究资产。
本文不是使用说明,也不试图复述产品宣传。它从系统设计角度拆解 Claude Science 的七个哲学,讨论每项设计解决什么问题、如何落地、为什么有效,以及它放弃了什么替代方案。

Claude Science 产物示意图
阅读前提:哪些是已确认事实,哪些是设计评论
公开资料确认,Claude Science 是一款 beta 阶段的科学研究应用,而非新的 Claude 模型;它集成科学工具、数据库连接与算力资源,并将结果与生成它们的代码、环境和过程记录关联起来。官方也说明其支持本地环境、实验室 Linux 机器、HPC 登录节点及云端计算资源,并面向基因组学、单细胞、蛋白组学、结构生物学、化学信息学等场景。12
本文同时采用一份"逆向工程式设计评论"中的系统观察,例如 operon、reviewer、特定 SQLite 表、29 个 skills、以及某些 benchmark 注释。这些具体实现细节应视为该评论对源文件的解读,不应自动等同于 Anthropic 公开承诺。它们在本文中的价值,主要是帮助我们讨论可迁移的工程原则。
一、不是重做 Claude Code,而是重排目标函数
Claude Science 与 Claude Code 共享 agentic 的底座:模型理解意图、调用工具、写代码、执行任务、协调子 agent。但两者的"完成条件"不同。
| 产品 | 主要工作对象 | 默认交付物 | 关键验证闭环 |
|---|---|---|---|
| Claude Code | 代码库、Git、测试与部署流程 | 代码改动、测试结果、commit / PR | 源码 → 运行/测试 → diff → 审查 |
| Claude Cowork | 文档、表格、网页与业务应用 | 完成的任务、办公交付物 | 目标 → 多步执行 → 成品 → 人工确认 |
| Claude Science | 数据、计算、图表、论文与科学主张 | 可复现科研资产 | 问题 → 数据/计算 → 产物 → 证据与溯源 → 复核 |
因此,"Claude Science 几乎重构 Claude Code 的设计哲学"这句话应更精确地表述为:
Claude Science 没有抛弃 Claude Code 的执行能力,而是把优化目标从工程交付闭环改写为科研证据闭环。
Claude Code 的闭环是:代码 → 测试/运行 → diff → Git/PR
Claude Science 的闭环是:问题 → 数据/计算 → 产物 → 证据与血缘 → 可复现复核
代码只是科研结论的一部分。一个科学结论还需要回答:输入数据来自哪里?哪个版本?参数是什么?在哪个环境中运行?图表是否真由该脚本产生?论断又能否回溯到证据?
二、总设计:把"回答"升级为"可检验的研究资产"
Claude Science 的系统价值可以用一个端到端闭环表示。这里的 agent 不是最终产物,而是协调各层系统的接口;最终产品是可审计的 artifact。
#mermaid-svg-SytwvFJ0hECA2Boo{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-SytwvFJ0hECA2Boo .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-SytwvFJ0hECA2Boo .error-icon{fill:#552222;}#mermaid-svg-SytwvFJ0hECA2Boo .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-SytwvFJ0hECA2Boo .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-SytwvFJ0hECA2Boo .marker{fill:#333333;stroke:#333333;}#mermaid-svg-SytwvFJ0hECA2Boo .marker.cross{stroke:#333333;}#mermaid-svg-SytwvFJ0hECA2Boo svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-SytwvFJ0hECA2Boo p{margin:0;}#mermaid-svg-SytwvFJ0hECA2Boo .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-SytwvFJ0hECA2Boo .cluster-label text{fill:#333;}#mermaid-svg-SytwvFJ0hECA2Boo .cluster-label span{color:#333;}#mermaid-svg-SytwvFJ0hECA2Boo .cluster-label span p{background-color:transparent;}#mermaid-svg-SytwvFJ0hECA2Boo .label text,#mermaid-svg-SytwvFJ0hECA2Boo span{fill:#333;color:#333;}#mermaid-svg-SytwvFJ0hECA2Boo .node rect,#mermaid-svg-SytwvFJ0hECA2Boo .node circle,#mermaid-svg-SytwvFJ0hECA2Boo .node ellipse,#mermaid-svg-SytwvFJ0hECA2Boo .node polygon,#mermaid-svg-SytwvFJ0hECA2Boo .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-SytwvFJ0hECA2Boo .rough-node .label text,#mermaid-svg-SytwvFJ0hECA2Boo .node .label text,#mermaid-svg-SytwvFJ0hECA2Boo .image-shape .label,#mermaid-svg-SytwvFJ0hECA2Boo .icon-shape .label{text-anchor:middle;}#mermaid-svg-SytwvFJ0hECA2Boo .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-SytwvFJ0hECA2Boo .rough-node .label,#mermaid-svg-SytwvFJ0hECA2Boo .node .label,#mermaid-svg-SytwvFJ0hECA2Boo .image-shape .label,#mermaid-svg-SytwvFJ0hECA2Boo .icon-shape .label{text-align:center;}#mermaid-svg-SytwvFJ0hECA2Boo .node.clickable{cursor:pointer;}#mermaid-svg-SytwvFJ0hECA2Boo .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-SytwvFJ0hECA2Boo .arrowheadPath{fill:#333333;}#mermaid-svg-SytwvFJ0hECA2Boo .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-SytwvFJ0hECA2Boo .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-SytwvFJ0hECA2Boo .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SytwvFJ0hECA2Boo .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-SytwvFJ0hECA2Boo .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SytwvFJ0hECA2Boo .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-SytwvFJ0hECA2Boo .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-SytwvFJ0hECA2Boo .cluster text{fill:#333;}#mermaid-svg-SytwvFJ0hECA2Boo .cluster span{color:#333;}#mermaid-svg-SytwvFJ0hECA2Boo div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-SytwvFJ0hECA2Boo .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-SytwvFJ0hECA2Boo rect.text{fill:none;stroke-width:0;}#mermaid-svg-SytwvFJ0hECA2Boo .icon-shape,#mermaid-svg-SytwvFJ0hECA2Boo .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SytwvFJ0hECA2Boo .icon-shape p,#mermaid-svg-SytwvFJ0hECA2Boo .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-SytwvFJ0hECA2Boo .icon-shape .label rect,#mermaid-svg-SytwvFJ0hECA2Boo .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SytwvFJ0hECA2Boo .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-SytwvFJ0hECA2Boo .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-SytwvFJ0hECA2Boo :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 自然语言修改
研究问题与约束
主控 Agent 规划任务
检索权威数据与既有实验室资产
声明计算环境与资源需求
运行分析代码与领域工具
图表、结构、表格、Notebook、论文草稿
记录代码、环境、输入、哈希与依赖关系
Reviewer 核对引用、数值和图表血缘
可复跑、可审阅、可迭代的科研资产
这张图揭示了一个重要的产品判断:聊天是入口,artifact 才是系统的状态。如果没有可保存、可版本化、可追溯的资产层,模型再聪明也只能完成一次性对话。
三、哲学一:Artifact-first ------ 产出物是主角,不是聊天
它解决的问题
在普通聊天产品中,图、表、代码片段和结论散落在消息历史里。它们难以复用,也难以证明"这张图是否真的由那段代码和那份数据生成"。这对科研工作是致命缺陷。
Artifact-first 让系统把结构文件、图表、报告、Notebook 和数据集版本视为一等对象。用户不是在"向模型要回答",而是在让系统维护一套研究记录。
设计流程图
#mermaid-svg-t8DrbCIBCQ6J0tRs{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-t8DrbCIBCQ6J0tRs .error-icon{fill:#552222;}#mermaid-svg-t8DrbCIBCQ6J0tRs .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-t8DrbCIBCQ6J0tRs .marker{fill:#333333;stroke:#333333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .marker.cross{stroke:#333333;}#mermaid-svg-t8DrbCIBCQ6J0tRs svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-t8DrbCIBCQ6J0tRs p{margin:0;}#mermaid-svg-t8DrbCIBCQ6J0tRs .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster-label text{fill:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster-label span{color:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster-label span p{background-color:transparent;}#mermaid-svg-t8DrbCIBCQ6J0tRs .label text,#mermaid-svg-t8DrbCIBCQ6J0tRs span{fill:#333;color:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .node rect,#mermaid-svg-t8DrbCIBCQ6J0tRs .node circle,#mermaid-svg-t8DrbCIBCQ6J0tRs .node ellipse,#mermaid-svg-t8DrbCIBCQ6J0tRs .node polygon,#mermaid-svg-t8DrbCIBCQ6J0tRs .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .rough-node .label text,#mermaid-svg-t8DrbCIBCQ6J0tRs .node .label text,#mermaid-svg-t8DrbCIBCQ6J0tRs .image-shape .label,#mermaid-svg-t8DrbCIBCQ6J0tRs .icon-shape .label{text-anchor:middle;}#mermaid-svg-t8DrbCIBCQ6J0tRs .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .rough-node .label,#mermaid-svg-t8DrbCIBCQ6J0tRs .node .label,#mermaid-svg-t8DrbCIBCQ6J0tRs .image-shape .label,#mermaid-svg-t8DrbCIBCQ6J0tRs .icon-shape .label{text-align:center;}#mermaid-svg-t8DrbCIBCQ6J0tRs .node.clickable{cursor:pointer;}#mermaid-svg-t8DrbCIBCQ6J0tRs .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .arrowheadPath{fill:#333333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t8DrbCIBCQ6J0tRs .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-t8DrbCIBCQ6J0tRs .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t8DrbCIBCQ6J0tRs .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster text{fill:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs .cluster span{color:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-t8DrbCIBCQ6J0tRs .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-t8DrbCIBCQ6J0tRs rect.text{fill:none;stroke-width:0;}#mermaid-svg-t8DrbCIBCQ6J0tRs .icon-shape,#mermaid-svg-t8DrbCIBCQ6J0tRs .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-t8DrbCIBCQ6J0tRs .icon-shape p,#mermaid-svg-t8DrbCIBCQ6J0tRs .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-t8DrbCIBCQ6J0tRs .icon-shape .label rect,#mermaid-svg-t8DrbCIBCQ6J0tRs .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-t8DrbCIBCQ6J0tRs .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-t8DrbCIBCQ6J0tRs .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-t8DrbCIBCQ6J0tRs :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} PDB / CIF
图表 / 表格
报告 / Notebook
自然语言研究请求
执行分析
生成可持久化 Artifact
产物类型
原生 3D 结构查看
可视化与内联标注
方法章节式叙述
保存版本与元数据
用户以自然语言请求修改
修改生成该产物的代码
关键机制
- 先落盘,再展示:产物必须保存为可定位、可版本化的对象,而非仅出现在聊天窗口。
- 产物类型感知:结构文件进入分子/蛋白质查看器,图表允许就地标注,报告以实验记录或方法章节的语气呈现。
- 修改代码而不是只改表象:例如"去掉网格线"应改动作图脚本并生成新版本,而不是返回一张没有生成历史的新图片。
- 以协作和审稿为目标:一个 artifact 要能被未来的自己、同事、审稿人和下游流程理解。
它放弃了什么
它放弃了纯聊天产品的轻量与即时性。版本、存储、渲染器和数据结构都需要额外维护;用户也必须接受"保存产物"比"即时闲聊"更重的交互。
可迁移原则
设计 agent 时,先问:用户离开页面后,什么东西应该继续存在?如果答案是报告、配置、数据包、模型、设计稿或决策记录,那么它应成为一等 artifact,而不是聊天记录的附属品。
四、哲学二:Declarative compute ------ 一次声明,多处运行
它解决的问题
科研计算的常见摩擦不在算法本身,而在环境差异:个人电脑、GPU 工作站、Slurm 集群、容器、SSH 远程机和按需云资源,都有不同的构建、寻址和提交方式。
如果把"任务需要什么环境"直接写死在某一种后端中,同一条分析管线就会被复制、漂移并最终不可复现。
设计流程图
#mermaid-svg-nbsw4X9OAA9k7PuD{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-nbsw4X9OAA9k7PuD .error-icon{fill:#552222;}#mermaid-svg-nbsw4X9OAA9k7PuD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-nbsw4X9OAA9k7PuD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-nbsw4X9OAA9k7PuD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-nbsw4X9OAA9k7PuD .marker.cross{stroke:#333333;}#mermaid-svg-nbsw4X9OAA9k7PuD svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-nbsw4X9OAA9k7PuD p{margin:0;}#mermaid-svg-nbsw4X9OAA9k7PuD .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster-label text{fill:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster-label span{color:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster-label span p{background-color:transparent;}#mermaid-svg-nbsw4X9OAA9k7PuD .label text,#mermaid-svg-nbsw4X9OAA9k7PuD span{fill:#333;color:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD .node rect,#mermaid-svg-nbsw4X9OAA9k7PuD .node circle,#mermaid-svg-nbsw4X9OAA9k7PuD .node ellipse,#mermaid-svg-nbsw4X9OAA9k7PuD .node polygon,#mermaid-svg-nbsw4X9OAA9k7PuD .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-nbsw4X9OAA9k7PuD .rough-node .label text,#mermaid-svg-nbsw4X9OAA9k7PuD .node .label text,#mermaid-svg-nbsw4X9OAA9k7PuD .image-shape .label,#mermaid-svg-nbsw4X9OAA9k7PuD .icon-shape .label{text-anchor:middle;}#mermaid-svg-nbsw4X9OAA9k7PuD .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-nbsw4X9OAA9k7PuD .rough-node .label,#mermaid-svg-nbsw4X9OAA9k7PuD .node .label,#mermaid-svg-nbsw4X9OAA9k7PuD .image-shape .label,#mermaid-svg-nbsw4X9OAA9k7PuD .icon-shape .label{text-align:center;}#mermaid-svg-nbsw4X9OAA9k7PuD .node.clickable{cursor:pointer;}#mermaid-svg-nbsw4X9OAA9k7PuD .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-nbsw4X9OAA9k7PuD .arrowheadPath{fill:#333333;}#mermaid-svg-nbsw4X9OAA9k7PuD .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-nbsw4X9OAA9k7PuD .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-nbsw4X9OAA9k7PuD .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nbsw4X9OAA9k7PuD .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-nbsw4X9OAA9k7PuD .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nbsw4X9OAA9k7PuD .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster text{fill:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD .cluster span{color:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-nbsw4X9OAA9k7PuD .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-nbsw4X9OAA9k7PuD rect.text{fill:none;stroke-width:0;}#mermaid-svg-nbsw4X9OAA9k7PuD .icon-shape,#mermaid-svg-nbsw4X9OAA9k7PuD .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-nbsw4X9OAA9k7PuD .icon-shape p,#mermaid-svg-nbsw4X9OAA9k7PuD .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-nbsw4X9OAA9k7PuD .icon-shape .label rect,#mermaid-svg-nbsw4X9OAA9k7PuD .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-nbsw4X9OAA9k7PuD .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-nbsw4X9OAA9k7PuD .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-nbsw4X9OAA9k7PuD :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 研究任务
环境声明 ENVS
基础镜像 / 系统依赖
有序 pip phases
模型权重目录
smoke tests
后端渲染层
Docker / Apptainer
本地或 SSH 命令
Slurm / HPC 作业
Modal / 云端 GPU
同一分析语义
记录实际环境与执行结果
关键机制
- 声明"需要什么",而不是预先写死"怎么部署":基础依赖、软件安装阶段、权重目录和验证测试属于任务语义;Dockerfile、Apptainer 定义、SSH 命令和集群脚本属于后端实现。
- 有序安装阶段 :
pip_phases的顺序不是格式问题,而是对复杂依赖冲突的显式控制。 - 烟雾测试内建:环境可创建不代表分析可运行;最小测试能尽早发现 GPU、依赖或权重问题。
- 资源伸缩成为策略而非重写:同一分析可在笔记本试跑,随后迁移到实验室集群或云 GPU。
它放弃了什么
声明式抽象并不能消灭异构性。GPU 驱动、硬件架构、私有镜像、网络策略、数据挂载与调度配额会从底层"泄漏"出来。好的系统不应假装差异不存在,而应把这些差异收敛为可观察、可配置的后端适配点。
可迁移原则
将配置分成两类:不随执行地点变化的需求声明 ,以及随后端变化的实现适配。只有前者稳定,系统才有迁移和复现的基础。
五、哲学三:Provenance by construction ------ 可复现性刻进数据模型
它解决的问题
很多系统在任务结束后才补日志。日志可以帮工程师排错,却未必能回答"这条科学结论从何而来"。科研需要的是可查询的血缘关系,而不是一堆按时间排列的文本。
评论中提到的 execution_log、artifact_versions、artifact_dependencies 与 host_call_log,可视为一种典型实现:将执行、版本、依赖与工具调用建模成关系数据和 DAG,而不是可选注释。
设计流程图
#mermaid-svg-ubmwUZmX2Ue7MlmO{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ubmwUZmX2Ue7MlmO .error-icon{fill:#552222;}#mermaid-svg-ubmwUZmX2Ue7MlmO .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ubmwUZmX2Ue7MlmO .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .marker.cross{stroke:#333333;}#mermaid-svg-ubmwUZmX2Ue7MlmO svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ubmwUZmX2Ue7MlmO p{margin:0;}#mermaid-svg-ubmwUZmX2Ue7MlmO .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster-label text{fill:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster-label span{color:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster-label span p{background-color:transparent;}#mermaid-svg-ubmwUZmX2Ue7MlmO .label text,#mermaid-svg-ubmwUZmX2Ue7MlmO span{fill:#333;color:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .node rect,#mermaid-svg-ubmwUZmX2Ue7MlmO .node circle,#mermaid-svg-ubmwUZmX2Ue7MlmO .node ellipse,#mermaid-svg-ubmwUZmX2Ue7MlmO .node polygon,#mermaid-svg-ubmwUZmX2Ue7MlmO .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .rough-node .label text,#mermaid-svg-ubmwUZmX2Ue7MlmO .node .label text,#mermaid-svg-ubmwUZmX2Ue7MlmO .image-shape .label,#mermaid-svg-ubmwUZmX2Ue7MlmO .icon-shape .label{text-anchor:middle;}#mermaid-svg-ubmwUZmX2Ue7MlmO .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .rough-node .label,#mermaid-svg-ubmwUZmX2Ue7MlmO .node .label,#mermaid-svg-ubmwUZmX2Ue7MlmO .image-shape .label,#mermaid-svg-ubmwUZmX2Ue7MlmO .icon-shape .label{text-align:center;}#mermaid-svg-ubmwUZmX2Ue7MlmO .node.clickable{cursor:pointer;}#mermaid-svg-ubmwUZmX2Ue7MlmO .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .arrowheadPath{fill:#333333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ubmwUZmX2Ue7MlmO .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ubmwUZmX2Ue7MlmO .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ubmwUZmX2Ue7MlmO .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster text{fill:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO .cluster span{color:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ubmwUZmX2Ue7MlmO .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ubmwUZmX2Ue7MlmO rect.text{fill:none;stroke-width:0;}#mermaid-svg-ubmwUZmX2Ue7MlmO .icon-shape,#mermaid-svg-ubmwUZmX2Ue7MlmO .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ubmwUZmX2Ue7MlmO .icon-shape p,#mermaid-svg-ubmwUZmX2Ue7MlmO .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ubmwUZmX2Ue7MlmO .icon-shape .label rect,#mermaid-svg-ubmwUZmX2Ue7MlmO .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ubmwUZmX2Ue7MlmO .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ubmwUZmX2Ue7MlmO .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ubmwUZmX2Ue7MlmO :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 原始数据 / 外部查询
记录来源、版本、时间与校验信息
代码、参数、随机种子
执行单元
记录 stdout、文件哈希、环境快照
生成 Artifact 版本
写入上游依赖 DAG
Reviewer 检查图表、数字与引用
查询:结论 ← 产物 ← 代码 ← 输入数据
复跑、比较版本、审计与撤回
关键机制
- 执行记录:每个计算单元关联源码、输出、错误、运行时间和产生文件。
- 版本记录:artifact 具有版本号、checksum 与环境快照,而不是"覆盖保存"。
- 依赖 DAG:图表依赖某个中间表,中间表依赖某份数据与脚本;系统能反向追问与正向影响分析。
- host/tool 调用记录:外部服务、SDK 与连接器调用也属于结论的形成过程。
真正的质量门槛
如果要声称"全链路可追溯",至少还应捕获或明确标注以下信息:外部数据库查询时间和版本、返回内容或快照、模型与 prompt 版本、工具版本、随机种子、人工修改及系统外的手动步骤。否则就会出现"代码可运行、结论却无法重现"的假完整性。
可迁移原则
不要把 provenance 理解为日志功能。它应当是回答这个查询的能力:"给定一个结论,请展示所有输入、变换、环境与人工决策。"
六、哲学四:Grounding over generation ------ 真实数据优于泛泛回答
它解决的问题
科学问题中有大量可查证的实体、数值与关系:基因、变异、蛋白结构、药物、实验、临床表型、文献结论和数据库版本。依赖模型参数记忆生成答案,既会过时,也很难被引用或核验。
因此,Claude Science 的科学性不主要来自"模型记住了多少生物学",而来自它将 UniProt、PDB、Ensembl、ClinVar、ChEMBL、PubMed 等权威来源及实验室内部数据纳入执行链。公开介绍也强调,系统通过大量预配置的 skills 和 connectors 访问科学数据与专业模型。\^1
设计流程图
#mermaid-svg-AlJfgp9vNU1yJee9{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-AlJfgp9vNU1yJee9 .error-icon{fill:#552222;}#mermaid-svg-AlJfgp9vNU1yJee9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AlJfgp9vNU1yJee9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AlJfgp9vNU1yJee9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AlJfgp9vNU1yJee9 .marker.cross{stroke:#333333;}#mermaid-svg-AlJfgp9vNU1yJee9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AlJfgp9vNU1yJee9 p{margin:0;}#mermaid-svg-AlJfgp9vNU1yJee9 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster-label text{fill:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster-label span{color:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster-label span p{background-color:transparent;}#mermaid-svg-AlJfgp9vNU1yJee9 .label text,#mermaid-svg-AlJfgp9vNU1yJee9 span{fill:#333;color:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 .node rect,#mermaid-svg-AlJfgp9vNU1yJee9 .node circle,#mermaid-svg-AlJfgp9vNU1yJee9 .node ellipse,#mermaid-svg-AlJfgp9vNU1yJee9 .node polygon,#mermaid-svg-AlJfgp9vNU1yJee9 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-AlJfgp9vNU1yJee9 .rough-node .label text,#mermaid-svg-AlJfgp9vNU1yJee9 .node .label text,#mermaid-svg-AlJfgp9vNU1yJee9 .image-shape .label,#mermaid-svg-AlJfgp9vNU1yJee9 .icon-shape .label{text-anchor:middle;}#mermaid-svg-AlJfgp9vNU1yJee9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-AlJfgp9vNU1yJee9 .rough-node .label,#mermaid-svg-AlJfgp9vNU1yJee9 .node .label,#mermaid-svg-AlJfgp9vNU1yJee9 .image-shape .label,#mermaid-svg-AlJfgp9vNU1yJee9 .icon-shape .label{text-align:center;}#mermaid-svg-AlJfgp9vNU1yJee9 .node.clickable{cursor:pointer;}#mermaid-svg-AlJfgp9vNU1yJee9 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-AlJfgp9vNU1yJee9 .arrowheadPath{fill:#333333;}#mermaid-svg-AlJfgp9vNU1yJee9 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-AlJfgp9vNU1yJee9 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-AlJfgp9vNU1yJee9 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AlJfgp9vNU1yJee9 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-AlJfgp9vNU1yJee9 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AlJfgp9vNU1yJee9 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster text{fill:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 .cluster span{color:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-AlJfgp9vNU1yJee9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-AlJfgp9vNU1yJee9 rect.text{fill:none;stroke-width:0;}#mermaid-svg-AlJfgp9vNU1yJee9 .icon-shape,#mermaid-svg-AlJfgp9vNU1yJee9 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AlJfgp9vNU1yJee9 .icon-shape p,#mermaid-svg-AlJfgp9vNU1yJee9 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-AlJfgp9vNU1yJee9 .icon-shape .label rect,#mermaid-svg-AlJfgp9vNU1yJee9 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AlJfgp9vNU1yJee9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-AlJfgp9vNU1yJee9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-AlJfgp9vNU1yJee9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 科学主张或研究问题
分解为可验证子问题
选择权威数据库、论文与内部数据
查询、下载或运行分析
保留来源、版本、查询条件
交叉验证与冲突检查
证据单元:数据、统计、引用
形成结论与科研 Artifact
标注不确定性、缺口与适用范围
关键机制
- 数据优先的任务分解:先判断答案应该在哪些数据库或数据集中被验证,再让语言模型解释和综合。
- 领域化聚合:用户不应亲自记住数十个端点、schema 和查询语言;agent 在领域技能内完成编排。
- 证据与叙述分离:结论可由模型写成自然语言,但它必须指向数据、计算或文献证据。
- 冲突显式化:不同数据库、不同实验与不同论文的结论不一致时,应保留分歧,而不是强行生成单一答案。
它放弃了什么
它放弃了"快速、无工具、泛化的生成体验"。真实数据意味着访问成本、权限、格式清洗、版本差异与失败处理。并且"权威"不等于"绝对正确":数据库也有滞后、覆盖偏差和错误注释。
可迁移原则
高风险或可验证领域的 agent,应优先回答:**这句话的证据在哪?**而不是优先回答:模型能否把这句话说得流畅?
七、哲学五:Purpose-shaped agents ------ 每个 agent 只承担必要的形状
它解决的问题
"给所有 agent 最大推理、全部工具和最大权限"听起来强大,实际往往意味着更多 token、更慢响应、更大攻击面和更多不可预测行为。
文中的主控 operon、reviewer、bookmarker 与 onboarding 展示了一种更克制的思路:开放式研究编排、证据核验、结果提交和需求澄清是不同任务,应该拥有不同的思考预算、工具集合与权限边界。
设计流程图
#mermaid-svg-Sw5K4SIQTK4ragTh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Sw5K4SIQTK4ragTh .error-icon{fill:#552222;}#mermaid-svg-Sw5K4SIQTK4ragTh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Sw5K4SIQTK4ragTh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Sw5K4SIQTK4ragTh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Sw5K4SIQTK4ragTh .marker.cross{stroke:#333333;}#mermaid-svg-Sw5K4SIQTK4ragTh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Sw5K4SIQTK4ragTh p{margin:0;}#mermaid-svg-Sw5K4SIQTK4ragTh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster-label text{fill:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster-label span{color:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster-label span p{background-color:transparent;}#mermaid-svg-Sw5K4SIQTK4ragTh .label text,#mermaid-svg-Sw5K4SIQTK4ragTh span{fill:#333;color:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh .node rect,#mermaid-svg-Sw5K4SIQTK4ragTh .node circle,#mermaid-svg-Sw5K4SIQTK4ragTh .node ellipse,#mermaid-svg-Sw5K4SIQTK4ragTh .node polygon,#mermaid-svg-Sw5K4SIQTK4ragTh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Sw5K4SIQTK4ragTh .rough-node .label text,#mermaid-svg-Sw5K4SIQTK4ragTh .node .label text,#mermaid-svg-Sw5K4SIQTK4ragTh .image-shape .label,#mermaid-svg-Sw5K4SIQTK4ragTh .icon-shape .label{text-anchor:middle;}#mermaid-svg-Sw5K4SIQTK4ragTh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Sw5K4SIQTK4ragTh .rough-node .label,#mermaid-svg-Sw5K4SIQTK4ragTh .node .label,#mermaid-svg-Sw5K4SIQTK4ragTh .image-shape .label,#mermaid-svg-Sw5K4SIQTK4ragTh .icon-shape .label{text-align:center;}#mermaid-svg-Sw5K4SIQTK4ragTh .node.clickable{cursor:pointer;}#mermaid-svg-Sw5K4SIQTK4ragTh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Sw5K4SIQTK4ragTh .arrowheadPath{fill:#333333;}#mermaid-svg-Sw5K4SIQTK4ragTh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Sw5K4SIQTK4ragTh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Sw5K4SIQTK4ragTh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Sw5K4SIQTK4ragTh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Sw5K4SIQTK4ragTh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Sw5K4SIQTK4ragTh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster text{fill:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh .cluster span{color:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Sw5K4SIQTK4ragTh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Sw5K4SIQTK4ragTh rect.text{fill:none;stroke-width:0;}#mermaid-svg-Sw5K4SIQTK4ragTh .icon-shape,#mermaid-svg-Sw5K4SIQTK4ragTh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Sw5K4SIQTK4ragTh .icon-shape p,#mermaid-svg-Sw5K4SIQTK4ragTh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Sw5K4SIQTK4ragTh .icon-shape .label rect,#mermaid-svg-Sw5K4SIQTK4ragTh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Sw5K4SIQTK4ragTh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Sw5K4SIQTK4ragTh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Sw5K4SIQTK4ragTh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 开放研究与编排
引用、数值、血缘核查
提交或整理结果
澄清需求
用户请求
任务路由
主控 Agent
Reviewer
Bookmarker
Onboarding
较宽技能发现与执行权限
受限工具与任务专属 rubric
最小提交权限
仅询问与引导
记录任务质量、成本和失败模式
按 benchmark 调整预算与边界
关键机制
- 认知预算按任务分配:模式匹配式核查未必需要长推理;开放式研究规划则需要更强的探索能力。
- 工具与权限最小化:不需要执行命令的 agent,不应获得执行或网络访问权。
- 可测量的删减:关闭某能力的理由应是任务质量、token 成本、延迟与错误率的评测结果,而非个人偏好。
- 审查 rubrics 明确边界:reviewer 不只判断"好不好",还要判断引用能否追溯、数值是否可验证、图表是否对应生成代码。
它放弃了什么
专用 agent 越多,路由、状态交接、回归测试和版本兼容的成本就越高。拆分只有在任务边界稳定、可评测且收益大于协作开销时才值得。
可迁移原则
不要问"这个 agent 还能不能多做一点",而要问:它为完成当前职责,最少需要哪些推理、工具、数据和权限?
八、哲学六:Progressive disclosure ------ 能力可以很大,上下文必须很小
它解决的问题
当系统拥有大量 skills、连接器、数据源和工具时,最直接的做法是把所有说明预塞进上下文。这会造成上下文污染:模型看到太多无关能力,工具选择更差,成本也更高。
渐进披露的做法是保留一个轻量能力目录,在当前请求出现时检索与任务相关的 skill,再按需加载详细指令。
设计流程图
#mermaid-svg-3wJNN9VCWtdvq8nj{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-3wJNN9VCWtdvq8nj .error-icon{fill:#552222;}#mermaid-svg-3wJNN9VCWtdvq8nj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3wJNN9VCWtdvq8nj .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3wJNN9VCWtdvq8nj .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3wJNN9VCWtdvq8nj .marker.cross{stroke:#333333;}#mermaid-svg-3wJNN9VCWtdvq8nj svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3wJNN9VCWtdvq8nj p{margin:0;}#mermaid-svg-3wJNN9VCWtdvq8nj .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster-label text{fill:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster-label span{color:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster-label span p{background-color:transparent;}#mermaid-svg-3wJNN9VCWtdvq8nj .label text,#mermaid-svg-3wJNN9VCWtdvq8nj span{fill:#333;color:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj .node rect,#mermaid-svg-3wJNN9VCWtdvq8nj .node circle,#mermaid-svg-3wJNN9VCWtdvq8nj .node ellipse,#mermaid-svg-3wJNN9VCWtdvq8nj .node polygon,#mermaid-svg-3wJNN9VCWtdvq8nj .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-3wJNN9VCWtdvq8nj .rough-node .label text,#mermaid-svg-3wJNN9VCWtdvq8nj .node .label text,#mermaid-svg-3wJNN9VCWtdvq8nj .image-shape .label,#mermaid-svg-3wJNN9VCWtdvq8nj .icon-shape .label{text-anchor:middle;}#mermaid-svg-3wJNN9VCWtdvq8nj .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-3wJNN9VCWtdvq8nj .rough-node .label,#mermaid-svg-3wJNN9VCWtdvq8nj .node .label,#mermaid-svg-3wJNN9VCWtdvq8nj .image-shape .label,#mermaid-svg-3wJNN9VCWtdvq8nj .icon-shape .label{text-align:center;}#mermaid-svg-3wJNN9VCWtdvq8nj .node.clickable{cursor:pointer;}#mermaid-svg-3wJNN9VCWtdvq8nj .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-3wJNN9VCWtdvq8nj .arrowheadPath{fill:#333333;}#mermaid-svg-3wJNN9VCWtdvq8nj .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-3wJNN9VCWtdvq8nj .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-3wJNN9VCWtdvq8nj .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-3wJNN9VCWtdvq8nj .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-3wJNN9VCWtdvq8nj .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-3wJNN9VCWtdvq8nj .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster text{fill:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj .cluster span{color:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-3wJNN9VCWtdvq8nj .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-3wJNN9VCWtdvq8nj rect.text{fill:none;stroke-width:0;}#mermaid-svg-3wJNN9VCWtdvq8nj .icon-shape,#mermaid-svg-3wJNN9VCWtdvq8nj .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-3wJNN9VCWtdvq8nj .icon-shape p,#mermaid-svg-3wJNN9VCWtdvq8nj .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-3wJNN9VCWtdvq8nj .icon-shape .label rect,#mermaid-svg-3wJNN9VCWtdvq8nj .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-3wJNN9VCWtdvq8nj .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-3wJNN9VCWtdvq8nj .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-3wJNN9VCWtdvq8nj :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 通过
不通过
当前研究请求
轻量能力目录
按任务检索候选 skills
相关性与权限检查
加载必要的详细 Skill
维持未加载状态
调用工具并执行
记录选用结果与失败原因
改进 skill 发现与路由评测
低上下文占用
关键机制
- 目录与详情分离:模型先知道"可能有什么能力",而不是一开始就阅读所有操作手册。
- 按需扩展上下文:只有真正相关的领域流程进入当前工作记忆。
- 把发现本身当作组件评测:skill 没被召回,或被误召回,都会导致错误工具链;因此检索质量不能被视为无关紧要的提示词细节。
- 权限与相关性一起判断:即使一个 skill 匹配任务,也未必应被赋予访问敏感数据的资格。
它放弃了什么
它以一次检索/发现步骤换取更小的上下文。若发现机制漏掉关键 skill,模型可能会使用错误工具或重复造轮子。因此目录的命名、描述、路由信号与评测集非常重要。
可迁移原则
能力规模和上下文规模必须分离。让系统拥有很多能力,不代表要让模型在每次任务中同时看见所有能力。
九、哲学七:Self-extension ------ 让系统生长,但把生长纳入治理
它解决的问题
科研组织的工具链天然异质:私有 assay、内部数据库、ELN、计算集群、实验室 SOP 与分析脚本都不同。任何预制产品都不可能覆盖全部工作流。
当系统具备 skill 创建、agent profile 定制、历史查询和评测能力时,它就不再是固定功能集,而成为可被实验室逐步塑形的平台。
设计流程图
#mermaid-svg-n4kT2fQA7mmdTl3S{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-n4kT2fQA7mmdTl3S .error-icon{fill:#552222;}#mermaid-svg-n4kT2fQA7mmdTl3S .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-n4kT2fQA7mmdTl3S .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-n4kT2fQA7mmdTl3S .marker{fill:#333333;stroke:#333333;}#mermaid-svg-n4kT2fQA7mmdTl3S .marker.cross{stroke:#333333;}#mermaid-svg-n4kT2fQA7mmdTl3S svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-n4kT2fQA7mmdTl3S p{margin:0;}#mermaid-svg-n4kT2fQA7mmdTl3S .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster-label text{fill:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster-label span{color:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster-label span p{background-color:transparent;}#mermaid-svg-n4kT2fQA7mmdTl3S .label text,#mermaid-svg-n4kT2fQA7mmdTl3S span{fill:#333;color:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S .node rect,#mermaid-svg-n4kT2fQA7mmdTl3S .node circle,#mermaid-svg-n4kT2fQA7mmdTl3S .node ellipse,#mermaid-svg-n4kT2fQA7mmdTl3S .node polygon,#mermaid-svg-n4kT2fQA7mmdTl3S .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-n4kT2fQA7mmdTl3S .rough-node .label text,#mermaid-svg-n4kT2fQA7mmdTl3S .node .label text,#mermaid-svg-n4kT2fQA7mmdTl3S .image-shape .label,#mermaid-svg-n4kT2fQA7mmdTl3S .icon-shape .label{text-anchor:middle;}#mermaid-svg-n4kT2fQA7mmdTl3S .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-n4kT2fQA7mmdTl3S .rough-node .label,#mermaid-svg-n4kT2fQA7mmdTl3S .node .label,#mermaid-svg-n4kT2fQA7mmdTl3S .image-shape .label,#mermaid-svg-n4kT2fQA7mmdTl3S .icon-shape .label{text-align:center;}#mermaid-svg-n4kT2fQA7mmdTl3S .node.clickable{cursor:pointer;}#mermaid-svg-n4kT2fQA7mmdTl3S .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-n4kT2fQA7mmdTl3S .arrowheadPath{fill:#333333;}#mermaid-svg-n4kT2fQA7mmdTl3S .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-n4kT2fQA7mmdTl3S .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-n4kT2fQA7mmdTl3S .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-n4kT2fQA7mmdTl3S .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-n4kT2fQA7mmdTl3S .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-n4kT2fQA7mmdTl3S .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster text{fill:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S .cluster span{color:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-n4kT2fQA7mmdTl3S .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-n4kT2fQA7mmdTl3S rect.text{fill:none;stroke-width:0;}#mermaid-svg-n4kT2fQA7mmdTl3S .icon-shape,#mermaid-svg-n4kT2fQA7mmdTl3S .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-n4kT2fQA7mmdTl3S .icon-shape p,#mermaid-svg-n4kT2fQA7mmdTl3S .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-n4kT2fQA7mmdTl3S .icon-shape .label rect,#mermaid-svg-n4kT2fQA7mmdTl3S .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-n4kT2fQA7mmdTl3S .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-n4kT2fQA7mmdTl3S .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-n4kT2fQA7mmdTl3S :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否
是
发现现有能力缺口
定义新 Skill / Agent 的任务边界
编写指令、工具声明与权限范围
静态检查与安全审查
基准集、对照实验与失败用例
质量、成本与风险达标?
版本化发布到能力目录
任务中渐进发现与调用
记录效果、错误与用户反馈
回归评测、升级、回滚或下线
关键机制
- 能力作为版本化资产:新 skill 需要作者、版本、依赖、权限、用途与变更记录。
- 创建与评测一体化:会生成 skill 不等于会生成可靠 skill;必须有对照、grader 和回归测试。
- profile 可定制但不无限扩权:更换角色指令、继承工作风格可以提升贴合度,敏感工具访问仍需独立治理。
- 可回滚:错误的或过期的 skill 应可禁用、降级与追查其影响范围。
它放弃了什么
自扩展提高了可塑性,也引入提示词、工具、依赖和数据访问的供应链风险。若没有版本控制、签名/审查、最小权限与评测门禁,"自我生长"会变成不可审计的配置蔓延。
可迁移原则
一个可扩展 agent 平台的核心不是"它能自己写 skill",而是:新能力是否能被评测、授权、版本化、发现、撤销和复盘。
十、贯穿全篇的控制哲学:理解而非命令
"把 agent 当成需校准的科学仪器,而非需命令的下属",最值得带走的不是拟人化表达,而是一个 harness 设计原则:
每条约束都应该携带其原因、测量依据、适用边界与例外处理方式。
例如,下面两种写法的控制力不同:
| 命令式写法 | 校准式写法 |
|---|---|
ALWAYS cite sources. |
对可外部验证的科学主张,保留可定位来源;若来源冲突或不可获得,明确标注不确定性而非补全。 |
NEVER use web search. |
涉及结构、变异、药物或定量主张时,优先使用可版本化的领域数据库;网页搜索仅用于发现线索,不能单独构成结论证据。 |
ALWAYS think carefully. |
对开放研究规划保留较高推理预算;对结构化溯源核对,先以 benchmark 判断额外推理是否提升召回。 |
后者不是更"温和"的前者,而是更可泛化的控制方式。模型理解了为何需要约束,才更可能在未写明的边界案例里采取正确策略。
但这并不意味着禁令没有价值。涉及数据外传、删除、危险实验或不可逆外部操作时,硬权限边界仍然必要。更成熟的组合是:
- 安全与权限:用硬机制和最小权限保证;
- 任务质量与策略选择:用原因、证据、rubric 与评测来校准;
- 边界案例:明确何时升级、何时询问、何时停止。
十一、对其他 Agent 系统的落地清单
如果要将这套思想迁移到药物研发、金融分析、法务尽调、数据工程或企业运营,可按以下顺序设计:
- 定义资产,而非只定义回答:最终应保存什么?报告、数据包、决策记录、代码、配置还是审计包?
- 定义证据模型:每项关键主张如何指向输入数据、工具调用、代码、环境与人工决策?
- 定义可复跑的计算声明:哪些依赖是任务不变量,哪些是后端适配?
- 将权威来源接入工作流:答案的事实基础来自哪类受控数据,而不是模型记忆?
- 按职责裁剪 agent:谁负责执行、审查、澄清、提交;每个角色最小需要什么权限?
- 让能力按需进入上下文:如何发现正确 skill,并如何评估漏召回与误召回?
- 将扩展纳入治理:新工具/skills 如何测试、发布、回滚和审计?
- 用测量取代信念:每项模型配置都要有质量、成本、延迟、安全或稳定性上的证据。
结语
Claude Science 最值得借鉴的地方,不是一组特定的生物学工具,也不是"多 agent"这个标签。它展示的是一种更成熟的 agent 系统观:
模型负责协调与执行;系统负责把执行变成有证据、有状态、有边界、可复验的资产。
在这一观念下,优秀的科研 AI 不以"答案听起来是否专业"为终点,而以更难也更有价值的问题为终点:这条结论能否说明来源、解释过程、复跑计算,并在必要时被推翻或修正?
这也是从聊天机器人走向生产级科研执行引擎的分水岭。
参考资料
1: Anthropic, Claude Science, an AI workbench for scientists, is now available
2: Anthropic, Claude Science beta: Your research partner for rigorous science
3: Anthropic, Claude Code documentation
4: Anthropic, Get started with Claude Cowork