DS-STAR 数据科学框架
2026/7/19 13:21:37 · 来源
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 Stars | 0 |
工作原理:多智能体流水线
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>/中,以用于审计追踪和完全的可复现性。
核心特性与使用场景
核心特性
- 全面产物生成:自动保存提示词、执行代码和运行时日志,以实现研究的可复现性。
- 成本优化模型路由:策略性地在 Haiku、Sonnet 和 Opus 之间路由子任务,最多可降低 60% 的分析费用。
- 迭代优化周期:实现自动调试和严格的验证门控,以确保高准确性的结果。
- 多智能体协调:部署专业的智能体角色(分析器、规划器、编码器、路由器、验证器、调试器、终结器)来分工解决任务。
- 对多样化格式的原生支持:处理结构化和非结构化数据集,包括 CSV、JSON 和纯文本文件。
使用场景
- 自动化探索性数据分析 (EDA):迅速生成统计摘要并理解新数据集中的核心分布行为。
- 高性价比处理工作流:使用混合模型逻辑模式处理大量数据,而不是完全依赖昂贵的前沿模型。
- 迭代分析与调试:在最初尝试可能遇到运行时异常的情况下,自动运行并优化多步骤时间序列、预测性或相关性分析。
性能与成本优化
通过使用定制的模型路由策略,DS-STAR 限制了资源消耗。与将所有请求都路由到 Claude 3.5 Sonnet 不同,较简单的任务(如数据架构扫描或路由选择)将被导向 Claude 3 Haiku。
智能体分配与成本情况
| 智能体 | 默认模型 | 任务类型 | 成本情况 |
|---|---|---|---|
| Analyzer | Haiku | 数据检查 | $0.80 / 1M tokens |
| Planner | Sonnet | 策略设计 | $15.00 / 1M tokens |
| Coder | Sonnet | 代码生成 | $15.00 / 1M tokens |
| Verifier | Sonnet | 结果验证 | $15.00 / 1M tokens |
| Router | Haiku | 决策路由 | $0.80 / 1M tokens |
| Debugger | Sonnet | 错误修复 | $15.00 / 1M tokens |
| Finalyzer | Sonnet | 输出格式化 | $15.00 / 1M tokens |
- 预估成本(约 50K tokens 的典型分析):
- 传统方式(单模型 Sonnet 执行):约 1.00
- DS-STAR(混合模型执行):约 0.40
- 净节省:50% - 60%
成本对比表 (50K Token 分析)
| 配置 | 输入成本 | 输出成本 | 总成本 | 节省 |
|---|---|---|---|---|
| 全 Sonnet | $0.75 | $0.75 | $1.50 | 0%(基线) |
| 平衡 | $0.30 | $0.30 | $0.60 | 60% |
| 快速 | $0.15 | $0.15 | $0.30 | 80% |
模型选择指南
- 在以下情况下使用 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
该框架将以交互方式提示您提供:
- 您的数据文件的路径(CSV, JSON, TXT 等)。
- 您的分析查询。
- 模型预设配置(可选)。
实用查询示例
- 基本统计:
“该数据集中平均年龄和性别分布是什么?”(数据:
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, OpenAI | Claude 3 系列 (Haiku / Sonnet / Opus) |
| 上下文管理 | 每次调用传递完整的整个工作区上下文 | 针对子智能体优化的上下文范围限定 |
| 典型成本 | 每次分析 2.00 | 每次分析 0.40 |
| 集成方式 | 独立 Python CLI | 原生 Claude Code 技能 (/skill) |
| 恢复支持 | 是 ✅ | 是 ✅ |
| 交互模式 | 是 ✅ | 是 ✅ |
| 产物日志 | 是 ✅ | 是 ✅ |
| 多模型路由 | 基础模型指定 | 高级编程式路由选项 |
最佳实践与局限性
查询设计
- 推荐:
- 编写清晰、有针对性的提示词:“计算 X 列和 Y 列之间的皮尔逊相关系数。”
- 询问直接的逻辑问题:“完成 3 次以上购买的客户占百分之几?”
- 精确指出异常值:“使用 1.5 倍 IQR 方法识别‘价格 (price)’列中的异常值。”
- 避免:
- 宽泛、模糊的请求:“告诉我一些关于这些数据的有趣信息。”
- 压倒性的指令:“做所有事情。” 将庞大的多部分需求拆分为独立的查询运行。
- 引用无法访问的外部来源:除非已在本地预先加载,否则不要请求外部数据库、API 或文件。
数据准备
- 最佳格式:包含结构化表头标题的干净、标准的
.csv文件;.json文档中一致且统一的嵌套;或普通的 UTF-8 编码.txt数据文件。 - 问题格式:多标签页的
.xlsx工作簿(先将标签页转换为单独的.csv文件);未解析的.pdf文档;以及原始二进制输入(图像、音频文件)。
已知局限性
- 仅限 Python 执行:系统通过使用
pandasandnumpy等包生成并运行 Python 脚本来执行指令。 - 本地运行风险:代码在您的本地系统上运行。在允许该工具运行从未受信任的第三方数据输入生成的代码时,请保持高度警惕。
- 无出站网络 API:根据设计,运行中的智能体无法访问外部 API 端点或获取实时网页信息。
- 单一输出格式:终结智能体(
Finalyzer)产生单个摘要有效负载(JSON 或 TXT)。 - 无交互式图表:不支持实时交互式可视化和绘图(无法交互式渲染图表,但可以写入静态文件)。
故障排除
常见问题
- “Missing data files” 错误
- 确保目标数据集在
data/子目录中,或提供绝对的、完全限定的文件路径。 - 验证目标文件夹上的读取权限。
- 确保目标数据集在
- 执行超时
- 如果 Python 脚本挂起,请将
config.yaml中的execution_timeout调整为高于默认 60 秒的值。 - 简化目标查询或优化大文件(例如分块)。
- 如果 Python 脚本挂起,请将
- “API key not found” 错误
- 只要 Claude Agent SDK 处理身份验证,内置的 Claude 模型就无需 API 密钥。外部模型(OpenAI/Gemini)将需要在您的本地系统中设置标准环境变量。
- 验证门控总是失败
- 优化您的提示词以减少歧义。
- 使用
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
贡献
我们欢迎社区扩展和框架迭代。
如何扩展框架
- 在
scripts/dsstar.py中定义您的自定义智能体配置。 - 在
scripts/prompts.py中起草智能体的核心指令和提示词模板。 - 在
run_pipeline()方法中将智能体链入执行循环中。 - 使用您自己的数据样本验证功能。
- 在 GitHub 上创建拉取请求 (PR)。
社区扩展设想
- 可视化智能体:直接在输出目录中创建并保存
matplotlib或seaborn图表。 - 导出智能体:自动生成整洁的 Excel 工作簿、交互式 HTML 或格式化 PDF 报告。
- 架构智能体:自动化严格的数据类型剖析并实施结构约束。
- 机器学习智能体:训练和评估基础建模管线(例如,
scikit-learn回归或分类拆分)。
常见问题解答 (FAQ)
成本优化是如何工作的?
DS-STAR 将简单任务(例如检查数据头或进行路由选择)路由到低成本的 Claude Haiku 模型。它将复杂操作(如逻辑规划、代码生成和验证)留给 Sonnet 或 Opus。
我可以分析什么类型的文件?
您可以分析诸如 CSV 和 JSON 的结构化格式,以及非结构化的 TXT 文档。
什么是适用于 Claude Code 的 DS-STAR?
它是一个围绕“结构化思维与行动”架构构建的多智能体框架。它直接在您的本地命令行环境中自动执行探索性数据分析和 Python 执行。
DS-STAR 会自动处理代码错误吗?
会的。该框架包含一个专业的调试器 (Debugger) 智能体,可捕获控制台回溯、编辑失败的脚本并重试执行。
分析结果是可复现的吗?
是的。因为每个步骤、提示词、生成的脚本和输出日志都会保存在您本地的 runs/ 目录中,所以每一次执行都是透明且可复现的。
支持与资源
- 📖 原版论文:DS-STAR: Domain Adaptive Data Science via Large Language Models
- 💾 原始代码库:GitHub 上的 JulesLscx/DS-Star
- 🐛 报告问题:Skills Marketplace 议题
- 💬 讨论区:Skills Marketplace 讨论区
- ⚙️ 底层架构:了解更多信息,请参阅什么是技能 (Skills)?和如何安装。
相关技能
openclaw 图表制作与可视化工具 — 为软件架构、系统流和教学概念生成专业的 SVG、HTML 和 Excalidraw 图表。
Pie Skills 宪法一致性 (高级版) — 在做出响应前验证逻辑和思考是否符合 Anthropic 宪法。
openclaw GitHub 议题自动修复器 — 通过生成子智能体来实施代码修复、提交拉取请求以及解决审查意见,从而自动处理端到端的 GitHub 议题生命周期。
相关模型上下文协议 (MCP) 服务器
qdrant Qdrant — 将语言模型连接到 Qdrant 向量数据库,以用于存储和检索信息。
datawiz168 Snowflake 集成 — 使 Claude 能够执行 SQL 查询并与 Snowflake 数据库交互。
kablewy 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/文件夹内部的执行链路。
动手实践——分步指南
-
安装 DS-STAR 技能:打开您的 Claude Code CLI 并运行:
/plugin marketplace add token-eater/skills-marketplace/plugin install ds-star -
准备样例数据:在您的工作区中创建一个名为
data/的目录,并保存一个名为sales.csv的简单 CSV 文件,包含以下列:Date, Product, Revenue, Units_Sold。 -
运行您的首次查询:通过输入以下内容来执行该技能:
/skill ds-star在收到提示时,提供data/sales.csv并输入查询:"What are the monthly sales trends and which product had the highest revenue?" -
追踪智能体产物:导航到您工作区中创建的
runs/目录。检查步骤文件夹(例如runs/<run_id>/steps/001_analyzer/),阅读提示词、生成的 Python 脚本和日志,以理解智能体的思考过程。
三大推荐资源
- 1DS-STAR Official GitHub Repository
The original source code and implementation of the DS-STAR framework.
https://github.com/JulesLscx/DS-Star
- 2DS-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
- 3Skills Marketplace Repository
The repository where the Claude Code skill port of DS-STAR is actively maintained.
https://github.com/token-eater/skills-marketplace
链接由 AI 推荐——使用前建议快速核实。