🎉 Accepted by the 32nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2026)
EvoDS is a self-evolving autonomous data science agent designed to address two fundamental challenges in LLM-based data science systems:
- Reusable Skill Learning — enabling agents to synthesize, validate, and internalize reusable tool-usage skills from experience.
- Adaptive Context Management — dynamically compressing long-horizon interaction history to maintain stable reasoning under limited context budgets.
EvoDS formulates autonomous data science as a sequential decision-making process over an evolving action space under bounded context constraints. The framework integrates three key components:
ASA treats tools as learnable capabilities. The agent can autonomously synthesize, validate, cache, and reuse executable skills during task solving.
ACC dynamically determines when and how to compress interaction history during long-horizon multi-step reasoning, improving context efficiency and reasoning stability.
EvoDS jointly optimizes:
- task completion quality,
- skill acquisition behavior,
- and context regulation policies
through joint reinforcement learning over multiple agent roles.
We provide pretrained checkpoints for EvoDS.
Download the checkpoint from:
Place the downloaded files under:
checkpoints/EvoDSEdit:
config/config.yamlReplace:
<your_openai_key>with your OpenAI API key.
Due to storage constraints, benchmark datasets are not included in this repository.
Please manually download the following benchmarks before evaluation:
- DABench
- DA-Code
- ScienceAgentBench
- MLE-Dojo
After downloading, place the datasets in the corresponding benchmark directories specified in the configuration files.
Run:
bash run.shThis script will:
- Deploy
EvoDSusing vLLM - Sequentially evaluate the agent on:
- DABench
- DA-Code
- ScienceAgentBench
- MLE-Dojo
By default, run.sh uses a single GPU:
export CUDA_VISIBLE_DEVICES=0To use multiple GPUs:
- Modify:
export CUDA_VISIBLE_DEVICES=0,1,2,...- Update the GPU count in:
start_llm "checkpoints/EvoDS" "EvoDS" 1234 1 "nohup.log"Replace 1 with the number of GPUs you intend to use.
We use VERL for both supervised fine-tuning (SFT) and reinforcement learning (RL).
Edit:
verl/verl/workers/reward_manager/datascience.pyReplace:
your_api_keywith your OpenAI API key.
cd verlDownload Qwen3-8B and place it under:
Qwen/Qwen3-8BRun:
bash examples/sft/multiturn/run_evods_qwen3_8b_multi_turn.sh 4 checkpoints/evods_sft_8bArguments:
4— number of GPUscheckpoints/evods_sft_8b— output checkpoint directory
The trained checkpoint will be saved to:
checkpoints/evods_sft_8bRun:
bash examples/sglang_multiturn/run_evods_qwen3_8b.shThis stage performs multi-agent reinforcement learning to jointly optimize:
- task completion quality
- tool scheduling efficiency
- context length control
- skill acquisition behavior