Skip to content

Commit 961e561

Browse files
authored
fix: enhance feedback handling in MultiProcessEvolvingStrategy for improved task evolution (#1274)
1 parent 9344635 commit 961e561

File tree

2 files changed

+27
-22
lines changed

2 files changed

+27
-22
lines changed

README.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -413,16 +413,16 @@ More documents can be found in the **[📖 readthedocs](https://rdagent.readthed
413413
# 📃 Paper/Work list
414414
415415
## Overall Technical Report
416-
- [R&D-Agent: Automating Data-Driven AI Solution Building Through LLM-Powered Automated Research, Development, and Evolution](https://arxiv.org/abs/2505.14738)
416+
- [R&D-Agent: An LLM-Agent Framework Towards Autonomous Data Science](https://arxiv.org/abs/2505.14738)
417417
```BibTeX
418-
@misc{yang2024rdagent,
419-
title={R\&D-Agent: Automating Data-Driven AI Solution Building Through LLM-Powered Automated Research, Development, and Evolution},
420-
author={Xu Yang and Xiao Yang and Shikai Fang and Bowen Xian and Yuante Li and Jian Wang and Minrui Xu and Haoran Pan and Xinpeng Hong and Weiqing Liu and Yelong Shen and Weizhu Chen and Jiang Bian},
421-
year={2025},
422-
eprint={2505.14738},
423-
archivePrefix={arXiv},
424-
primaryClass={cs.AI},
425-
url={https://arxiv.org/abs/2505.14738}
418+
@misc{yang2025rdagentllmagentframeworkautonomous,
419+
title={R&D-Agent: An LLM-Agent Framework Towards Autonomous Data Science},
420+
author={Xu Yang and Xiao Yang and Shikai Fang and Yifei Zhang and Jian Wang and Bowen Xian and Qizheng Li and Jingyuan Li and Minrui Xu and Yuante Li and Haoran Pan and Yuge Zhang and Weiqing Liu and Yelong Shen and Weizhu Chen and Jiang Bian},
421+
year={2025},
422+
eprint={2505.14738},
423+
archivePrefix={arXiv},
424+
primaryClass={cs.AI},
425+
url={https://arxiv.org/abs/2505.14738},
426426
}
427427
```
428428
![image](https://github.com/user-attachments/assets/28b0488d-a546-4fef-8dc5-563ed64a9b4d)
@@ -468,13 +468,14 @@ For more detail, please refer to our **[🖥️ Live Demo page](https://rdagent.
468468
469469
- [R&D-Agent-Quant: A Multi-Agent Framework for Data-Centric Factors and Model Joint Optimization](https://arxiv.org/abs/2505.15155)
470470
```BibTeX
471-
@misc{li2025rdagentquant,
472-
title={R\&D-Agent-Quant: A Multi-Agent Framework for Data-Centric Factors and Model Joint Optimization},
473-
author={Yuante Li and Xu Yang and Xiao Yang and Minrui Xu and Xisen Wang and Weiqing Liu and Jiang Bian},
474-
year={2025},
475-
eprint={2505.15155},
476-
archivePrefix={arXiv},
477-
primaryClass={cs.AI}
471+
@misc{li2025rdagentquantmultiagentframeworkdatacentric,
472+
title={R&D-Agent-Quant: A Multi-Agent Framework for Data-Centric Factors and Model Joint Optimization},
473+
author={Yuante Li and Xu Yang and Xiao Yang and Minrui Xu and Xisen Wang and Weiqing Liu and Jiang Bian},
474+
year={2025},
475+
eprint={2505.15155},
476+
archivePrefix={arXiv},
477+
primaryClass={q-fin.CP},
478+
url={https://arxiv.org/abs/2505.15155},
478479
}
479480
```
480481
![image](https://github.com/user-attachments/assets/3186f67a-c2f8-4b6b-8bb9-a9b959c13866)

rdagent/components/coder/CoSTEER/evolving_strategy.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ def evolve(
8181
) -> EvolvingItem:
8282
code_list = [None for _ in range(len(evo.sub_tasks))]
8383

84+
last_feedback = None
85+
if len(evolving_trace) > 0:
86+
last_feedback = evolving_trace[-1].feedback
87+
assert isinstance(last_feedback, CoSTEERMultiFeedback)
88+
8489
# 1.找出需要evolve的task
8590
to_be_finished_task_index: list[int] = []
8691
for index, target_task in enumerate(evo.sub_tasks):
@@ -94,15 +99,14 @@ def evolve(
9499
elif (
95100
target_task_desc not in queried_knowledge.success_task_to_knowledge_dict
96101
and target_task_desc not in queried_knowledge.failed_task_info_set
97-
and not (self.improve_mode and last_feedback[index] is None)
102+
and not (
103+
self.improve_mode
104+
and isinstance(last_feedback, CoSTEERMultiFeedback)
105+
and last_feedback[index] is None
106+
)
98107
):
99108
to_be_finished_task_index.append(index)
100109

101-
last_feedback = None
102-
if len(evolving_trace) > 0:
103-
last_feedback = evolving_trace[-1].feedback
104-
assert isinstance(last_feedback, CoSTEERMultiFeedback)
105-
106110
result = multiprocessing_wrapper(
107111
[
108112
(

0 commit comments

Comments
 (0)