langchain-trading-agents如何让 AI人工智能操盘交易智能体不编造数据和谎言输出
本文介绍了一种金融AI交易智能体系统的设计与实现方法。该系统采用六角色协同架构(经理、技术指标分析师、价格分析师、新闻分析师、事件分析师和决策者),通过LangChain框架实现多智能体协作。重点阐述了系统的防造假机制,包括强制数据验证规则和特殊提示词设计,确保AI在数据不足时中止回答而非虚构结论。文章还提供了系统配置参数示例,展示了如何通过提示词优化实现结构化输出,并给出开源项目地址供参考。该系
在金融领域的 AI 交易智能体系统中,我们通常设计六个角色协同工作:
-
经理(Manager):负责总体协调与策略规划,分派任务给其他分析师,控制流程与输出格式,并进行结果汇总和优先级判断。
-
技术指标分析师(Indicator Analyst):基于传统技术指标(MA、RSI、MACD、布林带等)进行量化分析,输出指标序列与交易信号。
-
纯价格分析师(Price Action Analyst):基于价格行为、形态与关键支撑/阻力(蜡烛图形态、趋势线、结构性突破)进行分析。
-
新闻分析师(News Analyst):分析新闻与市场情绪,评估短期影响并提出策略调整建议。
-
财经日历事件分析师(Event Analyst):结合经济日历事件(利率决议、数据发布等),判断事件窗口期内的策略调整方向。
-
决策者(Decision Maker):根据前五位分析师的结果,生成最终的交易决策或建议,包括进出场时机、仓位与风险控制规则。
在这样一个系统中,只要有一个 AI Agent 出现“编造数据”或“制造虚假结论”,都可能导致严重的交易误判。因此,防止“AI 撒谎”成为系统设计的关键。
一、示例项目:LangChain-Trading-Agents
我们来看一个开源示例项目 langchain-trading-agents,它对防止 AI 捏造数据做了清晰的约束。
安装方式
git clone https://github.com/aitrados/langchain-trading-agents.git
cd langchain-trading-agents
pip install -r requirements.txt
或使用:
pip install -U langchain-trading-agents
安装后会自动包含“金融 MCP 模块”。最简单的运行方式是:
finance-trading-ai-agents-mcp --env-file .env
二、AI 智能体结构示例
manager_ai = AiBusControl(
ManagerAnalyst(**model_config),
DecisionMakerAnalyst(**model_config)
)
manager_ai.add_sub_agent(
IndicatorAnalyst(**model_config),
PriceActionAnalyst(**model_config),
NewsAnalyst(**model_config),
EventAnalyst(**model_config),
)
当我们发出分析请求时:
ask = "请帮我分析一下未来几天我应该如何交易****, 周期是日线和小时, 结合传统指标和支撑/压力位。我是看大周期做小周期,同时顺便分析下新闻和财经事件,你帮我看看未来2-3天如何操盘。"
result: GraphState = await manager_ai.a_analyze(ask)
print("Analysis results:\n")
print(result)
注意:这四个分析师不会每次都全部参与分析,哪些要“出场”由经理(ManagerAnalyst)根据提问内容动态决定。因此,提问方式非常关键。
在这种设计下,AI 生成的报告可长达数万字,覆盖多维度分析。
三、核心防造假机制:系统提示词
在项目目录中有关键的系统提示文件:
路径:langchain_trading_agents/assistive_tools/price_action_system_prompt_words/zh_cn.md
其中有两条非常重要的规则:
重要:如果工具调用在多次尝试后未返回数据或返回空结果,
您必须回复 "No data available for analysis" 并立即停止。
切勿捏造、估算或产生幻觉式数据。仅分析实际检索到的数据。
分析诚信规则:只有在数据明确支持时才给出结论。
如果数据不足或不确定,请回复 "Data insufficient for reliable analysis",
不要强行得出结论。
这些规则直接从系统提示词层面限制了 AI 的“自由思考”空间,让它在数据不足时必须中止回答,从根本上防止了“幻觉式结论”。
四、优化提示词以确保准确输出
在使用 langchain_trading_agents 开发自定义交易智能体时,我们可以通过修改系统提示词来进一步优化输出,使其既符合我们的问题逻辑,又能以程序化格式输出,方便后续接入量化或自动化交易系统。
模型配置参数示例:
model_config_more_params = {
"role_prompt": None, # 自定义系统提示词内容
"profile": None, # 自定义角色自我介绍。经理需要了解我的技能以便正确分配任务
"nickname": None, # 自定义智能体昵称
"system_prompt_lang": None, # 指定系统提示词语言,对应 langchain_trading_agents/assistive_tools/*system_prompt_words 文件夹
"role_prompt_file_or_url": None, # 可从文件或 URL 加载自定义系统提示词
"profile_file_or_url": None, # 可从文件或 URL 加载自定义角色简介
}
通过这些配置,我们可以灵活控制 AI 的角色行为、提示语言、分析深度及结果格式化方式,从而在交易场景中实现 “真实、可信、结构化” 的 AI 分析输出。
项目开源地址:https://github.com/aitrados/langchain-trading-agents.git
更多推荐


所有评论(0)