BrainBank
AI 课堂/技能Agentic AI

DS-STAR 数据科学框架

2026/7/19 13:21:37 · 来源

#claude-code#multi-agent#data-science#ds-star#cost-optimization#skill

DS-STAR 是一个多智能体框架,可在 Claude Code 中自动执行整个数据科学生命周期,并采用横跨 Haiku、Sonnet 和 Opus 的成本优化模型路由。

DS-STAR (Data Science - Structured Thought and Action,即数据科学-结构化思维与行动) 是一个智能多智能体框架,旨在直接在 Claude Code 中将原始数据转化为可操作的洞察。通过协调七个专业智能体——从数据分析师到 Python 程序员和验证器——该框架管理着整个数据科学生命周期,从最初的探索性数据分析到迭代调试和最终验证。它通过动态地将任务路由到最合适的 Claude 模型(Haiku、Sonnet 或 Opus),显著优化了性能和成本,与单模型方法相比,可节省高达 60% 的成本。


概述与架构

该技能最初是为 Google 的 Gemini 模型设计的,此次适配了 DS-STAR,以充分利用 Anthropic 的 Claude 模型系列。它通过结构化协作自动处理复杂的数据科学工作流,使其成为手动数据调查的可复现且高度优化的替代方案。

元数据

属性
名称ds-star
描述使用 DS-STAR (Data Science - Structured Thought and Action) 架构的多智能体数据科学框架。通过具有多模型支持(Haiku, Sonnet, Opus)的协作 AI 智能体自动化数据分析。适用于探索性数据分析、自动化洞察和迭代数据科学工作流。
版本1.0.0
类别ai-ml, data-science
标签multi-agent, analysis, automation, claude-models, iterative-refinement
作者Jules Lescx (由 Claude 适配)
原始仓库DS-Star GitHub 仓库
GitHub Stars0

工作原理:多智能体流水线

DS-STAR 在迭代执行循环中协调七个专业智能体来解决数据问题:

┌─────────────────────────────────────────────────────────┐
│  1. ANALYZER (Haiku)                                    │
│     Input: Data files                                   │
│     Output: Data descriptions, schemas, summaries       │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│  2. PLANNER (Sonnet)                                    │
│     Input: Query + Data descriptions                    │
│     Output: Initial analysis step                       │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│  3. CODER (Sonnet)                                      │
│     Input: Plan + Data descriptions                     │
│     Output: Python code to execute plan                 │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│  4. DEBUGGER (Sonnet) [If needed]                       │
│     Input: Code + Error                                 │
│     Output: Fixed code                                  │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│  5. VERIFIER (Sonnet)                                   │
│     Input: Code + Results + Query                       │
│     Output: "Sufficient" or "Needs refinement"          │
└─────────────────────────────────────────────────────────┘
                         ↓
           ┌─────────────┴─────────────┐
           │    Sufficient?            │
           └─────────────┬─────────────┘
                 YES │   │ NO
                     │   └──────────────┐
                     │                  ↓
                     │    ┌──────────────────────────────┐
                     │    │  6. ROUTER (Haiku)           │
                     │    │     Decide: Fix step or Add  │
                     │    └──────────────────────────────┘
                     │                  │
                     │                  ↓
                     │         [Loop back to PLANNER]
                     │
                     ↓
┌─────────────────────────────────────────────────────────┐
│  7. FINALYZER (Sonnet)                                  │
│     Input: Final code + Results + Query                 │
│     Output: Formatted answer (JSON/text)                │
└─────────────────────────────────────────────────────────┘
  • 迭代优化:DS-STAR 使用高达 5 轮优化(用户可配置)。每轮可以添加一个新的分析步骤或修正前一个步骤。
  • 验证门控:自动门控可防止低质量输出,并对失败的代码进行自动调试重试。
  • 产物生成:完整日志会将提示词、生成的代码和结果保存到 runs/<run_id>/ 中,以用于审计追踪和完全的可复现性。

核心特性与使用场景

核心特性

  1. 全面产物生成:自动保存提示词、执行代码和运行时日志,以实现研究的可复现性。
  2. 成本优化模型路由:策略性地在 Haiku、Sonnet 和 Opus 之间路由子任务,最多可降低 60% 的分析费用。
  3. 迭代优化周期:实现自动调试和严格的验证门控,以确保高准确性的结果。
  4. 多智能体协调:部署专业的智能体角色(分析器、规划器、编码器、路由器、验证器、调试器、终结器)来分工解决任务。
  5. 对多样化格式的原生支持:处理结构化和非结构化数据集,包括 CSV、JSON 和纯文本文件。

使用场景

  • 自动化探索性数据分析 (EDA):迅速生成统计摘要并理解新数据集中的核心分布行为。
  • 高性价比处理工作流:使用混合模型逻辑模式处理大量数据,而不是完全依赖昂贵的前沿模型。
  • 迭代分析与调试:在最初尝试可能遇到运行时异常的情况下,自动运行并优化多步骤时间序列、预测性或相关性分析。

性能与成本优化

通过使用定制的模型路由策略,DS-STAR 限制了资源消耗。与将所有请求都路由到 Claude 3.5 Sonnet 不同,较简单的任务(如数据架构扫描或路由选择)将被导向 Claude 3 Haiku。

智能体分配与成本情况

智能体默认模型任务类型成本情况
AnalyzerHaiku数据检查$0.80 / 1M tokens
PlannerSonnet策略设计$15.00 / 1M tokens
CoderSonnet代码生成$15.00 / 1M tokens
VerifierSonnet结果验证$15.00 / 1M tokens
RouterHaiku决策路由$0.80 / 1M tokens
DebuggerSonnet错误修复$15.00 / 1M tokens
FinalyzerSonnet输出格式化$15.00 / 1M tokens
  • 预估成本(约 50K tokens 的典型分析):
    • 传统方式(单模型 Sonnet 执行):0.500.50 - 1.00
    • DS-STAR(混合模型执行):0.200.20 - 0.40
    • 净节省50% - 60%

成本对比表 (50K Token 分析)

配置输入成本输出成本总成本节省
全 Sonnet$0.75$0.75$1.500%(基线)
平衡$0.30$0.30$0.6060%
快速$0.15$0.15$0.3080%

模型选择指南

  • 在以下情况下使用 Haiku:核心数据文件检查(Analyzer)、简单的路由决策(Router)以及基础文本提取。
  • 在以下情况下使用 Sonnet:策略规划(Planner)、复杂脚本生成(Coder)、验证答案(Verifier)以及整理最终响应(Finalyzer)。
  • 在以下情况下使用 Opus:复杂的边缘情况调试、高度敏感的财务/科学分析,以及完全新颖或模糊的数据格式。

安装与配置

快速入门

要在 Claude Code 中通过 token-eater 市场安装此技能:

# Add the marketplace (if not already added)
/plugin marketplace add token-eater/skills-marketplace

# Install DS-STAR skill
/plugin install ds-star

手动安装

要从源码手动设置此技能:

# Clone the marketplace
git clone https://github.com/token-eater/skills-marketplace.git
cd skills-marketplace

# The skill code resides within skills/ds-star/

高级配置

您可以使用放在项目根目录中的 config.yaml 文件来控制框架设置,或者在您的运行查询中声明它们。

# config.yaml (optional, in project root)
run_id: "my_experiment"           # Custom run ID
model_name: "sonnet"               # Default model
interactive: false                 # Pause between steps for manual confirmation
max_refinement_rounds: 5           # Max iterations before stopping
execution_timeout: 60              # Code timeout in seconds
preserve_artifacts: true           # Save all outputs, steps, and scripts
runs_dir: "runs"                   # Directory path to write artifacts
data_dir: "data"                   # Directory where raw data is kept

# Agent-specific model overrides
agent_models:
  ANALYZER: haiku
  PLANNER: sonnet
  CODER: sonnet
  VERIFIER: sonnet
  ROUTER: haiku
  DEBUGGER: opus
  FINALYZER: sonnet

预定义模型预设

  • 快速 (Fast)(节省 70%+ 成本):在 Claude Haiku 上运行所有角色,Coder 和 Debugger 智能体除外。
  • 平衡 (Balanced)(节省 50% 成本):在 Haiku 上运行简单任务,在 Sonnet 上运行复杂推理/验证。
  • 质量 (Quality)(最高准确度):将所有智能体角色分配给 Sonnet 或 Opus。

使用方法与分步示例

基本用法

要在 Claude Code 中运行此技能,只需调用:

/skill ds-star

该框架将以交互方式提示您提供:

  1. 您的数据文件的路径(CSV, JSON, TXT 等)。
  2. 您的分析查询。
  3. 模型预设配置(可选)。

实用查询示例

  • 基本统计

    “该数据集中平均年龄和性别分布是什么?”(数据:customers.csv

  • 时间序列分析

    “过去一年的月度销售趋势是什么?”(数据:sales_2024.csv

  • 数据质量评估

    “每列中有多少缺失值,占总数的百分之几?”(数据:survey_responses.csv

  • 相关性分析

    “哪些特征与客户流失的相关性最强?”(数据:customer_features.csv


端到端运行示例

示例 1:鸢尾花 (Iris) 数据集分析

  • 数据文件iris.csv(150 行,5 列)
  • 查询“每个物种的平均花瓣长度是多少?哪个物种的方差最大?”
  • 响应输出
{
  "final_answer": {
    "averages": {
      "setosa": 1.46,
      "versicolor": 4.26,
      "virginica": 5.55
    },
    "highest_variance": "virginica",
    "variance_value": 0.304
  }
}
  • 指标:成本:$0.18(平衡配置) | 时间:约 25 秒 | 执行步骤:3(分析 → 规划 → 编码 → 验证 → 终结)

示例 2:销售数据时间序列

  • 数据文件sales_2024.csv(365 行,每日销售跟踪)
  • 查询“找出总销售额前 3 的月份,并计算环比增长率。”
  • 响应输出
{
  "final_answer": {
    "top_3_months": [
      {"month": "December", "total_sales": 125000, "growth": "+15%"},
      {"month": "November", "total_sales": 108000, "growth": "+8%"},
      {"month": "July", "total_sales": 95000, "growth": "+12%"}
    ],
    "average_growth": "+8.3%"
  }
}
  • 指标:成本:$0.22(平衡配置) | 时间:约 30 秒 | 执行步骤:4(包括 1 轮优化)

技术细节

Claude 提供商实现

该技能具有自定义的 ClaudeProvider,它直接与 Claude Agent SDK 对接,利用子智能体实现高上下文效率。

class ClaudeProvider(ModelProvider):
    """Provider for Claude models via Agent SDK."""

    def __init__(self, model_name: str = "sonnet"):
        self.model_name = model_name  # haiku, sonnet, or opus

    def generate_content(self, prompt: str) -> str:
        # Use SDK's subagent system for context efficiency
        # Automatically handles model routing
        # Returns generated content

与 Claude Code 的集成

  • 高效上下文:利用子智能体来消除庞大、单体的上下文窗口。
  • 并行执行:允许独立进程同时评估数据结构。
  • 产物持久化:所有文件直接写入本地目录。
  • 恢复支持:中断不会强制重启。使用以下命令恢复之前的状态:
    /skill ds-star --resume 20241123_143022_a1b2c3
    

生成产物的目录结构

每次流水线运行都会生成一个包含输入、中间决策和日志的结构化目录:

runs/<run_id>/
├── steps/
│   ├── 001_analyzer/
│   │   ├── prompt.md       # Target agent instructions
│   │   ├── code.py         # Output script generated by the agent
│   │   ├── result.txt      # Executed console output
│   │   └── metadata.json   # Step execution statistics and costs
│   ├── 002_planner_init/
│   ├── 003_coder/
│   └── ...
├── exec_env/               # Direct file execution runtime space
├── logs/
│   ├── pipeline.log        # High-level orchestrator system logs
│   └── execution.log       # Granular python subprocess compilation logs
├── final_output/
│   └── result.json         # Extracted JSON final answer
└── pipeline_state.json     # Checkpoint state dictionary for resuming

与原框架的对比

特性原始 DS-STAR 框架适配后的 Claude Code 技能
支持的模型Gemini, OpenAIClaude 3 系列 (Haiku / Sonnet / Opus)
上下文管理每次调用传递完整的整个工作区上下文针对子智能体优化的上下文范围限定
典型成本每次分析 1.001.00 - 2.00每次分析 0.200.20 - 0.40
集成方式独立 Python CLI原生 Claude Code 技能 (/skill)
恢复支持是 ✅是 ✅
交互模式是 ✅是 ✅
产物日志是 ✅是 ✅
多模型路由基础模型指定高级编程式路由选项

最佳实践与局限性

查询设计

  • 推荐
    • 编写清晰、有针对性的提示词:“计算 X 列和 Y 列之间的皮尔逊相关系数。”
    • 询问直接的逻辑问题:“完成 3 次以上购买的客户占百分之几?”
    • 精确指出异常值:“使用 1.5 倍 IQR 方法识别‘价格 (price)’列中的异常值。”
  • 避免
    • 宽泛、模糊的请求:“告诉我一些关于这些数据的有趣信息。”
    • 压倒性的指令:“做所有事情。” 将庞大的多部分需求拆分为独立的查询运行。
    • 引用无法访问的外部来源:除非已在本地预先加载,否则不要请求外部数据库、API 或文件。

数据准备

  • 最佳格式:包含结构化表头标题的干净、标准的 .csv 文件;.json 文档中一致且统一的嵌套;或普通的 UTF-8 编码 .txt 数据文件。
  • 问题格式:多标签页的 .xlsx 工作簿(先将标签页转换为单独的 .csv 文件);未解析的 .pdf 文档;以及原始二进制输入(图像、音频文件)。

已知局限性

  • 仅限 Python 执行:系统通过使用 pandas and numpy 等包生成并运行 Python 脚本来执行指令。
  • 本地运行风险:代码在您的本地系统上运行。在允许该工具运行从未受信任的第三方数据输入生成的代码时,请保持高度警惕。
  • 无出站网络 API:根据设计,运行中的智能体无法访问外部 API 端点或获取实时网页信息。
  • 单一输出格式:终结智能体(Finalyzer)产生单个摘要有效负载(JSON 或 TXT)。
  • 无交互式图表:不支持实时交互式可视化和绘图(无法交互式渲染图表,但可以写入静态文件)。

故障排除

常见问题

  1. “Missing data files” 错误
    • 确保目标数据集在 data/ 子目录中,或提供绝对的、完全限定的文件路径。
    • 验证目标文件夹上的读取权限。
  2. 执行超时
    • 如果 Python 脚本挂起,请将 config.yaml 中的 execution_timeout 调整为高于默认 60 秒的值。
    • 简化目标查询或优化大文件(例如分块)。
  3. “API key not found” 错误
    • 只要 Claude Agent SDK 处理身份验证,内置的 Claude 模型就无需 API 密钥。外部模型(OpenAI/Gemini)将需要在您的本地系统中设置标准环境变量。
  4. 验证门控总是失败
    • 优化您的提示词以减少歧义。
    • 使用 max_refinement_rounds: 10 增加最大允许循环数。
    • 检查 runs/<id>/steps/ 中的中间运行脚本,以精确定位逻辑瓶颈。

调试模式

要手动检查执行情况,请启用交互式步骤暂停或分析原始文件:

# Run with interactive mode to pause and confirm before each step runs
/skill ds-star --interactive

# Inspect pipeline execution history manually
ls runs/<run_id>/steps/
cat runs/<run_id>/logs/pipeline.log

贡献

我们欢迎社区扩展和框架迭代。

如何扩展框架

  1. scripts/dsstar.py 中定义您的自定义智能体配置。
  2. scripts/prompts.py 中起草智能体的核心指令和提示词模板。
  3. run_pipeline() 方法中将智能体链入执行循环中。
  4. 使用您自己的数据样本验证功能。
  5. 在 GitHub 上创建拉取请求 (PR)。

社区扩展设想

  • 可视化智能体:直接在输出目录中创建并保存 matplotlibseaborn 图表。
  • 导出智能体:自动生成整洁的 Excel 工作簿、交互式 HTML 或格式化 PDF 报告。
  • 架构智能体:自动化严格的数据类型剖析并实施结构约束。
  • 机器学习智能体:训练和评估基础建模管线(例如,scikit-learn 回归或分类拆分)。

常见问题解答 (FAQ)

成本优化是如何工作的?

DS-STAR 将简单任务(例如检查数据头或进行路由选择)路由到低成本的 Claude Haiku 模型。它将复杂操作(如逻辑规划、代码生成和验证)留给 Sonnet 或 Opus。

我可以分析什么类型的文件?

您可以分析诸如 CSV 和 JSON 的结构化格式,以及非结构化的 TXT 文档。

什么是适用于 Claude Code 的 DS-STAR?

它是一个围绕“结构化思维与行动”架构构建的多智能体框架。它直接在您的本地命令行环境中自动执行探索性数据分析和 Python 执行。

DS-STAR 会自动处理代码错误吗?

会的。该框架包含一个专业的调试器 (Debugger) 智能体,可捕获控制台回溯、编辑失败的脚本并重试执行。

分析结果是可复现的吗?

是的。因为每个步骤、提示词、生成的脚本和输出日志都会保存在您本地的 runs/ 目录中,所以每一次执行都是透明且可复现的。


支持与资源

相关技能

相关模型上下文协议 (MCP) 服务器

  • qdrantqdrant Qdrant — 将语言模型连接到 Qdrant 向量数据库,以用于存储和检索信息。
  • datawiz168datawiz168 Snowflake 集成 — 使 Claude 能够执行 SQL 查询并与 Snowflake 数据库交互。
  • kablewykablewy FRED — 访问并从美联储经济数据 (FRED) 系统中检索经济数据系列。

核心要点

  • 多智能体协调:通过将任务分配给七个专业的智能体角色,DS-STAR 在一个结构化、模块化的循环中处理规划、代码生成、纠错和验证。
  • 显著的成本节省:在 Claude Haiku、Sonnet 和 Opus 之间动态路由子任务,将总 API 消耗费用降低 50% 到 60%
  • 自动调试:具有迭代自我纠正机制,可捕获执行故障并自动重写 Python 代码以解决运行时错误。
  • 100% 可复现:将每个中间计划、代码产物、提示词模板和输出响应保存到本地运行文件夹(runs/<run_id>)中,以实现完整的可审计性。

学习地图

阶段 1:理解 DS-STAR 与多智能体架构

  • 7-智能体循环:了解分析器 (Analyzer)、规划器 (Planner)、编码器 (Coder)、调试器 (Debugger)、验证器 (Verifier)、路由器 (Router) 和终结器 (Finalyzer) 如何协同工作以自动执行数据任务。
  • 多模型路由:理解如何将简单任务路由到 Haiku,将复杂任务路由到 Sonnet/Opus,从而降低高达 60% 的 API 成本。

阶段 2:安装与工作区集成

  • 环境搭建:设置 Claude Code 并安装 DS-STAR 插件技能。
  • 数据结构化:学习正确的数据准备原则(干净的表头、UTF-8 编码的 CSV、JSON),以避免智能体读取错误。

阶段 3:高级工作流与精细化优化

  • 配置覆盖:修改 config.yaml 以为特定角色配置特定模型(例如,将调试器任务路由至 Claude Opus)。
  • 可复现性审计:利用工件(artifacts)、提示词和 Python 日志,追踪生成的 runs/ 文件夹内部的执行链路。

动手实践——分步指南

  1. 安装 DS-STAR 技能:打开您的 Claude Code CLI 并运行: /plugin marketplace add token-eater/skills-marketplace /plugin install ds-star

  2. 准备样例数据:在您的工作区中创建一个名为 data/ 的目录,并保存一个名为 sales.csv 的简单 CSV 文件,包含以下列:Date, Product, Revenue, Units_Sold

  3. 运行您的首次查询:通过输入以下内容来执行该技能: /skill ds-star 在收到提示时,提供 data/sales.csv 并输入查询:"What are the monthly sales trends and which product had the highest revenue?"

  4. 追踪智能体产物:导航到您工作区中创建的 runs/ 目录。检查步骤文件夹(例如 runs/<run_id>/steps/001_analyzer/),阅读提示词、生成的 Python 脚本和日志,以理解智能体的思考过程。

三大推荐资源

  1. 1
    DS-STAR Official GitHub Repository

    The original source code and implementation of the DS-STAR framework.

    https://github.com/JulesLscx/DS-Star

  2. 2
    DS-STAR Research Paper (arXiv)

    The academic paper introducing DS-STAR as a domain-adaptive data science framework using LLMs.

    https://arxiv.org/abs/2410.19016

  3. 3
    Skills Marketplace Repository

    The repository where the Claude Code skill port of DS-STAR is actively maintained.

    https://github.com/token-eater/skills-marketplace

链接由 AI 推荐——使用前建议快速核实。