from __future__ import annotations from typing import Any, Dict from .stages import PipelineStages class GenerationOrchestrator: def __init__(self, generator: Any): self.stages = PipelineStages(generator) async def generate(self, user_prompt: str) -> Dict: understanding = self.stages.stage1_task_understanding(user_prompt) context = self.stages.stage2_context_binding(user_prompt, understanding) if understanding.scene_mode == "simple": draft = self.stages.stage3_macro_planning(user_prompt, understanding, context) return self.stages.stage6_validate_and_postprocess(user_prompt, understanding, context, draft, draft.llm_raw_json) # Round 1: 宏观规划 draft = self.stages.stage3_macro_planning(user_prompt, understanding, context) # Middleware: 动态依赖解析 resolved_data = self.stages.stage4_middleware_resolution(draft) # Round 2: 微观填参 final_tree = self.stages.stage5_micro_filling(draft, resolved_data, understanding) # 验证与后处理 return self.stages.stage6_validate_and_postprocess(user_prompt, understanding, context, draft, final_tree)