在金融领域的 AI 交易智能体系统中,我们通常设计六个角色协同工作:

  1. 经理(Manager):负责总体协调与策略规划,分派任务给其他分析师,控制流程与输出格式,并进行结果汇总和优先级判断。

  2. 技术指标分析师(Indicator Analyst):基于传统技术指标(MA、RSI、MACD、布林带等)进行量化分析,输出指标序列与交易信号。

  3. 纯价格分析师(Price Action Analyst):基于价格行为、形态与关键支撑/阻力(蜡烛图形态、趋势线、结构性突破)进行分析。

  4. 新闻分析师(News Analyst):分析新闻与市场情绪,评估短期影响并提出策略调整建议。

  5. 财经日历事件分析师(Event Analyst):结合经济日历事件(利率决议、数据发布等),判断事件窗口期内的策略调整方向。

  6. 决策者(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

Logo

更多推荐