乐于分享
好东西不私藏

AI 守望,所有ai智能体的必备技能,ai交易助手也必不可缺

AI 守望,所有ai智能体的必备技能,ai交易助手也必不可缺

AI 守望者

AI守望者 ≠ 执行者AI守望者 = 系统的免疫系统 + 体检医生 + 改进顾问它不交易、不决策、不调度。它只做一件事:让系统知道自己哪里不对劲。

二、监控清单(共 5 大类,36 项)

A. 数据管道健康(12项)

#
检查项
检查方式
异常判定
你提的例子
A1
TQ 是否连接
self.tq_connected
断开
A2
板块缓存是否就绪
_sector_global_cache
 非空
空
← 题材没显示
A3
板块缓存新鲜度
_sector_global_cache_ts
超过 5 分钟未刷新
← 题材卡在旧数据
A4
题材数据是否就绪
ctrl._last_theme_data
 非空
空
← 你遇到的 bug
A5
行情快照是否正常
取 3 只热门股测快照延迟
超 3 秒或全部失败
A6
K 线数据是否可拉
取上证指数测 K 线
超 5 秒或失败
A7
TQ API 限流状态
tq_rate_limiter
 剩余配额
剩余 < 正常值的 20%
A8
信号引擎是否运行
signal_engine._running
启动状态下未运行
A9
股票池刷新是否正常
各池 snapshot 时间戳
超 30 秒未更新
A10
行情数据缓存新鲜度
market_data_cache
 TTL
全部过期
A11
新闻源是否可用
news_fetcher
 最近成功时间
超 30 分钟未拉到新新闻
A12
本地数据目录可写
写临时文件测试
写失败

B. AI 交易健康(8项)

#
检查项
检查方式
异常判定
B1
连续亏损次数
ctrl._consecutive_loss_count
≥ 3 次
B2
当日胜率
trade_recorder.get_summary_stats()
< 30% 且交易 ≥ 5 笔
B3
决策频率
最近 30 分钟 _decision_count_today 增量
< 1 次(可能卡死)或 > 20 次(可能失控)
B4
持仓集中度
单板块持仓 / 总持仓
> 50%
B5
日内最大回撤
当日浮盈最高点 - 当前
回撤 > 5%
B6
LLM 决策耗时
最近 N 次 _last_decision 延迟
平均 > 10 秒 或 超时率 > 30%
B7
策略绩效分化
各策略胜率标准差
某策略胜率 < 20% 且被执行 ≥ 3 次
B8
安全网关阻挡率
最近 20 次决策被 Block 次数
阻挡率 > 50%(环境或策略配置不对)

C. AI 对话健康(4项)

#
检查项
检查方式
异常判定
C1
聊天响应是否正常
发 Ping 消息测回包
超 5 秒
C2
调度任务完成率
scheduler
 今日任务完成/计划
< 80%
C3
自动驾驶仪表盘刷新
_autopilot_dash_win.winfo_exists()
 + 最后刷新时间
窗口存在但超过 5 秒未刷新
C4
LLM Token 消耗
今日 Token 消耗 / 日配额
> 80%(可能不够用)

D. 系统资源健康(5项)

#
检查项
检查方式
异常判定
D1
内存使用率
psutil
 进程 RSS
> 2GB 或增长趋势 > 100MB/5min
D2
活跃线程数
threading.active_count()
> 80
D3
磁盘空间
日志目录所在盘
< 500MB
D4
CPU 使用率
psutil
 进程 CPU%
持续 > 80%
D5
日志文件大小
logs/
 目录大小
单文件 > 100MB

E. 业务规则有效性(5项)

#
检查项
检查方式
异常判定
E1
风控参数是否匹配市场
当前情绪分 vs 单票仓位上限
高风险市场但仓位上限仍为最大值
E2
用户协议是否签署
config.eula_agreed
未签署但自动驾驶请求过
E3
积分余额
PointManager.get_balance()
< 启动自动驾驶所需
E4
定时任务是否堆积
task_manager
 队列长度
> 20
E5
配置文件完整性
检查必要配置项是否存在
缺失关键项

三、异常分级与响应

Severity 1 ─ 信息  → 写入 Guardian 日志,不打扰Severity 2 ─ 注意  → 日志 + 下次 AI 对话启动时告知Severity 3 ─ 警告  → 弹窗 + 推送到 AI 聊天窗口Severity 4 ─ 严重  → 暂停 AI 交易(可选)+ 写系统日志Severity 5 ─ 紧急  → 触发紧急停止(同 F4)
异常示例
级别
板块缓存超过 5 分钟未刷新
2-注意
题材数据持续为空(你遇到的)
3-警告
连续亏损 3 次
3-警告
TQ 断开
4-严重
LLM 连续超时
4-严重
内存 > 3GB 且持续增长
5-紧急
信号引擎停止但系统显示运行中
4-严重

四、守望者的自我认知

{    "id": "A4",    "name": "题材数据是否就绪",    "category": "数据管道",    "what": "检查 AI 控制器中的 _last_theme_data 是否非空",    "why": "题材数据是 AI 决策的核心输入,缺失会导致决策失准",    "healthy": "_last_theme_data 非空且包含 ≥1 个有效题材",    "unhealthy": "为空 或 持续超过 2 个巡检周期未更新",    "fix_hint": "检查 TQ 板块缓存是否正常刷新,或手动触发 trigger_theme_collection()",    "affected_components": ["AI交易决策", "自动驾驶仪表盘题材栏"],    "related_code": "ai_trading_controller.py:_do_theme_collection"}

五、改进建议功能

守望者不只是说"坏了",还要积累数据来建议"怎么变好":

每周/每月生成「系统健康报告」:  ├── 本周异常次数、类型分布、趋势  ├── 哪些模块最常出问题 (Top 3)  ├── 建议调整的参数:  │     ├── "连续亏损阈值建议从 3 改为 2,因为今天触发 3 次后才停已经亏了 8%"  │     ├── "板块缓存刷新间隔建议从 3 分钟缩短到 2 分钟"  │     └── "建议增加 LLM 超时重试机制,本周超时率 12%"  └── 自动对比上周: "稳定性提升了 15%"

六、放在哪里

ai_trading_system/ai_guardian.py    ← 独立模块包含:  ├── class GuardianCheck         → 单个检查项的数据类  ├── class GuardianReport        → 一次巡检的报告  ├── class AIGuardian            → 核心类  │     ├── checklist: List[GuardianCheck]   → 完整的 36+ 项清单  │     ├── _run_inspection()                → 执行一轮巡检  │     ├── _evaluate_severity()             → 异常分级  │     ├── _dispatch_alert()                → 分发告警  │     ├── _build_weekly_report()           → 周报生成  │     └── _suggest_improvements()          → 改进建议  │  └── 独立线程,默认每 5 分钟巡检一轮

七、与现有系统的集成点

AIGuardian.start() 在 enable_autonomous() 时自动启动AIGuardian.stop()   在 disable_autonomous() 时自动停止AIGuardian 通过以下方式通知 AI 对话:  ├── self._main_app._send_autopilot_chat_msg(report_text)  ├── self._main_app._log(msg, level)  └── self._main_app._safe_root_after(0, callback)  → 弹窗

八、对你说的例子的具体响应

「题材没有显示出来,AI守望就应该监控到」

在守望者的 A4 项检查中,每 5 分钟会检测:

[守望者巡检 14:35]  A2 板块缓存: ✅ 正常 (245个板块, 最后刷新 14:32)  A4 题材数据: ❌ _last_theme_data 为空               → 已持续 3 个巡检周期 (15分钟)               → 级别: 3-警告               → 影响: AI交易决策缺少题材上下文               → 建议: 自动触发 trigger_theme_collection()               → 推送到AI对话窗口: "⚠️ 题材数据已15分钟未更新,可能影响AI决策质量"

相关学习资料