新增方法論
編寫可獨立運行的投資規則,並保留證據、適用範圍和審計歷史
方法論是一條能夠脫離原始對話或 Playbook 獨立評估的投資規則。它可以描述信號、閾值、預期方向、時間週期,以及規則不適用的條件。
Minara 的方法論來自兩類來源:
apps/agent/src/learning/methodology-seeds.ts中的人工種子構成經過審查的初始語料庫。- 從已評估決策和交易案例中產生的學習候選項先進入隔離區,積累足夠證據後才能被使用。
進行獨立性檢驗
把規則單獨放進“分析 NVDA 趨勢”這樣的提示詞中。如果它仍然具有明確含義、所需證據和失效條件,就適合作為方法論。如果它引用“上一步”、某個角色、Roundtable 階段或另一條當前規則,應繼續留在分析 Playbook 中。
合格示例:
當自由現金流轉化率連續兩個報告期低於 70%,同時應收賬款增速高於收入增速時,應將盈利質量視為惡化。
依賴上下文的示例:
分析師完成第三步後,根據上面的結果降低評級。
新增人工種子
在 METHODOLOGY_SEEDS 中加入一條聚焦規則:
{
stableId: "stock.earnings_quality.cash_conversion.v1",
version: "v1",
source: "authored",
asset_class: "stock",
methodology:
"When free-cash-flow conversion stays below 70% for two reporting periods " +
"while receivables grow faster than revenue, treat earnings quality as deteriorating.",
thresholds: { fcf_conversion_floor_pct: 70 },
anti_patterns: [
"Do not apply to pre-revenue companies.",
"Skip periods distorted by a disclosed acquisition close.",
],
applies_only_to: ["stock"],
benchmark_profile: "asset_benchmark",
},| 字段 | 貢獻要求 |
|---|---|
stableId | 使用持久且唯一的 ID,不得將它複用於不同觀點。 |
version | 規則含義或閾值發生變化時提升版本。 |
source | 使用 authored、derived_from_paper 或 community。適用時在 PR 中保留來源。 |
asset_class | 從 asset-taxonomy.ts 選擇,人工種子不得使用 unknown。 |
methodology | 只寫一條獨立、可檢驗的規則,不要包含場景名和工具名。 |
thresholds | 使用穩定的 snake_case 鍵,讓 Playbook 可以引用可調整數值。 |
anti_patterns | 高影響規則應包含一至三條簡短的排除條件。 |
applies_only_to | 當相同詞彙可能誤匹配其他資產類別時,收窄適用範圍。 |
benchmark_profile | 聲明結果比較方式:absolute、asset_benchmark、beta_adjusted、market_neutral 或 pair_trade。 |
不要因為一條規則聽起來合理就直接加入種子。請在 Pull Request 中說明依據和預期證據。來自論文或公共數據集的規則必須保留引用與許可證背景。
理解生命週期
人工種子通過受信任的內置種子源進入系統。未經信任的學習或導入條目以 0.1 置信度進入隔離區。候選項至少需要 10 次觀察、5 次正確觀察,並達到 0.55 的 Wilson 下界才能晉級。已晉級規則在使用至少 20 次後,若 Wilson 分數低於 0.40,會重新進入隔離區。
只有已晉級方法論可以通過 methodology_lookup 或 {{methodology:...}} 佔位符到達 Agent。佔位符始終攜帶安全默認值。操作者可以分別關閉讀取、案例記錄或全部變更。
任何置信度、計數器或隔離狀態變化都必須使用方法論倉儲的生命週期契約。直接執行 SQL 會丟失原子化審計事件,不可接受。
驗證貢獻
pnpm --filter @minara/agent lint:methodology
pnpm --filter @minara/agent exec vitest run tests/unit/learning/methodology-seeds-lint.test.ts
pnpm --filter @minara/agent exec vitest run tests/unit/learning/methodology-store.test.ts
pnpm --filter @minara/agent typecheck如果在機構 Playbook 中加入佔位符,請同時測試默認值和方法論存儲覆蓋。規則改變公共行為時,需要更新四種語言的相關分析文檔。
操作者無需編輯 SQLite 即可檢查實時狀態:
minara learning methodology explain <id>
minara learning methodology lifecycle --id <id>
minara learning methodology cases --id <id>