Agent 指南
Agent 权限规则、文件依赖和写回规则。如果你是 AI Agent,请优先阅读此页面。
系统架构
YMOS 是自然语言驱动的人机协作投资系统。三模块制:
| 模块 | 职责 | 关键产出 |
|---|---|---|
| Eyes/ | 盯市场:市场洞察 + 投资雷达 | 市场日报 + 桥接报告 |
| Brain/ | 做分析:策略路由 + 初始调研 + P 系列提示词 | 策略报告 + 策略日志 |
| 持仓与关注/ | 管状态:状态机 + 个股文件夹 | 状态真相源 |
MARKDOWN
Eyes → 投资雷达(桥接报告:下一步建议)→ Brain → 策略分析 → 持仓与关注(写回)Agent 读取优先级
每次新会话,按此顺序读取:
总入口暗号.md— 了解所有可用暗号持仓与关注/当前关注方向与投资偏好.md— 了解用户投资策略持仓与关注/持仓_状态机.md— 了解当前持仓持仓与关注/Watchlist_状态机.md— 了解当前关注
执行具体 SOP 时再读取:对应 SOP 文件 + 对应 P 提示词(Brain/references/ 下)。
核心文件:当前关注方向与投资偏好
重要
这是整个系统的灵魂文件。投资雷达、策略分析、P 系列提示词的执行质量,都直接取决于这个文件的完整度。
文件位置:持仓与关注/当前关注方向与投资偏好.md
文件包含 9 个维度:
- 投资者画像(风险承受度、周期、心理弱点)
- 仓位配置框架(PVE/PVP/现金目标占比)
- 双轨并行策略(PVE 进入标准 + PVP 纪律约束)
- 关注方向与板块偏好(板块关联逻辑 + 宏观信号偏好)
- Watchlist 选择偏好(入池/出池条件)
- 策略执行偏好(前置校验 + 触发阈值)
- 当前禁忌(红线规则)
- 核心心法(投资信念 + 历史教训)
- 使用说明(AI 读取后应能回答的 5 个问题)
Agent 职责
- 每次新会话必须读取此文件(优先级 #2)
- 如发现文件内容过于简略(如缺少仓位配置或核心心法),应提醒用户补充
- Agent 不得静默修改此文件。 所有修改必须经用户明确确认:
| 场景 | 是否允许 | |
|---|---|---|
| ✅ | 入职引导中,Agent 整理用户访谈内容 → 展示给用户确认 → 写入 | 允许 |
| ✅ | 用户主动要求更新某个维度 → Agent 起草修改建议 → 用户确认 → 写入 | 允许 |
| ❌ | Agent 在分析过程中发现”用户偏好似乎变了”→ 自行修改 | 禁止 |
| ❌ | Agent 在任何 SOP 执行中静默追加/删除内容 | 禁止 |
SOP 总览
| 模块 | SOP | 触发暗号 | 频率 | Pattern |
|---|---|---|---|---|
| Eyes | SOP_市场洞察 | 跑一下市场洞察 | 每日 | Sequential + Fallback |
| Eyes | SOP_投资雷达 | 跑一下投资雷达 | 每日 | Coordinator |
| Brain | SOP_策略分析 | 跑一下策略分析 / 我想买 XX 等 | 事件驱动 | Router → Sequential |
| Brain | SOP_初始调研 | 调研一下 XX / 被调用 | 按需 | Sequential (Reusable) |
| 持仓与关注 | SOP_入职引导 | 开始使用 / 初始化系统 | 首次/补全 | Guided Loop |
| 持仓与关注 | SOP_标的管理 | 关注 XX / 建仓 XX 等 | 手动 | State Machine CRUD |
说明
Pattern 图例:Sequential = 线性管道 · Coordinator = 聚合多源输入 · Router → Sequential = 先路由分发再顺序执行 · Guided Loop = 与用户交互式循环 · State Machine CRUD = 原子状态转换 · Fallback = 主路径失败时自动降级
文件权限表
只读(不可修改)
| 路径 | 说明 |
|---|---|
Eyes/SOP_*.md | SOP 定义 |
Eyes/scripts/*.py | 取数脚本 |
Brain/SOP_*.md | SOP 定义 |
Brain/references/*.md | P 系列提示词资产 |
持仓与关注/SOP_*.md | SOP 定义 |
总入口暗号.md | 路由表 |
.env | API Key |
Human-in-the-Loop(需用户确认后写入)
| 路径 | 说明 |
|---|---|
持仓与关注/当前关注方向与投资偏好.md | 投资灵魂文件 — Agent 可起草,用户确认后写入 |
可写(遵循 SOP 规则)
| 路径 | 写入规则 |
|---|---|
Eyes/市场洞察/ | 通过市场洞察 SOP,命名:YYYY-MM-DD_市场洞察.md |
Eyes/投资雷达/ | 通过投资雷达 SOP,命名:投资雷达_YYYY-MM-DD.md(同日覆盖) |
Brain/策略分析/ | 通过策略分析 SOP(报告 + 日志) |
持仓与关注/*_状态机.md | 限定写回规则(见下方) |
持仓与关注/*/个股基础知识库.md | P1/P4/P2 写入 |
持仓与关注/*/买入卖出备忘录.md | 策略结论追加 |
模块依赖关系
MARKDOWN
Eyes/SOP_市场洞察
→ reads: Brain/references/p13-*, cio-rss-*
→ reads: 持仓与关注/持仓_状态机.md
→ scripts: fetch_rss.py, fetch_market_api.py, fetch_finnhub_news.py
→ writes: Eyes/市场洞察/
Eyes/SOP_投资雷达
→ reads: Eyes/市场洞察/ (7天), 持仓/Watchlist 状态机
→ scripts: price_scan_from_state.py → fetch_price_router.py
→ writes: Eyes/投资雷达/, 持仓与关注/
Brain/SOP_策略分析
→ reads: Eyes/投资雷达/, 持仓与关注/ (全部), Brain/references/
→ writes: Brain/策略分析/, 持仓与关注/
Brain/SOP_初始调研
→ reads: Brain/references/p1-*, p2-*, p4-*, p9-*
→ writes: 持仓与关注/*/个股基础知识库.md环境变量(.env)
注意
Python 的 os.getenv() 不自动读取 .env 文件。YMOS 脚本内置 env_loader.py 自动加载。如果自动加载失败,Agent 应直接读取 .env 文件内容或通过 CLI 参数传入。
| 变量 | 使用方 | 必须? |
|---|---|---|
FINNHUB_API_KEY | 价格路由器、Finnhub 新闻 | 可选(免费注册) |
TUSHARE_TOKEN | 价格路由器(A股) | 可选(无则回退 Yahoo) |
YMOS_MARKET_API_URL | Market API 脚本 | 可选(Level 2) |
YMOS_MARKET_API_KEY | Market API 脚本 | 可选(Level 2) |
状态机写回规则(强制)
每次更新状态机时必须同时完成:
- 更新顶部
更新时间 - 更新对应标的所在行
- 在
今日变更日志中追加一条摘要
执行态度
- 不偷懒:按 SOP 定义的完整 Pipeline 走完每一步,不因为”数据看起来够了”就跳过后续分析环节
- 不静默失败:某个步骤出错时,把错误信息和上下文清晰地展示给用户,一起协调解决,而不是吞掉错误继续跑
- 不自作主张:遇到 SOP 没覆盖的边界情况,暂停并询问用户,而不是猜测用户意图
- 养系统的心态:SOP 不是一成不变的。执行过程中发现可优化的环节,在报告末尾的”优化建议”中如实记录,帮助用户持续迭代
日常运行建议
MARKDOWN
每日收盘后:
1. 跑一下市场洞察 → Eyes 扫描市场
2. 跑一下投资雷达 → Eyes 桥接报告
3. 跑一下策略分析 → Brain 处理雷达建议(如有触发)
用户主动触发:
– 关注/建仓/清仓 XX → 状态管理
– 调研一下 XX → 深度调研
– 我想买/卖 XX → 策略直达 提示
Agent 做的是重复劳动(拉数据、扫价格、跑 P 链),目的是把用户从信息苦力中解放出来。但投资的认知差来自用户自己的深度研究。Agent 应主动建议用户的深度调研方向。