资讯动态

TradingAgents-CN 研究深度五级体系实战指南:从快速分析到全面分析的统一化实现与源码解读

发布时间:2026/9/12 5:33:45 来源:尧图企业网站定制
TradingAgents-CN 研究深度五级体系实战指南从快速分析到全面分析的统一化实现与源码解读【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN导读本文档围绕 TradingAgents-CN基于多智能体 LLM 的中文金融交易框架中的研究深度统一为 5 个级别这一修复与增强工作展开。它解决了一个真实的体验割裂问题同一套系统内Web 界面、Frontend 界面与后端服务对研究深度的支持层级不一致导致用户在不同入口看到的能力与耗时预期各不相同。读完本文你将掌握五级研究深度的完整配置矩阵辩论轮次、风险讨论轮次、记忆与在线工具的开关、前后端改造的具体落点、research_depth字段在 API 链路中的流转方式以及如何从源码层面验证与扩展这套体系。背景为什么需要统一为 5 个研究深度级别在修复之前系统内存在三套互不一致的深度定义Web 界面web/已支持 5 个级别1-5 级Frontend 界面frontend/只支持 3 个级别快速、标准、深度后端服务app/同样只支持 3 个级别快速、标准、深度。这种不一致带来两个直接后果一是用户体验割裂用户在前端看到的能力与 Web 界面不同二是系统分析能力没有被充分利用——中间缺少了基础2 级与全面5 级两档既没有低成本的过渡档也没有最高规格的完整报告档。本次修复的目标很明确将前端与后端统一为 5 个研究深度级别与 Web 界面保持一致同时保证旧有的 3 个级别快速、标准、深度继续有效做到向后兼容。五级研究深度配置矩阵统一后的 5 个级别每个级别在辩论轮次、风险讨论轮次、记忆、在线工具、预期耗时、适用场景六个维度上有明确区分级别名称辩论轮次风险讨论记忆在线工具预期耗时适用场景1 级快速分析1 轮1 轮❌❌2-4 分钟日常快速决策、市场概览2 级基础分析1 轮1 轮✅✅4-6 分钟常规投资决策、基础研究3 级标准分析1 轮2 轮✅✅6-10 分钟重要投资决策推荐4 级深度分析2 轮2 轮✅✅10-15 分钟多轮辩论深度研究5 级全面分析3 轮3 轮✅✅15-25 分钟最全面的分析报告注上述耗时与文档中的初始设计值一致实际运行中frontend/src/views/Analysis/SingleAnalysis.vue的depthOptions已根据实际测试数据将耗时标注调整为2-5 / 3-6 / 4-8 / 6-11 / 8-16分钟更贴近真实执行情况两个来源可互为参照。各级别定位说明⚡ 1 级 - 快速分析1 轮辩论 1 轮风险讨论禁用记忆与在线工具、使用缓存数据。速度最快、成本最低适合日常市场监控、快速获取市场概况。 2 级 - 基础分析1 轮辩论 1 轮风险讨论启用记忆与在线工具以获取最新数据。速度较快且包含最新行情适合常规投资决策与基础研究。 3 级 - 标准分析推荐1 轮辩论 2 轮风险讨论平衡速度与质量性价比最高是系统默认级别适合重要投资决策与标准研究流程。 4 级 - 深度分析2 轮辩论 2 轮风险讨论通过多轮辩论确保分析全面性适合重大投资决策与深度研究。 5 级 - 全面分析3 轮辩论 3 轮风险讨论最全面的分析、最高质量、结果最可靠适合最重要的投资决策与完整研究报告撰写。后端实现数据模型与分析配置的改造1. 数据模型层AnalysisParameters 默认值后端在 app/models/analysis.py 的AnalysisParameters模型中将research_depth定义为字符串字段默认值为标准3 级并在 docstring 中完整记录五级说明class AnalysisParameters(BaseModel): 分析参数模型 研究深度说明 - 快速: 1级 - 快速分析 (2-4分钟) - 基础: 2级 - 基础分析 (4-6分钟) - 标准: 3级 - 标准分析 (6-10分钟推荐) - 深度: 4级 - 深度分析 (10-15分钟) - 全面: 5级 - 全面分析 (15-25分钟) market_type: str A股 analysis_date: Optional[datetime] None research_depth: str 标准 # 默认使用3级标准分析推荐 ...该模型同时被单股分析SingleAnalysisRequest、批量分析BatchAnalysisRequest、分析任务AnalysisTask与分析批次AnalysisBatch复用因此research_depth一经统一整条 API 链路自动获得一致的默认行为。2. 服务层create_analysis_config 的五级分支核心改造落在 app/services/simple_analysis_service.py 的create_analysis_config()。该函数有三个值得注意的设计其一输入兼容数字与中文两种形式。函数开头先将数字1-5或数字字符串1-5通过numeric_to_chinese映射转换为中文等级再进入五级分支无效值未知字符串、非法数字、错误类型一律回退到标准并输出告警日志numeric_to_chinese { 1: 快速, 2: 基础, 3: 标准, 4: 深度, 5: 全面 } if isinstance(research_depth, (int, float)): research_depth int(research_depth) if research_depth in numeric_to_chinese: chinese_depth numeric_to_chinese[research_depth] research_depth chinese_depth else: research_depth 标准 elif isinstance(research_depth, str) and research_depth.isdigit(): # 字符串数字同样映射为中文等级 ...其二五级分支分别覆写四个关键配置项max_debate_rounds辩论轮次、max_risk_discuss_rounds风险讨论轮次、memory_enabled记忆开关、online_tools在线工具开关if research_depth 快速: # 1级 - 快速分析 config[max_debate_rounds] 1 config[max_risk_discuss_rounds] 1 config[memory_enabled] False # 禁用记忆以加速 config[online_tools] True # 统一使用在线工具避免离线工具的各种问题 elif research_depth 基础: # 2级 - 基础分析 config[max_debate_rounds] 1 config[max_risk_discuss_rounds] 1 config[memory_enabled] True config[online_tools] True elif research_depth 标准: # 3级 - 标准分析推荐 config[max_debate_rounds] 1 config[max_risk_discuss_rounds] 2 config[memory_enabled] True config[online_tools] True elif research_depth 深度: # 4级 - 深度分析 config[max_debate_rounds] 2 config[max_risk_discuss_rounds] 2 config[memory_enabled] True config[online_tools] True elif research_depth 全面: # 5级 - 全面分析 config[max_debate_rounds] 3 config[max_risk_discuss_rounds] 3 config[memory_enabled] True config[online_tools] True需要留意一处与设计文档的差异当前仓库源码中1 级快速的online_tools实际为True注释说明统一使用在线工具避免离线工具的各种问题而文档中标注为关闭在线工具、使用缓存数据。这说明实现层面为了数据源稳定性做了一次实用化的权衡——以仓库源码为准。另外配置组装完成后还会执行config[research_depth] research_depth把最终生效的级别写回配置字典供下游工具函数与日志读取。其三配置基座来自 TradingAgents 的默认配置。config DEFAULT_CONFIG.copy()取自 tradingagents/default_config.py其默认值max_debate_rounds1、max_risk_discuss_rounds1、online_tools由环境变量ONLINE_TOOLS_ENABLED控制——五级分支正是对这些默认值做精细化覆写。3. 底层原理轮次如何驱动图执行研究深度的轮次参数最终作用于交易图TradingAgents Graph的条件路由逻辑。在 tradingagents/graph/conditional_logic.py 中ConditionalLogic接收max_debate_rounds与max_risk_discuss_roundsdef __init__(self, max_debate_rounds1, max_risk_discuss_rounds1): self.max_debate_rounds max_debate_rounds self.max_risk_discuss_rounds max_risk_discuss_rounds投资辩论的终止条件max_count 2 * self.max_debate_rounds即每轮双人发言 × 轮数should_continue_debate风险讨论的终止条件max_count 3 * self.max_risk_discuss_rounds即每轮三方发言 × 轮数should_continue_risk_analysis。由此可见research_depth选择 5 级3 轮辩论时投资辩论最多进行 6 次发言选择 1 级时则只有 2 次发言——这正是各级别耗时差异的根本来源。可以推断轮次越多、发言次数越多LLM 调用次数与 Token 消耗随之线性增长这也是成本优化设计意图的底层依据。前端实现单股分析与批量分析的选项改造1. SingleAnalysis.vue5 个深度卡片frontend/src/views/Analysis/SingleAnalysis.vue 定义了 5 个深度选项当前仓库的耗时已按实测数据微调// 深度选项5个级别基于实际测试数据更新 const depthOptions [ { icon: ⚡, name: 1级 - 快速分析, description: 基础数据概览快速决策, time: 2-5分钟 }, { icon: , name: 2级 - 基础分析, description: 常规投资决策, time: 3-6分钟 }, { icon: , name: 3级 - 标准分析, description: 技术基本面推荐, time: 4-8分钟 }, { icon: , name: 4级 - 深度分析, description: 多轮辩论深度研究, time: 6-11分钟 }, { icon: , name: 5级 - 全面分析, description: 最全面的分析报告, time: 8-16分钟 } ]页面渲染为可点击的卡片式选择器.depth-selector/.depth-option选中态通过analysisForm.researchDepth index 1判断表单默认值researchDepth: 3在onMounted中会从用户偏好加载覆盖。提交分析时通过getDepthDescription(analysisForm.researchDepth)将数字级别转换为中文值1-5分别对应快速/基础/标准/深度/全面写入请求的research_depth字段。此外页面还内置模型推荐联动checkModelSuitability()依据所选级别调用recommendModels(depthName)为快速模型与深度模型给出配套建议。2. BatchAnalysis.vue5 个下拉选项批量分析页面 frontend/src/views/Analysis/BatchAnalysis.vue 将深度做成下拉选择选项值与文档保持一致el-form-item label分析深度 el-select v-modelbatchForm.depth placeholder选择深度 sizelarge stylewidth: 100% 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 / /el-select /el-form-item注意此处下拉绑定的是数字字符串1-5直接以research_depth: batchForm.depth提交——得益于后端create_analysis_config对字符串数字的兼容处理数字值会被自动映射为对应中文等级前后端协议因此保持宽松一致。批量页同样会在onMounted中从用户偏好userPrefs.default_depth加载默认深度。3. 类型定义types/analysis.tsfrontend/src/types/analysis.ts 将research_depth收敛为五值联合类型作为前端 TypeScript 侧的类型约束// 分析参数 export interface AnalysisParameters { market_type: A股 | 美股 | 港股 analysis_date?: string research_depth: 快速 | 基础 | 标准 | 深度 | 全面 selected_analysts: string[] custom_prompt?: string include_charts: boolean language: zh-CN | en-US }影响范围与兼容性本次改动覆盖的文件与仓库现状一致前端frontend/src/views/Analysis/SingleAnalysis.vue— 单股分析页面5 个深度卡片 模型推荐联动frontend/src/views/Analysis/BatchAnalysis.vue— 批量分析页面5 个下拉选项frontend/src/views/Analysis/index.vue— 分析首页frontend/src/types/analysis.ts— 类型定义后端app/models/analysis.py—AnalysisParameters数据模型默认标准app/services/simple_analysis_service.py—create_analysis_config五级分支兼容性要点向后兼容旧的 3 个级别快速、标准、深度仍然有效新增 2 个级别基础2 级与全面5 级默认值统一为标准3 级且前端数字输入与后端中文映射双向兼容。使用建议按场景选择级别使用场景推荐级别理由日常市场监控1-2 级快速获取市场概况成本低常规投资决策2-3 级平衡速度和质量重要投资决策3-4 级确保分析质量多轮辩论重大资金投入4-5 级最全面的风险评估研究报告撰写4-5 级需要详细的分析内容迁移指南对于现有用户之前使用快速 → 对应现在的 1 级之前使用标准 → 对应现在的 3 级推荐之前使用深度 → 对应现在的 4 级新增基础2 级与全面5 级可选用。对于开发者前端发送的research_depth字段取值为快速|基础|标准|深度|全面或数字1-5后端自动映射后端接收并处理这 5 个值无效输入回退到标准默认值统一为标准前端默认选中 3 级。测试与验证前端测试单股分析页面显示 5 个深度选项批量分析页面显示 5 个深度选项默认选中标准3 级每个选项显示正确的图标、名称、描述与预期耗时。后端测试接收 5 个不同的research_depth值正确配置辩论轮次与风险讨论轮次正确启用/禁用记忆与在线工具默认值为标准。集成测试提交不同深度级别的分析任务验证实际执行的配置是否正确验证耗时是否符合预期验证分析质量是否符合级别要求。仓库中已有对应类型的验证用例可作参考例如 tests/test_api_analysis.py 以快速级别提交单股分析 API 请求并只选择market分析师以缩短测试链路tests/test_300750_final.py 则直接以research_depth 标准构造DEFAULT_CONFIG副本后初始化工具包均验证了research_depth从请求到执行配置的贯通。此外app/routers/analysis.py 中任务状态与结果查询接口均会回读research_depth字段历史记录缺失时回退为快速说明该字段同时被持久化用于结果展示与追溯。总结研究深度五级体系是 TradingAgents-CN 中统一体验与精细控制结合的典型改动它让 Web、Frontend、后端三方对分析深度的理解完全对齐以 6 个可量化维度辩论轮次、风险讨论轮次、记忆、在线工具、耗时、适用场景为每个级别建立清晰边界并通过默认值回退、数字/中文双输入兼容、历史记录回读等手段保证向后兼容与鲁棒性。对于使用者它提供了从 2 分钟快览到 25 分钟深度报告的成本-质量梯度对于开发者其模型层默认值 服务层配置分支 前端选项枚举的分层改造模式也适合作为同类参数体系如市场类型、分析师组合扩展的参考模板。【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价