TradingAgents-CN 提示词基础:多智能体金融框架下的 Prompt 设计入门实战
【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN
导读
提示词(Prompt)是与大语言模型交互的入口,直接决定模型输出的质量与可用性。本篇技术指南基于 TradingAgents-CN(基于多智能体 LLM 的中文金融交易框架)中的提示词工程学习文档,系统讲解提示词的定义、五要素结构、编写技巧与常见错误,并对照仓库源码展示这些基础方法在基本面分析师、市场分析师、多空研究员等真实智能体节点中的工程化应用。读完本文,你将掌握一套可直接复用于股票分析场景的提示词设计方法论,并理解它在多智能体协作流程中的实际落地方式。
一、什么是提示词?
1.1 定义与作用
提示词(Prompt)是你发送给大语言模型的输入文本,用于指导模型生成特定的输出。简单来说,提示词就是你对 AI 说的话,告诉它你想要什么。
它的作用可以用一条链路概括:
你的提示词 → 大语言模型 → AI的回答提示词的质量直接决定了回答的质量:模糊的输入只能得到模糊的输出,而结构清晰、信息充足的提示词才能驱动模型给出专业、可用的分析结果。
1.2 模糊与清晰的对比
在金融分析场景下,这一差异尤为明显:
❌ 模糊的提示词:
分析这只股票✅ 清晰的提示词:
请分析股票代码000001(平安银行)的投资价值,包括: 1. 基本面分析(财务指标、盈利能力) 2. 技术面分析(价格走势、技术指标) 3. 行业地位和竞争优势 4. 投资建议和风险提示在 TradingAgents-CN 中,"分析目标不明确"是实际工程中要极力避免的问题。仓库中的每个分析师节点在构造提示词时,都会显式注入公司名称 + 股票代码 + 所属市场三元信息。例如 基本面分析师 的系统提示词开头即为:
你是一位专业的股票基本面分析师。 任务:分析{company_name}(股票代码:{ticker},{market_info['market_name']})其中的company_name、ticker、market_name通过代码动态填充,这正是"清晰提示词"在框架中的标准实现。
二、提示词的基本结构
一个好的提示词通常包含五个部分:角色设定、任务描述、上下文信息、输出格式、约束条件。
2.1 角色设定(Role)
告诉 AI 它应该扮演什么角色,帮助模型从正确的专业视角组织语言与推理路径。
示例:
你是一位资深的股票分析师,拥有10年以上的A股市场分析经验。为什么重要:
- 帮助 AI 理解应该从什么角度回答
- 提高回答的专业性和针对性
在 TradingAgents-CN 中,角色设定是所有智能体提示词的固定开场。例如 市场分析师 使用:
你是一位专业的股票技术分析师,与其他分析师协作。而 看涨研究员 的定位更具体:
你是一位看涨分析师,负责为股票 {company_name}(股票代码:{ticker})的投资建立强有力的论证。仓库中的角色设计体现了一个重要理念:角色要与任务目标强绑定。多空研究员被设定为"论证者",因此其提示词要求"构建基于证据的强有力案例";中性风险分析师 则被设定为"提供平衡视角",要求"评估上行和下行风险"。角色即视角,多角色组合才能覆盖决策所需的全部角度。
2.2 任务描述(Task)
清楚地说明你想要 AI 做什么。
示例:
请分析平安银行(000001)的投资价值。要点:
- 使用明确的动词:分析、总结、比较、评估
- 指定具体对象:股票代码、公司名称
- 说明分析范围:时间段、维度
框架内的任务描述不仅指明"做什么",还明确"按什么步骤做"。例如 基本面分析师 的系统提示词给出强制工作流程:
✅ 工作流程: 1. 【第一次调用】如果消息历史中没有工具结果(ToolMessage),立即调用 get_stock_fundamentals_unified 工具 2. 【收到数据后】如果消息历史中已经有工具结果(ToolMessage),🚨 绝对禁止再次调用工具! 3. 【生成报告】收到工具数据后,必须立即生成完整的基本面分析报告,包含: - 公司基本信息和财务数据分析 - PE、PB、PEG等估值指标分析 - 当前股价是否被低估或高估的判断 ...这正是"分步骤引导"思想在工程中的落地:把"分析"这个大任务拆解为「调用工具取数 → 等待结果 → 生成报告」三个可验证的子步骤,防止模型跳过取数直接编造结论。
2.3 上下文信息(Context)
提供必要的背景信息和数据,让 AI 基于实际数据分析,避免模型编造信息(幻觉)。
示例:
当前股价:12.50元 市盈率:5.2 市净率:0.6 最近一年涨跌幅:-8.5% 行业:银行业为什么重要:
- 让 AI 基于实际数据分析
- 避免 AI 编造信息(幻觉)
TradingAgents-CN 对"上下文"的工程化处理值得借鉴:上下文不是写死的文字,而是由数据层动态注入的。在 基本面分析师 中,真实数据通过get_stock_fundamentals_unified工具获取后,被拼接进强制分析提示词:
请提供: 1. 公司基本信息分析({company_name},股票代码:{ticker}) 2. 财务状况评估 3. 盈利能力分析 4. 估值分析(使用{currency_info}) 5. 投资建议(买入/持有/卖出) 要求: - 基于提供的真实数据进行分析 ...看涨研究员 的提示词则把多个上游报告作为上下文资源整体注入:
可用资源: 市场研究报告:{market_research_report} 社交媒体情绪报告:{sentiment_report} 最新世界事务新闻:{news_report} 公司基本面报告:{fundamentals_report} 辩论对话历史:{history}这说明在多智能体框架中,上下文信息还包括其他智能体的输出——这正是 TradingAgents-CN 智能体间协作的信息基础。
2.4 输出格式(Format)
指定你希望的回答格式,让输出可解析、可复用。
示例:
请按以下格式输出: ## 基本面分析 - 财务指标评价 - 盈利能力分析 ## 技术面分析 - 价格走势 - 技术指标 ## 投资建议 - 建议:买入/持有/卖出 - 理由:...常用格式:
- Markdown 格式
- JSON 格式
- 表格格式
- 列表格式
输出格式约束在框架中直接服务于下游消费。市场分析师的输出会被下游研究员引用,因此 market_analyst.py 对格式做了强约束:
📝 **输出格式要求(必须严格遵守):** ## 📊 股票基本信息 - 公司名称:{company_name} - 股票代码:{ticker} - 所属市场:{market_name} ## 📈 技术指标分析 [在这里分析移动平均线、MACD、RSI、布林带等技术指标,提供具体数值] ## 📉 价格趋势分析 [在这里分析价格趋势,考虑{market_name}市场特点] ## 💭 投资建议 [在这里给出明确的投资建议:买入/持有/卖出]并补充了反向约束:"必须使用上述格式输出,不要自创标题格式""不要在标题中使用'技术分析报告'等自创标题"。正反结合的格式约束,比单纯给出模板更能保证输出一致性。
2.5 约束条件(Constraints)
设定回答的限制和要求,划定模型行为的边界。
示例:
要求: - 回答长度不超过500字 - 使用简洁的语言,避免专业术语 - 必须包含风险提示 - 不要给出具体的买卖建议约束条件是 TradingAgents-CN 提示词中最具工程特色的部分。以 基本面分析师 为例,其约束分为三个层次:
🌍 语言和货币要求: - 所有分析内容必须使用中文 - 投资建议必须使用中文:买入、持有、卖出 - 绝对不允许使用英文:buy、hold、sell - 货币单位使用:{currency_name}({currency_symbol}) 🚫 严格禁止: - 不允许说'我将调用工具' - 不允许假设任何数据 - 不允许编造公司信息 - 不允许直接回答而不调用工具 - 不允许回复'无法确定价位'或'需要更多信息' ✅ 你必须: - 立即调用统一基本面分析工具 - 等待工具返回真实数据 - 基于真实数据进行分析 - 提供具体的价位区间和目标价这种"禁止(🚫)+ 必须(✅)+ 语言规范(🌍)"的三层约束结构,本质上是在用提示词做行为契约,是约束条件要素在真实生产系统中的完整示例。
三、编写有效提示词的技巧
技巧1:具体明确
❌ 模糊:
这只股票怎么样?✅ 具体:
请从基本面、技术面、行业地位三个维度分析平安银行(000001)的投资价值。技巧2:提供充足信息
❌ 信息不足:
分析一下银行股✅ 信息充足:
请分析平安银行(000001): - 当前股价:12.50元 - 市盈率:5.2(行业平均:6.5) - ROE:10.5% - 不良贷款率:1.2%技巧3:分步骤引导
❌ 一次性要求太多:
分析这只股票的所有方面并给出详细的投资建议和风险评估以及未来预测✅ 分步骤:
第一步:请先分析平安银行的基本面 第二步:基于基本面分析,评估其投资价值 第三步:列出主要风险因素技巧4:使用示例(Few-shot)
通过示例告诉 AI 你想要什么样的输出:
请按以下示例格式分析股票: 示例: 股票:贵州茅台(600519) 评级:★★★★★ 理由:行业龙头,品牌价值高,盈利能力强 风险:估值偏高,政策风险 现在请分析:平安银行(000001)技巧5:设定角色和语气
你是一位谨慎的价值投资者,请用客观、理性的语气分析平安银行。 避免使用夸张的表述,重点关注长期投资价值。TradingAgents-CN 将上述技巧组合运用在多轮辩论中。多空研究员的提示词不仅要求"用具体数据和合理推理批判性分析看跌论点",还要求"以对话风格呈现你的论点,直接回应看跌分析师的观点并进行有效辩论,而不仅仅是列举数据"(见 bull_researcher.py)。具体对象 + 充足上下文 + 分步结构 + 语气要求的组合,让模型从"单次问答"升级为"参与动态辩论"。
四、常见错误
错误1:提示词过于简短
❌ 太简短:
000001问题:AI 不知道你想要什么。在框架中这会导致模型跳过取数、直接编造,因此基本面分析师的系统提示词明确要求"不允许直接回答而不调用工具"。
错误2:一次问太多问题
❌ 问题太多:
分析000001的基本面技术面行业地位竞争优势财务状况未来前景投资建议风险因素...问题:回答可能不够深入。框架的解法是让每个智能体只聚焦单一职责(基本面分析师只做基本面、市场分析师只做技术面),再通过多智能体协作汇总,这正是"分而治之"在架构层面的体现。
错误3:使用模糊的词语
❌ 模糊:
这只股票好不好?问题:"好"的标准不明确。
✅ 明确:
从投资回报率的角度,这只股票是否值得长期持有?错误4:没有提供必要信息
❌ 缺少信息:
分析一下这只股票问题:AI 不知道是哪只股票。
错误5:期望 AI 预测未来
❌ 不合理期望:
告诉我这只股票明天会涨还是跌问题:AI 无法预测股市,这样的提示词会导致不可靠的回答。框架的做法是要求模型"提供基于基本面的目标价位建议"而非"预测涨跌",并把最终决策交由交易员与风险经理的多轮博弈完成。
五、实战示例
示例1:单股分析
一个融合五要素的完整提示词:
你是一位资深股票分析师。请分析平安银行(000001)的投资价值。 当前数据: - 股价:12.50元 - 市盈率:5.2 - 市净率:0.6 - ROE:10.5% - 行业:银行业 请从以下角度分析: 1. 估值水平(与行业对比) 2. 盈利能力 3. 成长性 4. 风险因素 输出格式: - 使用Markdown格式 - 每个部分不超过150字 - 最后给出综合评价(1-5星)对照源码可以发现,TradingAgents-CN 中的分析师提示词正是这一范式的自动化版本:角色("你是一位专业的股票基本面分析师")+ 任务("分析{company_name}的投资价值")+ 上下文(工具返回的真实数据)+ 输出格式(固定的 Markdown 小节)+ 约束(中文、禁止编造),五要素缺一不可,且全部由代码动态组装(见 fundamentals_analyst.py)。
示例2:股票对比
请对比分析以下两只银行股: 股票A:平安银行(000001) - 市盈率:5.2 - ROE:10.5% - 不良贷款率:1.2% 股票B:招商银行(600036) - 市盈率:6.8 - ROE:15.2% - 不良贷款率:0.9% 请从估值、盈利能力、资产质量三个维度对比, 并说明哪只股票更适合价值投资者。六、总结与下一步
关键要点
- 提示词是与 AI 对话的关键,输入质量决定输出质量;
- 好的提示词包含五要素:角色、任务、上下文、格式、约束;
- 编写技巧:具体明确、信息充足、分步引导、使用示例、设定角色语气;
- 避免错误:过于简短、问题太多、期望不合理、信息缺失、模糊用词。
在 TradingAgents-CN 中,这些基础方法并非停留在纸面:每个智能体节点的系统提示词都严格遵循五要素结构,并由代码动态注入真实数据(见 tradingagents/agents 目录下的分析师与研究员实现),而 Reflector 反思模块 则展示了"自我批评"思想在框架中的落地——让模型复盘自己的决策并提炼经验教训。
下一步学习
- 📖 进阶内容:提示词工程最佳实践——掌握清晰性、具体性、结构化、迭代优化四大核心原则,以及分隔符、模板化、链式提示、角色扮演等高级技巧。
七、练习题
动手实践是掌握提示词工程的最快路径。请尝试改进以下提示词:
练习1:
❌ 原提示词:分析一下茅台 ✅ 改进后:_______________练习2:
❌ 原提示词:这只股票能涨吗 ✅ 改进后:_______________建议的改进思路:练习1 应从"缺少具体对象与分析维度"入手,补全股票代码(600519)、分析维度(基本面/估值/行业地位)与输出格式;练习2 应从"不合理期望"入手,将"预测涨跌"改写为"基于财务指标与行业对比,评估长期投资价值并提示风险"。你可以在本地运行框架中的任一智能体节点(如基本面分析师),把改进后的提示词套用到实际分析中,验证其对输出质量的真实影响。
【免费下载链接】TradingAgents-CN基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考