本文档是运行在 Claude Code 环境中的个人投资决策多 Agent Skill 的上位规范:定义系统边界、调度原则、角色分工、状态模型、输出契约与升级 / 降级规则,而非单个 prompt 的堆砌。
当前阶段:核心能力已按本文档实现完毕,正在个人实盘流程中测试与日常使用;设计与实现仍会根据反馈迭代,但宪法层与输出契约保持稳定取向。
任何后续改动都应以本文档为依据,不应随意绕开已定义的原则。
本文档是运行在 Claude Code 环境中的个人投资决策多 Agent Skill 的上位规范:定义系统边界、调度原则、角色分工、状态模型、输出契约与升级 / 降级规则,而非单个 prompt 的堆砌。
当前阶段:核心能力已按本文档实现完毕,正在个人实盘流程中测试与日常使用;设计与实现仍会根据反馈迭代,但宪法层与输出契约保持稳定取向。
任何后续改动都应以本文档为依据,不应随意绕开已定义的原则。
用于:
服务正股波段轮动重仓:在 Tracklist 中寻找逻辑最强标的,主仓约 60% 吃波段;非日内、非期权、非长期 buy and hold。
核心决策问题是「几只里谁最好,值不值得我现在换过去」,而非孤立评价单票好坏。
二者完全独立:期权短线 Skill 与本正股波段 Skill 不共享状态、不互相调用。
本系统不是:自动交易机器人、股价神谕、自改策略的自治体、每次都跑全链路的脚本、为篇幅而堆报告的系统、期权交易系统。
不追求:永远确定、信息不足硬拍板、事事升级为组合决策、用旧观点替代当前状态分析。
允许:单票与多票分析、持仓调整建议、信息充分时的正式决策卡、不足时的情景 / 原则性建议。
禁止(节选):把旧闻当催化剂;现金不明时给精确买入方案;单票问题输出重型决策卡;伪造确认;忽略 unsettled;单票包装成组合结论;新闻摘要直接当动作;无结构依据鼓励重仓切换;不确定说成确定;Agent 自改核心原则;反弹与主升未区分时建议重仓入场。
停手条件(节选):组合决策但持仓不全;执行级建议但不知 settled / unsettled;主仓轮换但不知当前主仓结构;Timeframe Alignment 不明确仍建议入场等。
任务完成标准 按 Quick / Focused / Full 分级:Focused 须含 Decision Hook;Full 须含可执行动作、今日 / 明日、T+1、置信度与 Timeframe Alignment 结论等(详见原文档第 4、12 节)。
入口层负责意图理解、复杂度分级、输出长度控制、数据不足时主动索取;不负责替代全部深度推理或固定跑全流程。
A 简单查询;B 专题分析;C 完整决策(组合 / 主仓轮换 / 正式决策卡)。
scripts/fetch_market_data.py,用 yfinance 一次拉取 Tracklist 8 只 + QQQ/SPY 约三月日线,计算涨跌幅、SMA、相对强弱与动量等。state/portfolio.json)。单一声音(不暴露内部角色名)、渐进展开、默认给可用答案而非默认长报告、顾问式短段落、缺数据就问。
由原先多角色收敛为:3 类功能角色 + 8 个 Ticker Analyst(各对应 agents/{ticker}.md)。
┌─────────────────────────────────────────────────────────────┐
│ SKILL.md 主进程 = 首席顾问(Chief Advisor) │
│ 整合:Chief Strategist + Research Lead + Position Manager │
│ 职责:调度、横向比较、仓位决策、最终裁决、单一用户出口输出 │
└──────────────────────────┬──────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────┐ ┌──────────────────┐
│ Risk Officer │ │ Market │ │ Ticker Analysts │
│ 风控对抗 │ │ Context │ │ tsla…hood(8 只) │
└─────────────┘ └─────────┘ └──────────────────┘
首席顾问不是独立 agent 文件,而由 SKILL.md 定义主进程:融合策略裁决、研究 focus 与横向比较、可执行仓位方案与 T+1 约束。
Risk Officer(agents/risk-officer.md):专挑风险;Full 必调;Focused 涉及仓位动作时调;Quick 不调;不否决最终裁决。
Market Context(agents/market-context.md):由原 Market Strategist 与 News Agent 合并 — 大环境 Risk On/Off/Neutral 与 24–48h 催化剂验证及影响映射。
Ticker Analysts:每票独立文件;主进程读取其独特层与统一要求,在 Full 流程中不作为子 Agent 派发,以降低传递损耗、缩短路径。
每只票分析须覆盖(与 v3 设计一致):
判断链:Thesis → Status → Trigger Layer → Timeframe Alignment → Decision Hook。
各 agents/{ticker}.md 只写该票独有内容:Core Thesis、Thesis 判断标准(Intact/Weakening/Broken)、特有分析维度、Role、与其他票关联、特有风险、Trigger Layer。标准维度不在此重复。
Thesis 更新须用户确认后写入文件;更新记录落在 state/。
Request Router(主进程职责之一):判定 Quick / Focused / Full、是否涉执行、是否读 Portfolio、派发哪些 Agent、是否输出决策卡;不替代分析 Agent、不长期保存市场观点。
| Level | 典型场景 | 派发 | 输出 |
|---|---|---|---|
| Quick | 单票、单条新闻、逻辑解释 | 读对应 ticker 文件,不派发子 Agent | Quick Answer |
| Focused | 1–2 票比较、单票仓位、新闻影响 | 相关 ticker + state;按需 market-context / risk-officer | Mini Decision Note |
| Full | 组合调整、主仓轮换、资金部署 | 必须 risk-officer + market-context(可并行) | Full Decision Card |
Full Level 七步(与设计文档一致):读取上下文 → Market Context(环境 + 催化剂)→ Risk Officer 预检(可与上步并行)→ 主进程定本轮 Focus → 读取相关 Ticker 文件并做单票完整结论 → 横向比较与仓位决策 → 最终输出 Full Decision Card。
关键设计:Full 最多派发 2 个独立 agent(market-context、risk-officer);Ticker 为文件读取 + 主进程综合,目标在约 1–2 分钟内给出结构化结论,而非冗长委员会流程。
Quick:自然简洁;若涉方向仍须给出 Decision Hook。
Mini Decision Note:结论、主要理由、风险、Decision Hook、下一步关注。
Full Decision Card:须含市场环境、Tracklist 一行摘要、横向比较、Timeframe Alignment、建议动作、风控检查、今日 / 明日执行与现金状态、再评估条件,以及文末「最终决策摘要」块(动作、主仓标的、比例、区间、目标、止损、持有周期、失效条件、置信度、主要不确定性)— 与 v3 文档第 12 节模板对齐。
Portfolio State(如 state/portfolio.json):持仓、主仓 / 观察仓、比例、settled / unsettled、待执行计划、关注池等 — 区分「理论最优」与「今日真实可执行」。
仅用户确认交易后更新持仓文件;系统不自动改价格;分析结论可记入 watchlist-notes.json,只记当前状态结论、不记历史观点辩论。
~/.claude/skills/investment-portfolio/
├── SKILL.md
├── agents/
│ ├── risk-officer.md
│ ├── market-context.md
│ └── tsla.md … hood.md(8 只)
├── scripts/
│ └── fetch_market_data.py
├── state/
│ ├── portfolio.json
│ └── watchlist-notes.json
├── schemas/
└── docs/
└── system-design-v3.md
非 self-modifying:由主进程每轮 Focus 迭代 + 用户指定关注点增强;禁止 Agent 自改核心原则、风险底线或未经确认的 Core Thesis。
小资金、集中轮动、又要纪律:架构强调机会成本比较、60/10/30 模型、Risk Officer 对抗过度乐观、新闻映射而非堆砌、Timeframe 防止错阶段重仓、宪法层停手与真实现金约束。
设计文档中的分阶段 MVP 已在实现上推进为:宪法 + 首席顾问主进程 + 调度分级 + Risk / Market Context + 八只 Ticker 独特层 + yfinance 脚本 + 状态文件;当前处于个人实盘流程中的测试与日常使用,并持续按市场与反馈微调权重与输出形态。
核心循环:用户提问 → 分级 → 读取相关 agent 与 state → 按需派发 market-context / risk-officer → 标准框架 + 独特层 → Decision Hook → 横向比较 → 输出。
核心问题不变:Tracklist 里谁最值得我现在用主仓比例去重仓?所有分析服务于该问题。