科学工作流与结果
Scientific Agent 的重点不是让模型连续输出一段很长的文字,而是让每一步研究都留下可检查的依据。一次运行从研究合同开始,以指标、产物和完整谱系结束。
一次研究如何推进
- 研究合同固定目标、验收条件、预算、输入和允许使用的能力。
- Scientific Reasoner根据当前状态提出下一步,例如运行实验、分析结果或结束研究。
- 插件执行明确的能力调用,返回指标、观察和文件产物。
- Runtime保存不可变产物和事件,更新预算与验收进度。
- 若条件尚未满足且预算仍有余量,Reasoner 根据新证据继续;满足全部条件和产物要求后才成功。
这里的“不可变”意味着旧产物不会被新结果覆盖。改进模型、修订假设或重新评估都会生成新版本,并保留它们之间的父子关系。
实验、指标和观察
插件一次成功调用通常会返回三类内容:
- 指标:供验收条件比较的数字,例如
balanced_accuracy或quality_factor。 - 观察:便于人和 Reasoner 阅读的结构化摘要。
- 产物:数据集、模型、预测、分析、日志、图表或报告等文件。
指标通过不等于研究必然完整。例如模型准确率已经达标,但合同还要求验证结果和科学报告时,运行会继续等待这些产物。
在控制室中,优先检查:
- State 中的当前状态和失败原因;
- Metrics 与 Budget 中的指标来源和剩余预算;
- Artifacts/Reports 以及 Lineage 中的实际交付物;
- Jobs 和 Model calls 中的执行与模型调用记录。
分析
scientific.analysis.analyze 可以把数据集、训练模型和评估结果整理为框架无关的分析产物。若还提供公开预测和评估特征,它可以进一步给出阈值扫描、区域表现和空间结果。
分析不会读取评估器私有标签,也不会替代受信任评估。它的用途是解释已经产生的结果,并为后续证据提取提供稳定输入。
通过 API 可查看:
curl -sS "http://127.0.0.1:8000/api/v1/runs/$RUN_ID/analyses" | jq
证据与主张
Scientific Knowledge 插件把“结果文件”提升为可追踪的知识:
- Evidence(证据)记录观察、来源产物、置信度、适用范围和局限。
- Claim(主张)必须引用支持它的证据,并保留自己的范围与局限。
例如,“边界区域错误率明显较高”可以是从分析产物提取的证据;“模型在决策边界附近需要更多训练样本”则是有证据支撑、但仍可被验证或推翻的主张。
规则式知识能力不会调用新的 LLM,也不会凭空发明结论。你可以在 Knowledge 检查器或 /evidence、/claims 端点中查看来源链。
假设与版本
假设包含陈述、支持主张、置信度以及明确的验证要求。修改假设不会覆盖旧版本,而会形成 supersedes 关系。
一个好的假设应包含:
- 可以被反驳的陈述;
- 适用条件和范围;
- 支持它的主张或证据;
- 什么观察算支持、什么观察算否定。
可通过 Scientific Command 提交假设,或让启用相应工作流的 Reasoner 安排:
{
"command_type": "SubmitHypothesis",
"statement": "Boundary-focused samples improve boundary accuracy",
"confidence": 0.65,
"claim_refs": ["ARTIFACT_ID"],
"conditions": [
{"metric": "group.boundary.accuracy", "operator": ">=", "value": 0.85}
]
}
验证计划与验证结果
验证是一个有审批边界的流程:
- 为既有假设创建与具体工具无关的验证计划。
- 检查目标、参数、预期观察和成功条件。
- 明确批准计划。
- 请求一个可用插件执行验证实验。
- 把实验产物和逐项条件判断记录为验证结果。
- 根据结果更新假设状态,生成新版本。
只有在配置中启用时,普通研究循环才会请求验证动作:
workflow:
scientific_verification:
enabled: true
审批不会自动把抽象实验类型映射到任意插件。运行必须已经授权一个能够完成该实验的能力;否则会以清楚的缺失能力状态停止,等待人工调整。
受信任评估
受信任评估器与普通研究插件不同:它可以访问为评估保留的私有目标,但这些私有产物不会进入 Reasoner 上下文、普通产物列表或研究流导出。
当条件写有:
require_trusted: true
普通插件即使报告同名指标,也不能让条件通过。适合模型选择的常见流程是:
- 研究插件产生公开评估输入和预测;
- 受信任评估器按
evaluation_id找到匹配的私有目标; - 评估器生成带来源的可信指标与评估产物;
- Criteria Engine 使用可信指标决定是否达标。
科学报告
scientific.report.generate 根据产物图生成 Markdown 报告,并可生成独立 SVG 图表。报告引用已有实验、数据、模型、评估和分析产物,不会重新跑模型或评估器。
建议在报告中确认:
- 目标和验收条件是否与研究合同一致;
- 每个关键数字能否追溯到产物;
- 局限和失败尝试是否被保留;
- 图表是否为独立可打开的文件,而不是只存在于页面截图中。
运行何时算完成
成功需要同时满足:
- 所有验收指标;
- 所有要求使用可信来源的限制;
- 最终预测器合同(若启用);
- 科学产物完整性合同(若启用)。
Reasoner 提出 DONE 但要求的产物仍缺失时,Runtime 会拒绝提前结束。预算耗尽、能力缺失、暂停、取消和执行失败也都有独立状态,不会被包装成“成功但有警告”。
运行成功后研究状态会冻结。需要继续探索时,应复制配置并创建新运行,而不是修改旧事件。
交付结果
有两种常见交付方式:
- 科学导出:面向审阅者,包含报告、模型和必要元数据,适合移交一个成功结果。
- Runtime 备份:面向恢复,包含机器状态和所有运行数据,适合迁移或灾难恢复。
二者用途不同。导出不能代替完整备份;备份也不是为读者整理好的最终报告。