尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

TradingAgents-CN 提示词工程最佳实践:多智能体金融分析场景下的高质量提示词编写指南

TradingAgents-CN 提示词工程最佳实践:多智能体金融分析场景下的高质量提示词编写指南 TradingAgents-CN 提示词工程最佳实践多智能体金融分析场景下的高质量提示词编写指南【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN本文是 TradingAgents-CN 学习中心 提示词工程系列的第二篇进阶篇承接 提示词基础系统讲解如何写出高质量提示词从清晰性、具体性、结构化、迭代优化四大核心原则出发覆盖分隔符、输出长度控制、逐步思考、正反例、约束条件、模板化六大实用技巧并落地到基本面分析、技术面分析、多股对比三大股票分析场景最后结合本仓库多智能体源码揭示这些最佳实践在真实系统如基本面分析师、市场分析师、新闻分析师、反思器中的工程化实现。读完本文你将掌握一套可直接复制、可参数化、可验证的金融领域提示词方法论。 核心原则高质量提示词的四块基石提示词工程的第一要务是理解模型如何理解你的话。LLM 遵循的是统计规律而非字面逻辑因此模糊的输入必然导致模糊的输出。以下四条原则是编写一切高质量提示词的根基。1. 清晰性原则Clarity原则提示词要清晰明确避免歧义。模型无法替你补全缺失的主语、对象和分析维度。❌不清晰分析这个✅清晰请分析股票代码000001平安银行2024年第三季度的财务报表 重点关注营收增长率、净利润率和ROE指标。清晰性不仅指语法完整还要求信息要素齐备分析对象股票代码 名称、时间范围2024年第三季度、分析维度营收增长率、净利润率、ROE。这一要求在真实系统中体现为模板变量的强制填充——在 基本面分析师 中系统提示词通过company_name、ticker、market_name、currency_name、current_date等占位符在运行时注入具体值杜绝模型因信息缺失而产生幻觉。2. 具体性原则Specificity原则提供具体的细节和要求让模型基于真实约束而非泛化常识作答。❌笼统给我一些投资建议✅具体我是一位风险偏好中等的长期投资者资金规模100万元 请基于平安银行000001的基本面分析 给出是否适合作为核心持仓的建议。投资者画像风险偏好、资金规模、投资期限本身就是一种约束。在本仓库源码中这种画像化约束演化为多角色辩论多头研究员、空头研究员分别持对立立场输出由投资经理综合——每个角色的系统提示词都通过角色设定锁定了各自的立场与分析框架这正是具体性在多智能体协作中的体现。3. 结构化原则Structure原则使用清晰的结构组织提示词让模型按区块理解角色 / 任务 / 数据 / 要求 / 输出格式。✅结构化示例# 角色 你是一位专注于银行股的资深分析师 # 任务 分析平安银行000001的投资价值 # 数据 - 股价12.50元 - 市盈率5.2 - ROE10.5% # 要求 1. 分析估值水平 2. 评估盈利能力 3. 给出投资建议 # 输出格式 使用Markdown包含标题和列表源码中市场分析师 的系统提示词完整复刻了这一结构 分析对象公司、代码、市场、货币、日期、 工具使用调用约定与工作流程、 输出格式要求强制## 股票基本信息、## 技术指标分析、## 价格趋势分析、## 投资建议四段式标题并明确警告不要自创标题格式。结构化提示词的最大价值在于产出格式可控——下游的辩论机制与报告聚合直接依赖统一的结构化输出。4. 迭代优化原则Iteration原则根据输出结果不断优化提示词。提示词工程不是一次性写作而是持续调优的循环。迭代流程初始提示词 → 查看输出 → 发现问题 → 优化提示词 → 再次测试本仓库为这种迭代提供了工程化支撑各分析师节点内置工具调用计数器与强制生成报告机制见 基本面分析师 中的max_tool_calls与force_system_prompt当模型未按预期调用工具或重复调用时系统动态替换提示词进行纠偏——这是迭代优化在运行时而非人工回合中的自动化实现。️ 实用技巧六大高频操作技巧1使用分隔符使用分隔符清晰地分隔数据与指令避免模型把待分析内容误读为指令。示例请分析以下股票数据 ---数据开始--- 股票代码000001 股票名称平安银行 当前股价12.50元 市盈率5.2 ---数据结束--- 请基于以上数据进行分析。常用分隔符---分隔线###三级标题三引号data.../dataXML标签从源码看新闻分析师 在强制补救流程中使用 最新新闻数据 与 分析要求 作为分隔区将工具返回的真实新闻数据与系统指令物理隔离社交媒体分析师 同样以 新闻数据 包裹工具结果。数据区与指令区隔离是防止提示注入与数据污染的关键手法。技巧2指定输出长度明确指定回答的长度范围控制信息密度与阅读成本。示例请用100-150字简要分析平安银行的投资价值。或者请详细分析平安银行的投资价值回答长度约500-800字。在 市场分析师 的最终分析提示词中明确要求报告长度不少于800字并配合每个部分包含具体数值使用表格展示数据等质量约束——长度约束只有与内容质量要求组合才有效单纯限字数可能导致敷衍输出。技巧3要求逐步思考让AI展示思考过程提高回答质量。分步推理能显著降低模型在复杂分析中跳步导致的错误。示例请分析平安银行000001是否值得投资。 要求 1. 先列出分析需要考虑的关键因素 2. 逐一分析每个因素 3. 最后给出综合结论 请展示你的思考过程。技巧4提供正反例通过正反例说明你期望的输出风格这是最直观的格式化训练。示例请分析平安银行的投资价值。 ✅ 好的回答示例 平安银行市盈率5.2低于行业平均6.5估值具有吸引力。 但需注意不良贷款率1.2%略高于同业... ❌ 不好的回答示例 这只股票很好建议买入。 请按照好的示例风格回答。技巧5设定约束条件明确告诉AI什么不能做——负向约束往往比正向要求更能防止越界。示例请分析平安银行的投资价值。 约束条件 - 不要预测具体的股价涨跌 - 不要给出必涨、必跌等绝对判断 - 必须包含风险提示 - 使用客观、理性的语言约束条件在 新闻分析师 中被强化为绝对强制要求❌ 绝对禁止在没有调用工具的情况下直接回答、绝对禁止基于推测或假设生成任何分析内容、绝对禁止说我无法获取实时数据等借口并配套您的回答将被视为无效并被拒绝的后果声明。对关键合规点必须调用工具、必须基于真实数据使用高优先级负向约束是本仓库源码验证有效的模式。技巧6使用模板为常见任务创建提示词模板将可复用的骨架与可替换的变量分离。股票分析模板你是一位{专业领域}分析师。 请分析股票{股票代码}{股票名称}的{分析维度}。 当前数据 {数据列表} 分析要求 {具体要求} 输出格式 {格式说明}使用示例你是一位银行股分析师。 请分析股票000001平安银行的估值水平和盈利能力。 当前数据 - 市盈率5.2 - ROE10.5% - 净利润增长率8.5% 分析要求 1. 与行业平均对比 2. 与历史数据对比 3. 给出评价低估/合理/高估 输出格式 使用Markdown包含数据对比表格模板化正是本仓库的工程实现方式所有分析师节点都通过ChatPromptTemplate.from_messagesprompt.partial(...)构建提示词见 市场分析师、基本面分析师、新闻分析师{company_name}、{ticker}、{current_date}、{tool_names}等占位符在运行时由状态state填充。把提示词当作代码对待——模板化、参数化、版本化是提示词工程走向工程化的必经之路。 针对股票分析的最佳实践三大场景模板以下模板已在本仓库学习中心 多智能体系统详解 描述的智能体分工中各有对应实现可直接套用。1. 基本面分析提示词模板你是一位专注于基本面分析的投资顾问。 请分析{股票代码}的基本面 财务数据 - 市盈率{PE} - 市净率{PB} - ROE{ROE} - 营收增长率{revenue_growth} - 净利润增长率{profit_growth} - 资产负债率{debt_ratio} 行业信息 - 所属行业{industry} - 行业地位{position} 请从以下角度分析 1. 估值水平与行业对比 2. 盈利能力 3. 成长性 4. 财务健康度 最后给出综合评分1-5星和投资建议。源码印证真实的基本面分析师提示词fundamentals_analyst.py在此模板基础上加入了市场感知层强制真实数据⚠️ 绝对强制要求你必须调用工具获取真实数据不允许任何假设或编造统一工具通过get_stock_fundamentals_unified一次调用获取全部数据自动识别 A 股/港股/美股并选择数据源见 agent_utils.py 中该工具的tool定义货币与语言约束按市场注入currency_namecurrency_symbol强制中文投资建议买入/持有/卖出禁止 buy/hold/sell标的约束通过build_instrument_context(ticker)注入标的上下文防止模型张冠李戴此外基本面分析师还实现了强制生成报告兜底当工具已返回数据但模型仍尝试重复调用时切换至不绑定工具的专用提示词强制生成报告——这是模板 状态机结合的经典案例。2. 技术面分析提示词模板你是一位技术分析专家。 请分析{股票代码}的技术面 价格数据 - 当前价格{current_price} - 20日均线{ma20} - 60日均线{ma60} - 近期高点{high} - 近期低点{low} 技术指标 - MACD{macd} - RSI{rsi} - 成交量变化{volume_change} 请分析 1. 趋势判断上升/下降/震荡 2. 支撑位和压力位 3. 技术指标信号 4. 短期走势预判 注意技术分析仅供参考不构成投资建议。源码印证市场分析师 的系统提示词在技术指标分析环节明确了 MAMA5/MA10/MA20/MA60 均线排列与交叉信号、MACDDIF/DEA/柱状图、金叉死叉、背离、RSI超买超卖区、背离、布林带轨道位置、带宽、突破信号四个子维度并硬性规定输出必须包含支撑位、压力位、突破买入价、跌破卖出价、止损位等关键价位——把技术分析从一句模糊指令细化为可核验的指标清单正是具体性原则在垂直领域的展开。3. 多股对比提示词模板请对比分析以下{N}只{行业}股票 {股票列表及数据} 对比维度 1. 估值水平PE、PB 2. 盈利能力ROE、净利率 3. 成长性营收增长、利润增长 4. 财务健康度负债率、现金流 请以表格形式展示对比结果 并说明各自的优势和劣势 最后推荐最适合{投资风格}投资者的股票。源码印证虽然单次分析默认聚焦单标的state[company_of_interest]但 多智能体系统详解 描述的辩论机制本质上是一种观点对比——多头研究员与空头研究员分别构建多头/空头案例并相互质询最终由投资经理裁决这与多股对比模板给出表格、说明优劣、推荐适合某风格投资者的思维结构同构。⚠️ 常见陷阱三个必须避开的坑陷阱1过度依赖AI问题请告诉我明天应该买哪只股票为什么不好AI无法预测市场这类问题本质上不可回答投资决策需要综合考虑个人情况风险偏好、资金规模、持仓周期可能导致盲目跟从放大决策风险正确做法请分析以下3只股票的基本面 帮助我了解它们的投资价值 我会结合自己的风险偏好做出决策。边界感提示词应把 AI 定位为分析工具而非决策替代品。本仓库在多处明确此边界——技术面模板要求技术分析仅供参考不构成投资建议学习中心单独设有 风险警示和免责声明 章节反思器 的反思提示词也要求模型基于客观市场报告做归因分析而非给出确定预测。陷阱2信息过载问题请分析这只股票的基本面技术面行业地位竞争优势财务状况 历史表现未来前景管理层质量公司治理股东结构分红政策...为什么不好一次问太多问题模型注意力被稀释回答流于表面无法深入任何单一维度难以聚焦重点后续追问成本高正确做法分多次提问每次聚焦一个主题。多智能体架构本身就是分治的极致形态——市场、基本面、新闻、情绪各自由独立分析师处理各自只关注单一维度最后汇总避免单一模型信息过载。陷阱3缺乏验证问题直接相信AI的所有输出。LLM 可能产生幻觉编造数据、张冠李戴尤其在金融领域危害极大。正确做法请分析平安银行的财务数据并注明数据来源。 我会自行验证这些数据的准确性。工程化验证本仓库源码通过工具强制调用机制从源头消灭幻觉——各分析师节点在系统提示词中硬性规定必须先调用数据工具get_stock_fundamentals_unified、get_stock_market_data_unified、get_stock_news_unified、get_stock_sentiment_unified并对 DashScope/DeepSeek/Zhipu 等模型执行预处理强制获取见 新闻分析师 的pre_fetched_news逻辑确保分析基于真实数据而非模型记忆。 高级技巧进阶玩家的三板斧技巧1链式提示Chain of Prompts将复杂任务分解为多个步骤逐步收敛答案。示例第一步提示 请列出分析银行股需要关注的10个关键指标 第二步提示 基于你列出的指标请分析平安银行的数据 {数据} 第三步提示 基于以上分析请给出投资建议源码印证链式思想贯穿整个图结构graph——分析师节点单步分析→ 辩论节点质询→ 交易经理综合决策→ 风险经理审核→ 反思器复盘。其中 反思器 的Reflector._get_reflection_prompt()内建了四段式链式要求1. Reasoning逐因素归因正确/错误→2. Improvement提出修正动作→3. Summary总结教训→4. Query浓缩为不超过1000 token 的结论句并写入记忆供后续决策引用——这是链式提示 记忆闭环的完整实现。技巧2角色扮演让AI扮演不同角色获得多角度分析。多视角能有效抵消单角色系统性偏见。示例场景1你是一位保守的价值投资者 请从价值投资的角度分析平安银行 场景2你是一位激进的成长投资者 请从成长投资的角度分析平安银行 场景3你是一位风险管理专家 请指出投资平安银行的主要风险源码印证本仓库将角色扮演工程化为真实的多智能体多头研究员bull_researcher.py与空头研究员bear_researcher.py各持立场风险模块进一步拆分出保守派、激进派、中立派三个辩论者tradingagents/agents/risk_mgmt/下的conservative_debator.py、aggresive_debator.py、neutral_debator.py。不同角色的提示词通过# 角色区块显式设定身份与立场约束——角色扮演从技巧升级为架构。技巧3自我批评让AI检查自己的回答借助反思修正偏见与疏漏。示例第一步请分析平安银行的投资价值 第二步请检查你刚才的分析指出可能存在的偏见或不足之处 第三步基于自我批评给出更全面的分析源码印证自我批评在 反思器 中被系统化每次交易决策后Reflector综合市场报告、情绪报告、新闻报告、基本面报告_extract_current_situation对多头研究员、空头研究员、交易经理、投资法官、风险经理分别生成反思并将(情境, 反思结果)对写入对应记忆bull_memory.add_situations(...)、trader_memory.add_situations(...)等。自我批评不是一次性的而是进入记忆、影响未来决策的持续循环——这是人工提示词技巧与工程系统融合的典范。 总结与实践建议核心要点清晰、具体、结构化是好提示词的基础——信息要素齐备、约束明确、区块分明使用分隔符、模板、约束条件提高效率——数据区与指令区隔离占位符参数化负向约束防越界针对股票分析有专门的提示词模式——基本面财务指标行业对比、技术面指标清单关键价位、多股对比表格维度避免陷阱过度依赖AI是工具不是预言机、信息过载一次一问、缺乏验证强制真实数据高级技巧链式提示分解-收敛、角色扮演多视角消偏、自我批评反思-记忆闭环实践建议建立自己的提示词库保存常用的提示词模板参考本仓库学习中心的 提示词基础 与本文沉淀为个人可复用资产持续优化根据效果不断改进提示词——遵循初始提示词 → 查看输出 → 发现问题 → 优化 → 再次测试循环必要时借助本仓库的日志体系定位提示词缺陷各分析师节点均提供完整的提示词调试日志输出向源码学习阅读 基本面分析师、市场分析师、新闻分析师、社交媒体分析师 与 反思器 的提示词实现理解模板化、参数化、约束注入与兜底机制的真实写法保持批判性思维验证AI的输出——优先使用工具获取真实数据对任何未经核实的财务数字保持警惕延伸阅读 提示词基础 —— 提示词的结构角色/任务/上下文/输出格式/约束 多智能体系统详解 —— 提示词最佳实践在智能体协作中的整体应用 学习中心目录 —— 查看完整学习路径初学者/进阶/高级【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表