
TradingAgents-CN 批量分析 5 级研究深度全链路验证从参数传递到配置生成的源码级剖析【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN本指南以 docs/fixes/batch_analysis_5_levels_verification.md 的验证记录为主线系统讲解 TradingAgents-CN 中批量分析功能对 5 个研究深度级别的完整支持链路从前端BatchAnalysis.vue的选项与请求构造到后端POST /api/analysis/batch的任务拆解再到create_analysis_config()的配置生成与单元测试佐证。读完本文你将掌握research_depth参数在快速 / 基础 / 标准 / 深度 / 全面五档之间的映射规则、每个级别对应的辩论轮次与资源开关以及如何用测试与数据流图快速核验深度配置是否生效。验证目标为什么需要 5 个研究深度级别TradingAgents-CN 是面向中文市场的多智能体 LLM 金融交易框架。在批量分析场景中用户一次提交多只股票每只股票都会启动一整套多智能体分析流程市场分析师、基本面分析师、新闻分析师等参与辩论与风险讨论。分析深度直接决定了辩论轮次max_debate_rounds分析师之间交换意见的轮数轮次越多观点交锋越充分风险讨论轮次max_risk_discuss_rounds风险分析师参与评估的轮数记忆开关memory_enabled是否复用历史分析记忆在线工具开关online_tools是否拉取最新行情、新闻等实时数据。此前前端frontend/与后端app/仅支持 3 个级别快速、标准、深度而 Web 界面web/已支持 5 级体验不一致且无法充分利用分析能力详见姊妹文档 research_depth_5_levels.md。本次验证的目标就是确认批量分析功能已正确统一为 5 个深度级别且每个任务都使用正确的配置。前端验证BatchAnalysis.vue 的 5 档深度选项界面上的 5 个选项前端批量分析页面 frontend/src/views/Analysis/BatchAnalysis.vue 使用el-select渲染深度下拉框el-option的value直接绑定中文档位名el-option label⚡ 1级 - 快速分析 (2-4分钟/只) value1 / el-option label 2级 - 基础分析 (4-6分钟/只) value2 / el-option label 3级 - 标准分析 (6-10分钟/只推荐) value3 / el-option label 4级 - 深度分析 (10-15分钟/只) value4 / el-option label 5级 - 全面分析 (15-25分钟/只) value5 /五个档位及其预期耗时级别名称预期耗时/只定位1 级快速分析2-4 分钟日常快速决策、市场概览2 级基础分析4-6 分钟常规投资决策、基础研究3 级标准分析推荐6-10 分钟重要投资决策、标准研究流程4 级深度分析10-15 分钟多轮辩论、深度研究5 级全面分析15-25 分钟最全面的分析报告请求参数构造提交批量分析时前端把深度选项原样写入parameters.research_depth字段注意此处batchForm.depth绑定的是el-option的value即数字字符串1–5后端会再做归一化转换const batchRequest { title: batchForm.title, description: batchForm.description, symbols: symbols.value, stock_codes: symbols.value, // 兼容字段 parameters: { market_type: /* 全部代码同市场时自动推导 */, research_depth: batchForm.depth, // ✅ 正确传递深度参数 selected_analysts: convertAnalystNamesToIds(batchForm.analysts), include_sentiment: batchForm.includeSentiment, include_risk: batchForm.includeRisk, language: batchForm.language, quick_analysis_model: modelSettings.value.quickAnalysisModel, deep_analysis_model: modelSettings.value.deepAnalysisModel } } const response await analysisApi.startBatchAnalysis(batchRequest)从前端源码BatchAnalysis.vue还可以确认两点约束批量分析单次最多提交 10 只股票且提交前会弹窗二次确认。后端验证/api/analysis/batch 的任务拆解API 端点实现后端端点位于 app/routers/analysis.pyrouter.post(/batch, response_modelDict[str, Any]) async def submit_batch_analysis( request: BatchAnalysisRequest, user: dict Depends(get_current_user) ): # 为每只股票创建单股分析任务 for i, symbol in enumerate(stock_symbols): single_req SingleAnalysisRequest( symbolsymbol, stock_codesymbol, # 兼容字段 parametersrequest.parameters # ✅ 继承批量分析的参数 ) create_res await simple_service.create_analysis_task(user[id], single_req) ...关键设计点统一继承参数批量请求的parameters含research_depth被完整透传给每一只股票对应的SingleAnalysisRequest保证同一批次内所有任务使用相同的分析深度结果具备可比性真正的并发执行端点注释明确说明不使用BackgroundTasks因为它是串行执行的改用asyncio.create_task启动run_concurrent_analysis()配合服务层SimpleAnalysisService内部ThreadPoolExecutor(max_workers3)的线程池见 app/services/simple_analysis_service.py实现多只股票并发分析、超出并发数的任务自动排队数量上限MAX_BATCH_SIZE 10超出即抛出ValueError批次状态数据模型AnalysisBatchapp/models/analysis.py支持pending / processing / completed / partial_success / failed / cancelled六种状态其中partial_success正是部分成功进度跟踪的落点。数据模型侧的参数契约AnalysisParametersapp/models/analysis.py在 Pydantic 模型中固定了深度字段契约class AnalysisParameters(BaseModel): 分析参数模型 研究深度说明 - 快速: 1级 - 快速分析 (2-4分钟) - 基础: 2级 - 基础分析 (4-6分钟) - 标准: 3级 - 标准分析 (6-10分钟推荐) - 深度: 4级 - 深度分析 (10-15分钟) - 全面: 5级 - 全面分析 (15-25分钟) market_type: str A股 research_depth: str 标准 # ✅ 默认使用3级标准分析推荐 selected_analysts: List[str] Field(default_factorylambda: [market, fundamentals, news, social]) include_sentiment: bool True include_risk: bool True language: str zh-CN quick_analysis_model: Optional[str] qwen-turbo deep_analysis_model: Optional[str] qwen-max默认值标准3 级意味着即使用户不指定深度也会落到推荐档位这与测试test_default_research_depth_is_standard相互印证。配置生成create_analysis_config 的五档映射每个单股任务都会调用create_analysis_config()app/services/simple_analysis_service.py根据research_depth生成运行配置。核心映射关系如下research_depthmax_debate_roundsmax_risk_discuss_roundsmemory_enabledonline_tools快速1 级11FalseTrue*基础2 级11TrueTrue标准3 级12TrueTrue深度4 级22TrueTrue全面5 级33TrueTrue* 注验证文档 batch_analysis_5_levels_verification.md 中快速档记录为online_toolsFalse而从当前源码看1 级仅在memory_enabled上保持禁用online_tools已统一为True源码注释说明统一使用在线工具避免离线工具的各种问题。实际行为以当前源码为准这也是配置随时间演进的体现。深度输入的归一化逻辑源码细节create_analysis_config对research_depth做了双格式兼容处理数字 1-5通过numeric_to_chinese {1: 快速, 2: 基础, 3: 标准, 4: 深度, 5: 全面}映射为中文档位数字字符串 1-5research_depth.isdigit()为真时先转整数再查映射中文档位直接匹配[快速, 基础, 标准, 深度, 全面]未知值/非法类型一律回退到标准3 级保证任何脏数据都不会导致分析任务崩溃。此外配置生成还会为每个深度档位输出结构化日志 创建分析配置完成 块记录研究深度、辩论轮次、风险讨论轮次、记忆功能、在线工具、LLM 供应商、快速/深度模型便于线上核验实际生效配置。各档位特点速览⚡ 1 级 - 快速分析1 轮辩论 1 轮风险讨论禁用记忆以加速适合日常市场监控 2 级 - 基础分析1 轮辩论 1 轮风险讨论启用记忆与在线工具拿到最新数据 3 级 - 标准分析推荐1 轮辩论 2 轮风险讨论速度与质量平衡性价比最高 4 级 - 深度分析2 轮辩论 2 轮风险讨论多轮交锋确保全面性 5 级 - 全面分析3 轮辩论 3 轮风险讨论最高质量、最可靠的结果。数据流验证从页面点击到配置落地的完整链路验证文档给出了端到端数据流以选择标准深度为例前端 BatchAnalysis.vue ↓ (选择深度: 标准/3) ↓ POST /api/analysis/batch { title: 测试批次, symbols: [000001, 600519], parameters: { research_depth: 标准, // ✅ ... } } ↓ 后端 submit_batch_analysis() ↓ (为每只股票创建任务) ↓ SingleAnalysisRequest( symbol000001, parameters{research_depth: 标准} // ✅ ) ↓ create_analysis_config( research_depth标准 // ✅ ) ↓ 返回配置: { max_debate_rounds: 1, max_risk_discuss_rounds: 2, memory_enabled: True, online_tools: True }该链路中每一跳都有关键代码承接前端submitBatchAnalysisBatchAnalysis.vue→ 路由/batchapp/routers/analysis.py→create_analysis_task落库 →execute_analysis_background后台执行时最终通过create_analysis_config组装TradingAgentsGraph的运行配置simple_analysis_service.py。单元测试验证tests/test_research_depth_5_levels.py验证文档对应的测试文件是 tests/test_research_depth_5_levels.py它直接对create_analysis_config逐档断言$ pytest tests/test_research_depth_5_levels.py -v tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_depth_level_1_fast PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_depth_level_2_basic PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_depth_level_3_standard PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_depth_level_4_deep PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_depth_level_5_comprehensive PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_unknown_depth_defaults_to_standard PASSED tests/test_research_depth_5_levels.py::TestResearchDepth5Levels::test_all_depths_have_correct_progression PASSED tests/test_research_depth_5_levels.py::TestAnalysisParametersDefault::test_default_research_depth_is_standard PASSED tests/test_research_depth_5_levels.py::TestAnalysisParametersDefault::test_research_depth_accepts_all_5_levels PASSED 9 passed, 1 warning in 4.38s 九个用例覆盖了三类核心行为逐档配置正确性test_depth_level_1_fast至test_depth_level_5_comprehensive分别断言辩论轮次、风险讨论轮次、记忆与在线工具开关以及quick_think_llm/deep_think_llm模型字段正确注入如 3 级使用qwen-plusqwen-max5 级统一qwen-max递进关系完整性test_all_depths_have_correct_progression验证辩论轮次1→1→1→2→3、风险讨论轮次1→1→2→2→3的单调递增以及仅 1 级禁用记忆与在线工具的快速优先策略默认值与容错test_unknown_depth_defaults_to_standard证明未知深度回退标准档TestAnalysisParametersDefault证明模型层默认值为标准且 5 档全部合法。批量分析场景示例5 档深度的实战用法验证文档给出了 5 个由浅入深的真实场景场景 1快速扫描多只股票1 级——批次日常监控5 只股票每只 2-4 分钟总计 10-20 分钟禁用记忆、优先使用缓存数据适合盘前快速扫一遍持仓场景 2常规投资组合分析2 级——批次月度投资组合3 只股票每只 4-6 分钟启用记忆与在线工具获取最新数据场景 3重点股票深度研究3 级推荐——批次重点关注股票2 只股票1 轮辩论 2 轮风险讨论质量与效率均衡场景 4投资决策前的全面评估4 级——批次投资决策候选2 只股票2 轮辩论 2 轮风险讨论适合大额建仓前的最后把关场景 5重大投资的完整研究5 级——批次重大投资研究1 只股票3 轮辩论 3 轮风险讨论产出最高质量的研究报告。批量分析的核心优势验证文档总结的四大优势在源码中均有对应实现统一配置request.parameters全量透传app/routers/analysis.py所有股票同深度结果可横向对比便于批量决策灵活选择5 档深度 每档明确耗时用户按批次重要性在时间成本与分析质量之间自由权衡并发执行asyncio.create_task并发调度 ThreadPoolExecutor(max_workers3)线程池充分利用系统资源多只股票同时分析进度跟踪每只股票独立走create_analysis_tasksimple_analysis_service.py任务级进度独立更新批次支持partial_success部分成功语义。使用建议深度选择与时间预估按批次规模选择深度批次规模推荐深度理由10 只以上1-2 级快速扫描控制总耗时5-10 只2-3 级平衡质量和效率3-5 只3-4 级确保分析质量1-2 只4-5 级深度研究充分评估时间预估深度单只耗时10 只总耗时适用场景1 级2-4 分钟20-40 分钟日常监控2 级4-6 分钟40-60 分钟常规分析3 级6-10 分钟60-100 分钟重点研究4 级10-15 分钟100-150 分钟深度评估5 级15-25 分钟150-250 分钟全面研究迁移提示对于从旧版 3 档迁移的用户原快速对应 1 级原标准对应 3 级推荐原深度对应 4 级新增基础2 级与全面5 级两档开发者侧只需保证前端下发research_depth取值为快速 | 基础 | 标准 | 深度 | 全面数字 1-5 亦可后端自动归一化。验证结论综合前端界面、参数传递、后端处理、配置生成、单元测试与数据流六个维度可以确认✅前端界面BatchAnalysis.vue 正确显示 5 个深度选项✅参数传递research_depth参数从页面到 API 全程正确透传✅后端处理/api/analysis/batch正确为每只股票创建单股任务并继承批量参数✅配置生成create_analysis_config按深度正确生成辩论/风险轮次、记忆与工具开关✅单元测试tests/test_research_depth_5_levels.py9 个用例全部通过✅数据流完整链路验证通过未知深度安全回退标准档。批量分析功能已完全支持 5 个研究深度级别——开发者可依据 tests/test_research_depth_5_levels.py 作为回归基准随时复跑pytest tests/test_research_depth_5_levels.py -v验证深度配置未回归。【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考