# AI模块架构设计v2 ## 主要变更 1. 移除AITaskType枚举 2. 使用类名作为任务类型标识 3. 简化类型系统 ## 新架构核心类 ```mermaid classDiagram class BaseAIExecution{ <> +model_name: str +task_class: str # 存储类名作为类型标识 +input_data: Dict +output_data: Dict } class CompetitorKeywordAnalysisResult{ +analysis_result: AICompetitorAnalyzeMainKeywordsResult } class MarketingCopyAnalysisResult{ +analysis_result: MarketingInfo } BaseAIExecution <|-- CompetitorKeywordAnalysisResult BaseAIExecution <|-- MarketingCopyAnalysisResult ``` ## 工厂类修改方案 ```python class TaskHandlerFactory: _handler_map: Dict[str, Type[AITaskHandler]] = { "CompetitorKeywordAnalysis": CompetitorKeywordAnalyzer, "MarketingCopyAnalysis": MarketingCopyAnalyzer } @classmethod def create_handler(cls, task_class: str) -> AITaskHandler: handler_class = cls._handler_map.get(task_class) return handler_class() ``` ## 服务接口变更 ```python class AIExecutorService: async def execute_task( self, task_class: str, # 改为传递类名 model_name: str, custom_prompt: Optional[str] = None ) -> BaseAIExecution: handler = TaskHandlerFactory.create_handler(task_class) # ...其余逻辑不变 ``` ## 迁移说明 1. 删除所有AITaskType相关代码 2. 数据库字段变更: - 移除task_type字段 - 新增task_class字段存储类名 3. 所有调用点改为传递类名字符串