Skip to content

Commit be6d975

Browse files
committed
feat:添加多规划生成重试机制以提高计划生成成功率
1 parent 870af78 commit be6d975

1 file changed

Lines changed: 16 additions & 5 deletions

File tree

  • agents/matmaster_agent/flow_agents/plan_make_agent

agents/matmaster_agent/flow_agents/plan_make_agent/agent.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
DisallowTransferAndContentLimitSchemaAgent,
1010
)
1111
from agents.matmaster_agent.logger import PrefixFilter
12+
from agents.matmaster_agent.state import MULTI_PLANS
1213
from agents.matmaster_agent.utils.event_utils import update_state_event
1314

1415
logger = logging.getLogger(__name__)
@@ -19,12 +20,22 @@
1920
class PlanMakeAgent(DisallowTransferAndContentLimitSchemaAgent):
2021
@override
2122
async def _run_events(self, ctx: InvocationContext) -> AsyncGenerator[Event, None]:
22-
async for event in super()._run_events(ctx):
23-
yield event
23+
for _ in range(2):
24+
async for event in super()._run_events(ctx):
25+
yield event
2426

25-
logger.info(
26-
f'{ctx.session.id} multi_plans = {ctx.session.state["multi_plans"]}'
27-
)
27+
if ctx.session.state.get(MULTI_PLANS):
28+
logger.info(
29+
f'{ctx.session.id} multi_plans = {ctx.session.state[MULTI_PLANS]}'
30+
)
31+
break
32+
else:
33+
logger.error(f'{ctx.session.id} Multi Plans Generate Error, Retry')
34+
35+
if not ctx.session.state.get(MULTI_PLANS):
36+
raise RuntimeError(
37+
f'{ctx.session.id} After Retry, Multi Plans Generate Still Error!!'
38+
)
2839

2940
# 计算 feasibility
3041
update_multi_plans = ctx.session.state['multi_plans']

0 commit comments

Comments
 (0)