EN 技术报告 返回主页

快速开始

安装与环境配置

CastClaw 的快速启动流程与主页使用指南保持一致:先全局安装 CLI,再验证版本,随后进入交互式 LLM 配置并在数据集目录中启动预测。

前置依赖:Bun ≥ 1.3.11、Python ≥ 3.10、uv、至少一个 LLM API Key。

依赖 版本 用途
Bun ≥ 1.3.11 运行时与包管理器
Python ≥ 3.10 时序模型的 ML 后端
uv Latest Python 依赖管理
GPU(可选) CUDA 12.8 深度学习模型加速

安装

# npm 全局安装(推荐)
npm install -g castclaw

验证安装

castclaw --version

配置 LLM

# 在终端中输入 castclaw,即可进入交互式配置 API Key
castclaw

# 或在 castclaw 终端内部执行 /connect 来切换不同运营商
/connect

开始预测

# 进入数据集所在目录,启动 CLI
cd /path/to/your/dataset
castclaw

CLI 启动后,在 Planner 标签页(Ctrl+1)中输入任务描述:

# 示例:初始化一个能源消耗预测任务
为 data/etth1.csv 初始化预测会话。目标列:OT,时间列:date,
预测步长:96 步,回看长度:336。采用 70/20/10 分割,使用 MSE 和 MAE 评估。
建议

第一次上手只接一个熟悉的提供商,优先通过 castclaw 交互式配置 API Key;需要切换运营商时再使用 /connect

第一个预测任务(5 分钟上手)

推荐直接用 load.csv(TIMESTAMP / LOAD 字段,小时频率)快速走通主流程。目标是理解系统节奏,不是调到最优。

1

准备工作目录

load.csv 放到独立实验目录,避免与其他任务共享 .forecast/ 状态。

2

启动 CLI

进入目录后运行 castclaw,首次进入确认模型和预算配置。

3

在 Planner 输入任务描述

明确目标列、时间粒度、预测步长和评估指标,描述越具体,Skill 草案越准。

4

审核 Skill 草案

确认候选经验的适用条件、证据来源与风险提示无明显偏差后继续。

5

观察迭代与最终报告

Forecaster 执行工作流适配,Critic 生成 final-report.md,留意是否出现经验审核型人在回路暂停。

mkdir my-run && cd my-run
# 将 load.csv 放入当前目录后
castclaw
Planner 输入示例

请用 load.csv 做未来 24 小时电力负荷预测;时间列为 TIMESTAMP,目标列为 LOAD,评估指标使用 MAE 与 MAPE,实验预算控制在 20 次以内。

灵活任务输入

除了常规比例切分,CastClaw 也支持在任务描述中用两个时间戳切分训练集、验证集和测试集。每个切分时间戳都是前一段可作为历史/预测起点的最后一行;后续评估窗口可以复用更早的真实历史作为上下文,并在跳过 forecast_gap 后开始计算目标窗口。

可配置步长

任务描述中可以写 stride = 24 或“步长 = 24”。如果不写,默认步长为 1;写入后会真正影响训练、验证和测试窗口采样。

预测间隔

当历史窗口和目标窗口之间存在间隔时,可设置 forecast_gap。模型内部预测 forecast_gap + pred_len,评估和生成式推理只暴露最后的 pred_len 目标窗口。

请使用时间戳切分,通过 2025-06-30 09:30:00 与 2025-09-30 09:30:00 划分数据集。
lookback_window = 711
predicted_window = 96
forecast_gap = 57
stride = 96

预测先验与生成式预测推理

当你已经有一份外部模型或人工系统给出的预测结果时,可以使用用户自主提交预测先验功能。预测先验文件必须是完整数据集,时间列、列名、列顺序、行数和外生变量与真实数据集一致;训练集目标值保持真实值,验证集和测试集目标列可替换为已有预测先验。

UserPrior 路径

校验通过后,系统进入 UserPrior 流程,不再进行模型 Zoo 搜索、模型调参或小模型训练,而是把用户提交的预测先验作为 raw prediction。

验证约束

生成式预测推理只用验证集前半部分设计候选 Skill,用验证集后半部分检验是否接受。测试集只在最终阶段应用已锁定 Skill,并保留 raw / adjusted 双轨结果。

CLI 基础操作

CLI 是与三个智能体协同工作的命令行工作台,核心是理解"当前在哪个阶段、由谁负责"。

快捷键 / 区域 作用 应当关注什么
Ctrl+1 切换到 Planner 任务定义是否完整,分析报告与 Skill 草案是否合理。
Ctrl+2 切换到 Forecaster 经验链路是否停滞,候选规律是否有证据支撑,是否触发人在回路。
Ctrl+3 切换到 Critic 报告是否覆盖性能分解与下一步建议。
任务状态面板 查看当前阶段与预算 确认处于哪一阶段(Init / Analysis / Forecasting / Report)。
常见误区

CLI 是阶段驱动的任务工作台,不是单步问答界面。重点是"当前在哪个阶段,下一步由谁负责"。

交互模式

CastClaw 不只有一种固定使用方式。根据任务复杂度、用户角色和协作深度,你可以在两种交互模式之间切换:先澄清需求,再进入协同执行,分别对应任务定义与预测共建这两个核心阶段。

苏格拉底式交互

适用于任务目标还不清晰、约束条件尚未冻结的场景。CastClaw 会先通过提问帮你明确预测目标、时间粒度、外生变量、评价指标和资源预算,再进入正式执行。

关注点说明
适用阶段项目初期、需求澄清、方案设计。
核心动作连续追问、澄清假设、冻结预测计划。
用户要做什么提供业务背景、确认目标列 / 时间列 / 预测步长 / 指标。
使用建议

如果你还说不清“到底要预测什么、以什么标准算成功”,先采用这种模式,避免在错误任务定义上消耗实验预算。

认知伴随式交互

适用于你希望一边运行、一边审核经验、一边纠偏的场景。系统会把阶段推进、Skill 审核、候选经验冲突和关键证据暴露给你,你可以在关键节点介入经验沉淀。

关注点说明
适用阶段经验审核、结果解释、人机协同沉淀。
核心动作查看中间证据、审核 Skill、在经验冲突或适用边界不清时干预。
用户要做什么补充领域证据、标注异常 Case、确认哪些结论应沉淀为经验。
典型触发点

当候选经验没有带来新信息、结果解释与领域常识冲突,或某条经验的适用边界不清时,就应切入这种模式。

CLI 命令参考

castclaw 启动选项

命令用途
castclaw 在当前目录启动 CLI,基于当前项目上下文接管任务。
castclaw --model anthropic/claude-sonnet-4-6 启动时显式指定主模型,临时覆盖默认配置。
castclaw --version 查看当前 CLI 版本,排查环境不一致时有用。

快捷键速查

快捷键功能
Ctrl+1切换到 Planner
Ctrl+2切换到 Forecaster
Ctrl+3切换到 Critic

熟练使用这三个快捷键后,你会自然形成节奏:在 Planner 定义与审核,在 Forecaster 看迭代,在 Critic 看结论。

forecast 工具链

forecast_state

  • forecast_state init:初始化任务并创建 .forecast/ 目录。
  • 阶段转换强制执行,确保过程可追溯。

forecast_task

  • 面向 task.json 的任务定义辅助工具。
  • 适合在 Init 阶段确认目标列、步长与评估指标。

forecast_prediction_prior

  • 导入并校验用户提交的完整预测先验 CSV。
  • 校验通过后创建 UserPrior 运行产物,并直接进入深度生成式预测推理路径。

forecast_adjustment_*

  • 冻结可修正源模型、生成验证集前半部分诊断、写入候选 Skill。
  • 在验证集后半部分评估并锁定通过的 Skill,最终由 Critic 在测试集上应用。

配置参考

CAST.md 约束文件

项目级行为约束,自动注入到每个 Agent 上下文中。承载稳定、长期、所有阶段都应知道的规则。

字段说明
banned_models禁用模型列表,直接排除低价值或资源不允许的模型族。
max_experiments最大实验次数,限制 Forecaster 的探索预算。
no_improve_threshold经验链路连续无新增时的暂停阈值,到达后触发人在回路审核。
eval_metric评估指标偏好,例如 MAE、MAPE 或 RMSE。
domain_notes领域背景说明,注入每个 Agent 上下文,帮助结果判断更符合业务认知。

castclaw.json 参数

任务级或项目级默认配置入口,适合团队共享默认模型配置和预算策略。

{
  "model": "anthropic/claude-sonnet-4-6",
  "light_model": "anthropic/claude-haiku-4-5",
  "max_experiments": 20,
  "no_improve_threshold": 5
}
配置建议

把高质量模型放主模型位,轻量模型放辅助分析路径,平衡速度与质量。

模型接入(LLM 配置)

CastClaw 通过 Vercel AI SDK 风格接入兼容多家提供商,按网络环境、预算和偏好自由选择。

国际提供商

Anthropic Claude、OpenAI GPT、Google Gemini,适合有稳定海外 API 接入的环境。

国内提供商

DeepSeek、Qwen、GLM 等,适合国内网络环境。

部署方式

直接 API、自建推理服务或昇腾算力 API,便于企业内部统一部署。

核心概念

预测工作流学习框架总览

CastClaw 的核心不只是执行一次预测,而是学习一套可复用的预测工作流。完整链路由四个阶段构成:任务协商与价值感知交互离线规律学习与经验沉淀在线慢思考推理与工作流适配结果评估与工作流发布

User Task
  ↓
价值感知交互(任务规格化 / 约束偏好 / 人类反馈)
  ↓
规律-经验双层学习(预测规律 / 求解经验 / 工作流评分)
  ↓
在线慢思考适配(情境识别 / 工具调用 / 反思校正)
  ↓
结果评估与发布(性能评估 / Case 级解释 / 可部署工作流)
CastClaw 预测工作流学习框架图
阶段职责何时接触
价值感知交互 澄清目标、冻结任务规格、记录约束偏好和人类反馈。 任务启动、需求不完整、关键判断需要确认时。
规律-经验学习 从训练集归纳预测规律,从验证集沉淀工具路线、失败原因和工作流评分。 预测前分析、Skill 审核、经验复用和团队资产沉淀时。
在线慢思考适配 检索规律/经验/反馈,实例化候选工作流,调用工具并进行反思校正。 实际预测执行、结果异常、策略需要调整时。
评估与发布 评估预测性能、验证工作流有效性,生成 Case 级证据解释并发布可复用流程。 查看最终报告、复盘项目、准备复用或部署时。

执行角色分工(Planner / Forecaster / Critic)

Planner、Forecaster、Critic 是 CLI 中的执行入口,用来承载工作流学习框架的不同阶段。把它们看成不同岗位,而不是可互相替代的聊天窗口。

智能体核心职责关键行为
Planner 任务规格化、价值偏好记录、规律归纳。 并发执行定性与定量分析,输出预测前报告,生成候选规律与 Skill。
Forecaster 在线工作流适配与实验循环。 读取经验、选配置、调用 CastFeat / CastZoo、记录反思、触发人在回路。
Critic 结果评估、证据解释与工作流发布。 对比性能、生成可视化与 Case 级解释,产出 final-report.md

预测工作流学习主线

CastClaw 把预测任务拆成可审查的学习链路:先明确价值目标,再离线学习规律和经验,随后在线适配工作流,最后评估、解释并发布可复用流程。CLI 内部仍通过阶段切换和文件协议保证流程可追溯、可审计。

1

任务协商与规格化

冻结 task.json,创建 .forecast/ 工作目录,并记录目标列、预测步长、评估指标、预算约束和人类偏好。

2

离线规律归纳

双轨并发:定性领域分析(WebSearch)+ 定量数据诊断(CastSense),从数据、情境和领域知识中归纳预测规律。

3

经验沉淀与 Skill 审核

Planner 生成 2–4 个候选 Skill 后暂停,等待人类审核证据来源、风险、失败边界和适用边界。通过审核的 Skill 会成为可复用求解经验。

4

在线慢思考适配

读取历史经验 → 识别当前情境 → 选配置 → CastFeat 构建表示 → CastZoo 执行训练评估 → 反思记录 → 预算检查 → 循环。若启用生成式预测推理,则基于验证集前半部分生成候选 Skill,并用验证集后半部分做接受检验;若处于 UserPrior 模式,则跳过模型搜索与训练,直接优化用户提交的预测先验。

5

评估解释与工作流发布

Critic 汇总实验产物、性能分解与可视化说明,生成结构化的 final-report.md。报告会保留工作流有效性判断、Case 级证据解释,以及 raw / adjusted 等可审计产物。

设计重点

CastClaw 的差异化不在"跑更多模型",而在学习什么情境下该怎样组织预测工作流,并把成功经验沉淀为下一次任务可复用的流程资产。

人在回路

什么是人在回路

当候选经验连续没有新增价值、结果解释异常,或经验结论与领域认知明显冲突时,系统会暂停在可恢复点等待人类反馈。这不是任务失败,而是经验积累的校正窗口。

节点一:任务设定确认

确认目标列、时间列、预测步长、评估指标与资源约束,防止错误任务定义被后续持续放大。

节点二:候选经验审核

确认 Skill 的适用条件、证据来源和失败边界是否合理,避免把低质量结论沉淀进经验库。

节点三:经验积累干预

补充领域先验、标注异常 Case、修正适用边界或补充失败归因,再继续沉淀经验。

不要把人在回路理解成"重跑按钮"

有效的介入可改变经验积累的内容,例如补充证据、修正适用条件、说明异常日期、记录失败边界或补充外部约束。

技能审核:如何介入

审核 Skill 时,重点是判断"这条经验是否真的适用于当前任务",而不是 YAML 写得是否漂亮。关注适用条件、证据来源、失败边界和风险提示。

审核关注点

  • 适用条件是否与数据特征匹配(强季节性、长序列、稳定频率等)。
  • 证据来源是否足以支持这条经验被复用。
  • 风险警告是否覆盖已知缺陷(小样本过拟合、分布漂移、夜间零值等)。

建议的介入方式

  • 把已知的重要节假日、设备变更、政策事件写进领域说明。
  • 标注这条经验适用或不适用的 Case 类型。
  • 补充失败原因,避免重复沉淀低质量经验。

结果确认与干预时机

最值得人类确认的是"经验是否值得沉淀"发生变化的时候,而不是每一轮结果。

经验无新增 结果与领域常识冲突 候选经验冲突 异常日期影响明显 适用边界不清
实用原则

如果你的介入无法改变经验库中沉淀的内容,先不要介入。人在回路最有价值的地方是改变经验积累,而不是重复确认现状。

插件工具箱

CastSense:数据诊断

CastSense 负责回答"这个序列现在是什么状态"。它把趋势、季节性、异常和分布变化整理成结构化知识,供 Planner 生成策略时使用。

趋势与周期识别

检测长期趋势、日周期、周周期与多尺度周期,帮助判断优先走哪条模型路线。

异常与漂移定位

发现突变、离群点、非平稳性和分布漂移,为风险提示与经验审核提供依据。

结构化输出

把诊断结果沉淀为后续 Skill 检索、特征设计和模型编排都能消费的结构化 knowledge。

CastFeat:特征构建

CastFeat 负责回答"应该怎样把数据变成模型可用的表示"。它把原始时序转成更适配下游模型的 representation。

lag / rolling 统计特征 频域与多尺度表示 patch / token embedding model-ready representation
理解方式

CastFeat 不是"再做一遍手工特征工程",它把领域特征、统计特征和基础模型输入形式统一到同一条表示构建上。

CastZoo:模型编排

CastZoo 负责回答"用什么模型,以及怎么组合"。它不只是模型仓库,还负责策略化调度。

支持的模型族

统计模型(ARIMA、AutoARIMA、ETS、ExponentialSmoothing、SimpleExponentialSmoothing、Holt、HoltWinters、Theta)、机器学习、深度学习(Informer、PatchTST)、基础模型(Chronos、TimesFM、Moirai)。

支持的策略

单模型直接跑、多模型集成(ensemble)、先粗后细两阶段调度,或把基础模型输出作为先验信息。

Skill 与经验库

Skill 是什么

Skill 是"经过分析、验证与审核的策略模板",描述某类情境在什么条件下适合什么模型族、工具组合、搜索空间、特征模板,以及有哪些已知风险。它既是可执行策略,也是 CastClaw 沉淀求解经验和发布可复用工作流的关键资产。

承接历史经验

把验证过的规律、工具调用路线和失败边界沉淀下来,不是每次从空白开始。

指导未来任务

为新任务缩小模型空间和工作流选择空间,让 Forecaster 从更合理的起点出发。

允许人类把关

先审核再使用,使系统进化建立在可信经验之上,而不是自动累积噪声。

Skill 文件结构

Skill 使用 YAML 表示,核心是适用条件、模型族、搜索空间、特征模板、风险项和经验备注。你可以把它理解为“某类 Case 的可复用工作流片段”。

name: deep_learning_periodic
applicable_conditions:
  - 强季节性数据
  - 序列长度 > 5000
model_family: deep_learning
models: [PatchTST, iTransformer]
search_space:
  learning_rate: [1e-4, 5e-4]
  patch_len: [16, 32, 64]
feature_template: patch_token
risks:
  - 数据量不足时过拟合风险高
domain_notes: ""
审核重点

先看 applicable_conditionsrisks,再看是否有验证证据支持这条路线。这三部分最直接决定当前任务是否该用这份 Skill。

如何审核与沉淀 Skill

  1. Planner 基于预测前分析和候选规律草拟 2–4 个候选 Skill。
  2. 人类审核模型路线、适用条件和风险提示,必要时直接编辑内容。
  3. 通过审核的 Skill 进入 .forecast/skills/,供当前与相似任务复用。
  4. 随积累持续演化,逐步形成团队级经验库和工作流资产。
审核原则

宁可保留少量高质量 Skill,也不要囤积大量低信号策略。Skill 库的价值在于可信、可验证、可复用,而不是数量。

/cast-creation 命令

交互式生成 CAST.md 项目约束文件。适合在任务开始前明确禁用模型、预算上限、评估偏好和领域说明。

适合什么时候用

你已经知道哪些模型不该用、实验预算不能超过多少次,或者有必须注入给所有 Agent 的领域说明时。

解决什么问题

避免每轮任务都口头重复约束条件,并降低 Agent 在后续阶段"忘掉限制"的概率。

使用示例

三个案例分别覆盖负荷、光伏和金融时序,帮助你建立"不同数据形态对应不同经验"的感觉。重点看数据特征、推荐 Skill 与人在回路如何帮助沉淀经验。

电力负荷预测(load.csv)

load.csv 是最适合第一个示例的入门数据,包含小时级负荷序列,具有稳定的日周期和周周期。

数据特征

小时频率,约 1.5 万条样本,强日周期(24h)与周周期(168h),夏冬峰值明显。

推荐策略

优先 deep_learning(PatchTST、iTransformer)加 foundation(Chronos)组合路线。

预期产物

看到 pre-forecast.md、实验目录与 final-report.md,说明主流程已打通。

光伏发电预测

光伏序列同时具备强日周期、夜间恒零和天气敏感性,是"需要领域知识参与经验沉淀"的典型案例。

数据特征与诊断重点

GEFCom2014 Solar Track 小时级数据。CastSense 应重点识别夜间零值、天气突变和季节性变化。

推荐经验与人在回路

从 statistical(Theta)+ foundation(TimesFM、Moirai)经验路线入手;人在回路重点在阴雨连续日与天气异常日的人类标注,帮助明确经验适用边界。

金融时序预测

金融数据高波动、非平稳,对突发事件敏感,不适合盲目依赖单一深度模型路线,更需要风险意识与外部事件注入。

推荐策略

statistical + foundation ensemble 的保守组合,避免把所有预算压在单一路线上。

人类经验补充重点

标注财报、政策发布或宏观冲击等重大事件日期,重点查看 CastSense 的分布漂移与结构断点提醒,并决定这些事件是否应进入经验库。

FAQ 与故障排查

常见问题

如何更换 LLM 提供商?

修改 castclaw.json 中的模型配置,或切换对应环境变量即可。

人在回路干预后如何继续?

在 Forecaster 标签页输入关于证据、适用边界或失败原因的反馈并提交,系统会在当前上下文中继续沉淀经验,不需要从头初始化。

Skill 文件在哪里管理?

默认位于 .forecast/skills/ 目录,建议把审核后的稳定 Skill 沉淀到团队共享资产库。

为什么结果不稳定?

先检查任务定义与预算是否过小,再查是否存在未标注的异常日期,最后才考虑模型优化。

环境问题排查

现象排查建议
Bun 版本不足 升级到 1.3.11 或更高版本后重新打开终端,检查 bun --version
Python 后端报错 进入 Python 目录执行 uv sync,确认依赖被正确安装。
API Key 未生效 检查环境变量是否已 export 到当前 shell,或确认 castclaw.json 覆盖了模型设置。
阶段无法推进 检查 .forecast/ 是否缺失关键文件,尤其是 task.json 和阶段报告产物。