Skip to content

10_Tech_LLM_RAG_Integration

youngcan edited this page Jun 1, 2026 · 3 revisions

AI 集成策略

系统使用大模型做研判,但不是把原始 K 线数据直接丢给模型。本篇解释为什么,以及 AI 在系统中的三种使用方式。


术语速查

英文术语 中文释义
AI 人工智能,这里主要指大语言模型做语义研判
LLM 大语言模型,如 Gemini、Claude、OpenAI 兼容模型
Token 令牌,模型上下文长度和计费的基本单位
Prompt 提示词,发给模型的任务说明和约束
RAG 检索增强生成,这里主要用于检索新闻做防雷
Veto 否决,命中重大负面信息后拦截候选股
Compliance 合规,限制公开输出里不能出现不合规交易建议

核心原则:量化先行,AI 后审

量化漏斗(硬过滤)→ 结构化特征切片(喂给 AI)→ AI 研判 → 风控执行

AI 不直接看原始数据,也不直接下单。它夹在"已经过滤好的候选"和"最终风控执行"中间,只负责语义判断。


为什么不直接喂原始 K 线

把几百天的 OHLCV 表格直接丢给模型会有三个问题:

  1. 浪费 Token(令牌) — 大量无关数据占用上下文
  2. 数值推理不稳定 — 模型对数字的计算能力有限
  3. 信号被噪音淹没 — 关键转折点埋在冗长数据里

实际做法是先提取"特征切片":

  • 趋势摘要(均线关系、位阶、关键偏离)
  • 异动片段(放量、缩量、关键突破 / 回踩)
  • 必要上下文(行业状态、大盘水温、风控提示)

三条 AI 路径

A. 批量研报(生产主线,Step3)

  • 入口:core/batch_report.py
  • 输入:Step2 候选股 + 结构化特征切片
  • 输出:三阵营分类(逻辑破产 / 储备营地 / 起跳板)
  • 附产物:合规版市场观察简报(脱敏统计,不含个股代码)

B. 单股深度分析(交互场景)

  • CLI(命令行)/ MCP(模型上下文协议)实现:agents/chat_tools.pyanalyze_stock
  • Web(网页端)实现:web/apps/web/src/lib/chat-tools.tsexecAnalyzeStock
  • 核心诊断:core/holding_diagnostic.py + core/wyckoff_engine.py
  • Prompt(提示词):core/prompts.py
  • 用途:用户指定一只股票,做深度威科夫结构分析

C. 对话 Agent(智能体)(Web 网页端 + CLI 命令行)

  • 用途:围绕持仓、行情、信号做多轮对话
  • Agent 自主决定调用哪些工具、调用多少次
  • 工具层定义在 agents/chat_tools.py

RAG(检索增强生成)防雷机制

RAG(检索增强生成)的作用不是替代模型,而是补充模型没有的实时信息

流程:

  1. 对候选股检索近期新闻
  2. 匹配高风险关键词(立案、财务造假、债务违约、退市风险等)
  3. 命中 → 一票否决这只候选股

实现位于 integrations/rag_veto.py。当前默认通过 akshare 拉取东方财富个股新闻,并支持可选的 semantic veto(语义否决)配置。即使新闻检索或语义判定失败,系统也会记录错误并跳过该候选的防雷拦截,不会阻断整条研报流水线。


合规版市场观察简报

面向公开群发场景,与主研报分离:

  • 只使用脱敏统计:大盘水温、广度、量能、行业聚集、触发形态数量
  • 不包含任何个股代码、名称或"买入/卖出"等交易动作词
  • 输出前做确定性校验,拦截违规内容
  • 模型不可用时降级为本地模板

实现位于 core/compliance_report.py


AI 的边界

AI 负责 AI 不负责
语义研判和文本建议 资金管理和下单执行
结构化数据的解读 原始数据的计算
候选股的分类评审 实盘风险控制

一句话:AI 建议 ≠ 自动下单。执行权永远在风控引擎(Step4)。

Clone this wiki locally