EvoDS: Self-Evolving Autonomous Data Science Agent with Skill Learning and Context Management
June 3, 2026 ยท View on GitHub
๐ Accepted by the 32nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2026)
๐ Overview
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:
๐ง Autonomous Skill Acquisition (ASA)
ASA treats tools as learnable capabilities. The agent can autonomously synthesize, validate, cache, and reuse executable skills during task solving.
๐ง Adaptive Context Compression (ACC)
ACC dynamically determines when and how to compress interaction history during long-horizon multi-step reasoning, improving context efficiency and reasoning stability.
๐ Agentic Reinforcement Learning
EvoDS jointly optimizes:
- task completion quality,
- skill acquisition behavior,
- and context regulation policies
through joint reinforcement learning over multiple agent roles.
๐ฆ Checkpoints
We provide pretrained checkpoints for EvoDS.
EvoDS Checkpoint
Download the checkpoint from:
Place the downloaded files under:
checkpoints/EvoDS
๐ Quick Start
๐ Step 1: Configure API Key
Edit:
config/config.yaml
Replace:
<your_openai_key>
with your OpenAI API key.
๐ Step 2: Prepare Benchmarks
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.
โถ๏ธ Step 3: Launch EvoDS
Run:
bash run.sh
This script will:
- Deploy
EvoDSusing vLLM - Sequentially evaluate the agent on:
- DABench
- DA-Code
- ScienceAgentBench
- MLE-Dojo
๐ฅ Multi-GPU Configuration
By default, run.sh uses a single GPU:
export CUDA_VISIBLE_DEVICES=0
To 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.
๐๏ธ Training
We use VERL for both supervised fine-tuning (SFT) and reinforcement learning (RL).
๐ง Before Training
Edit:
verl/verl/workers/reward_manager/datascience.py
Replace:
your_api_key
with your OpenAI API key.
๐ Enter the Training Directory
cd verl
Download Qwen3-8B and place it under:
Qwen/Qwen3-8B
๐ง Supervised Fine-Tuning (SFT)
Run:
bash examples/sft/multiturn/run_evods_qwen3_8b_multi_turn.sh 4 checkpoints/evods_sft_8b
Arguments:
4โ number of GPUscheckpoints/evods_sft_8bโ output checkpoint directory
The trained checkpoint will be saved to:
checkpoints/evods_sft_8b
๐ Reinforcement Learning (RL)
Run:
bash examples/sglang_multiturn/run_evods_qwen3_8b.sh
This stage performs multi-agent reinforcement learning to jointly optimize:
- task completion quality
- tool scheduling efficiency
- context length control
- skill acquisition behavior