refactor: refactor core framework to better propogate feedbacks (#599)

* refactor: Update type annotations and remove unused class in evolving modules

* refactor: Simplify evolving agent and feedback handling in CoSTEER module

* lint & CI

* mypy

* ruff for core

* mypy

* refactor: remove unnecessary comments and update feedback handling logic

* refactor: Add prev_task_feedback parameter to evolving strategies

* feat: Clear folder before extracting zip file in DockerEnv

* fix: Correct retrieval of last experiment from history
This commit is contained in:
you-n-g
2025-02-16 01:40:44 +08:00
committed by GitHub
parent 241c05ccac
commit ffc85936f1
24 changed files with 261 additions and 148 deletions
+3 -5
View File
@@ -5,6 +5,7 @@ from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import TYPE_CHECKING, Any
from rdagent.core.evaluation import EvaluableObj
from rdagent.core.knowledge_base import KnowledgeBase
if TYPE_CHECKING:
@@ -28,16 +29,13 @@ class EvolvingKnowledgeBase(KnowledgeBase):
raise NotImplementedError
class EvolvableSubjects:
class EvolvableSubjects(EvaluableObj):
"""The target object to be evolved"""
def clone(self) -> EvolvableSubjects:
return copy.deepcopy(self)
class QlibEvolvableSubjects(EvolvableSubjects): ...
@dataclass
class EvoStep:
"""At a specific step,
@@ -52,7 +50,7 @@ class EvoStep:
evolvable_subjects: EvolvableSubjects
queried_knowledge: QueriedKnowledge | None = None
feedback: Feedback | list[Feedback] | None = None
feedback: Feedback | None = None
class EvolvingStrategy(ABC):