|
--- |
|
base_model: |
|
- Qwen/Qwen2.5-VL-32B-Instruct |
|
datasets: |
|
- OS-Copilot/ScienceBoard-Traj |
|
library_name: transformers |
|
license: apache-2.0 |
|
pipeline_tag: image-text-to-text |
|
tags: |
|
- generated_from_trainer |
|
- R1-V |
|
--- |
|
|
|
# CODA: Coordinating the Cerebrum and Cerebellum for a Dual-Brain Computer Use Agent with Decoupled Reinforcement Learning |
|
|
|
This repository contains the `CODA-PLANNER-TARS-32B` model, presented in the paper [CODA: Coordinating the Cerebrum and Cerebellum for a Dual-Brain Computer Use Agent with Decoupled Reinforcement Learning](https://huggingface.co/papers/2508.20096). |
|
|
|
Check out our [GitHub repository](https://github.com/OpenIXCLab/CODA) for more implementation details! You can also find the paper on [arXiv](https://arxiv.org/abs/2508.20096). |
|
|
|
## Abstract |
|
Autonomous agents for Graphical User Interfaces (GUIs) face significant challenges in specialized domains such as scientific computing, where both long-horizon planning and precise execution are required. Existing approaches suffer from a trade-off: generalist agents excel at planning but perform poorly in execution, while specialized agents demonstrate the opposite weakness. Recent compositional frameworks attempt to bridge this gap by combining a planner and an actor, but they are typically static and non-trainable, which prevents adaptation from experience. This is a critical limitation given the scarcity of high-quality data in scientific domains. To address these limitations, we introduce CODA, a novel and trainable compositional framework that integrates a generalist planner (Cerebrum) with a specialist executor (Cerebellum), trained via a dedicated two-stage pipeline. In the first stage, Specialization, we apply a decoupled GRPO approach to train an expert planner for each scientific application individually, bootstrapping from a small set of task trajectories. In the second stage, Generalization, we aggregate all successful trajectories from the specialized experts to build a consolidated dataset, which is then used for supervised fine-tuning of the final planner. This equips CODA with both robust execution and cross-domain generalization. Evaluated on four challenging applications from the ScienceBoard benchmark, CODA significantly outperforms baselines and establishes a new state of the art among open-source models. |
|
|
|
## Features |
|
|
|
CODA introduces a novel and trainable compositional framework for GUI agents, designed with the following key features: |
|
|
|
* **Dual-Brain Architecture**: Integrates a generalist planner (Cerebrum) with a specialist executor (Cerebellum). |
|
* **Decoupled Reinforcement Learning**: Employs a dedicated two-stage pipeline (Specialization and Generalization) for training. |
|
* **Robust Execution**: Achieves precise execution in specialized scientific computing domains. |
|
* **Cross-Domain Generalization**: Demonstrates strong generalization capabilities across various scientific applications. |
|
* **State-of-the-Art Performance**: Significantly outperforms baselines on the ScienceBoard benchmark. |
|
|
|
## Usage |
|
For detailed installation instructions and inference examples, please refer to the official GitHub repository. |
|
|
|
### Installation |
|
```shell |
|
conda create -n coda python=3.11 |
|
conda activate coda |
|
pip install vllm==0.8.5.post1 |
|
``` |
|
|
|
## Inference |
|
Prepare [ScienceBoard](https://github.com/OS-Copilot/ScienceBoard) environment |
|
replace `sci` folder in ScienceBoard with our `ScienceBoard_CODA/sci` and put `qwenvl_test.py` under ScienceBoard base folder. |
|
|
|
```shell |
|
# use conda (vllm==0.8.5.post1) to deploy model to reproduce our results. |
|
# deploy CODA-PLANER-TARS-32B |
|
vllm serve OpenIXCLab/CODA-PLANNER-TARS-32B \ |
|
--served-model-name "qwen32b" \ |
|
--host 0.0.0.0 \ |
|
--port "${PORT_1}" \ |
|
--tensor-parallel-size 4 & |
|
|
|
# deploy executor UI-TARS-1.5-7B |
|
CUDA_VISIBLE_DEVICES=4,5 vllm serve ByteDance-Seed/UI-TARS-1.5-7B \ |
|
--served-model-name "tars1.5-grounding" \ |
|
--host 0.0.0.0 \ |
|
--port "${PORT_2}" \ |
|
--tensor-parallel-size 2 & |
|
|
|
# in sciboard env, perform agent evaluation. |
|
export SOFTWARE='Celestia' |
|
export SUBFOLDER="planner_ans" |
|
export DEBUG_LOG=0 |
|
export SERVER_URL="http://YOUR.PLANER.ADDR:PORT_1/v1/chat/completions" # qwen32b for baseline and coda-1.0-32b for our planner |
|
export EXECUTOR_URL="http://YOUR.EXECUTOR.ADDR:PORT_2" # uitars-1.5 addr |
|
export MODEL_NAME="qwen32b" |
|
export NO_CONTEXT_IMAGE=0 |
|
export SPLITE=8 |
|
export QWEN_PLANNER=1 |
|
export PLANNER_ANS=1 |
|
|
|
for i in {0..7}; do # parallel for 8 VMs |
|
export VM_PATH="vmware_vm_data/Ubuntu${i}/Ubuntu${i}.vmx" |
|
# Set port based on i value |
|
export INDEX=$i |
|
if [ $i -eq 0 ]; then |
|
# Process i=0: show output in terminal |
|
timeout 90m python qwenvl_test.py & |
|
else |
|
# Process i>0: redirect output to log file |
|
timeout 90m python qwenvl_test.py > "logs/vm${i}_output.log" 2>&1 & |
|
fi |
|
|
|
sleep 10s |
|
done |
|
wait |
|
sleep 10s |
|
echo "All tasks completed." |
|
``` |
|
|
|
## Citation |
|
If you find our work helpful, please consider citing: |
|
```bibtex |
|
@misc{sun2025codacoordinatingcerebrumcerebellum, |
|
title={CODA: Coordinating the Cerebrum and Cerebellum for a Dual-Brain Computer Use Agent with Decoupled Reinforcement Learning}, |
|
author={Zeyi Sun and Yuhang Cao and Jianze Liang and Qiushi Sun and Ziyu Liu and Zhixiong Zhang and Yuhang Zang and Xiaoyi Dong and Kai Chen and Dahua Lin and Jiaqi Wang}, |
|
year={2025}, |
|
eprint={2508.20096}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.CV}, |
|
url={https://arxiv.org/abs/2508.20096}, |
|
} |
|
|
|
|
|
@misc{sun2025seagentselfevolvingcomputeruse, |
|
title={SEAgent: Self-Evolving Computer Use Agent with Autonomous Learning from Experience}, |
|
author={Zeyi Sun and Ziyu Liu and Yuhang Zang and Yuhang Cao and Xiaoyi Dong and Tong Wu and Dahua Lin and Jiaqi Wang}, |
|
year={2025}, |
|
eprint={2508.04700}, |
|
archivePrefix={arXiv}, |
|
primaryClass={cs.AI}, |
|
url={https://arxiv.org/abs/2508.04700}, |
|
} |
|
``` |
|
|
|
## License |
|
  **Usage and License Notices**: The code is licensed under the Apache 2.0 License. The data is licensed for research use only under the Attribution-NonCommercial 4.0 International (CC-BY-NC-4.0) License. It should also abide by the policy of OpenAI: https://openai.com/policies/terms-of-use |
|
|
|
## Acknowledgement |
|
We sincerely thank projects [UI-TARS](https://github.com/bytedance/UI-TARS), [ScienceBoard](https://qiushisun.github.io/ScienceBoard-Home/), [R1-V](https://github.com/Deep-Agent/R1-V), for providing their open-source resources. |