@dogfood-lab/study-swarm 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/PROTOCOL.md +9 -2
- package/README.es.md +37 -33
- package/README.fr.md +35 -31
- package/README.hi.md +45 -41
- package/README.it.md +40 -36
- package/README.ja.md +44 -40
- package/README.md +6 -2
- package/README.pt-BR.md +44 -40
- package/README.zh.md +48 -44
- package/examples/study-swarm-v1_1.dispatch.md +89 -0
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -13,53 +13,57 @@
|
|
|
13
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
**引用された研究に基づいて設計上の決定を行い、その後、そのすべての内容が公式なものになる前に、*別の*モデルファミリーを使用して引用を検証する。**
|
|
17
17
|
|
|
18
|
-
`study-swarm
|
|
18
|
+
`study-swarm`はツールではなくプロトコルである。大規模言語モデル(LLM)を用いて重要な設計上の決定を行う場合(新しい製品レイヤー、アーキテクチャの選択、「ここでモデルを信頼すべきか」という判断など)、最初の原則から即興で進めることは、時代遅れの設計につながり、記憶に基づいて論文を引用することは、存在しない情報源や、あなたが考えていることとは異なる内容の情報源に依存する設計につながる。`study-swarm`はこれら両方を置き換える:並行して研究エージェントを派遣し、特定の引用された調査結果を要求し、すべての引用を**別のモデルファミリーの外部検証者**を通じてゲートすることで、その情報が設計に影響を与えるようにする。
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
それは独自の治療法を適用する。このプロトコルは、支援するシステムの設計において、検証者によって保護されたエンベロープを規定するため、それ自体にもそれを適用する。**プロトコルを実行しているモデルを含め、どのモデルも自分の宿題を評価しない。**
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## 5つのステップで構成されるプロトコル
|
|
23
23
|
|
|
24
|
-
1.
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
27
|
-
4.
|
|
28
|
-
5.
|
|
24
|
+
1. **特定する**:経験的証拠によって回答が変わる可能性のある3〜5個の重要な設計上の質問を特定する。
|
|
25
|
+
2. **派遣する**:各質問に対して、並行して1つの研究エージェントを派遣する。それぞれが論文タイトル+著者+年+URL+1文の調査結果を返す必要がある(網羅性よりも具体性を重視:「6〜8件の信頼できる調査結果は、20件の曖昧な記述よりも優れている」)。
|
|
26
|
+
3. **統合する**:調査結果を「研究による根拠」セクションに統合する:`N. **<調査結果>.** <著者> <年> (<arXiv/DOI>). <設計への影響>.`
|
|
27
|
+
4. **外部で検証する**:*別のモデルファミリー(推論機能を削除したもの)が、2つの段階ですべての引用をチェックする。まず、**検索オラクル**が論文が存在することを確認する(モデルの記憶ではなく)。次に、「根拠」レンズが、調査結果が情報源と一致することを確認する。**捏造または誤った帰属の場合、処理を停止する。検証者または検索オラクルが利用できない場合は、処理を停止してエスカレーションする(不在を「引用は問題ない」と解釈しないこと)。
|
|
28
|
+
5. **関連付ける**:各アーキテクチャの選択を、番号を使って調査結果に関連付ける。設計への影響がない引用はノイズである。
|
|
29
29
|
|
|
30
|
-
完全な実行可能な詳細(停止テーブル、情報源に関する標準、アンサンブルルール)は、**[PROTOCOL.md](PROTOCOL.md)
|
|
30
|
+
完全な実行可能な詳細(停止テーブル、情報源に関する標準、アンサンブルルール)は、**[PROTOCOL.md](PROTOCOL.md)**に記載されている。
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## なぜ*別の*ファミリーで、推論機能を削除する必要があるのか?
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
それは、失敗モードが仮説ではなく、文書化されているためである:
|
|
35
35
|
|
|
36
|
-
- **LLM
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
36
|
+
- **LLMは、自分の出力を確実に検証できない。** Huang et al. 2023 ([arXiv:2310.01798](https://arxiv.org/abs/2310.01798)); Kambhampati et al. 2024 ([arXiv:2402.01817](https://arxiv.org/abs/2402.01817), LLM-Modulo); Stechly et al. 2024 ([arXiv:2402.08115](https://arxiv.org/abs/2402.08115)) — 外部検証者がメリットをもたらす。自己批判的な内容は効果がない。
|
|
37
|
+
- **同じファミリーの評価者は、自分を高く評価する傾向がある。** Panickssery, Bowman & Feng 2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076)) — 自己認識は、自己選好と*線形に*相関するため、部分的なブラインド処理では効果がない。Verga et al. 2024 ([arXiv:2404.18796](https://arxiv.org/abs/2404.18796), PoLL) — 異なるファミリーのパネルを使用すると、約7分の1のコストで偏りが少なくなる。
|
|
38
|
+
- **引用は、LLMが嘘をつく場所である。** Walters & Wilder 2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5)) — GPT-3.5の55%、GPT-4の18%の引用が捏造されている。Onweller et al. 2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635)) —リンクは94%以上の確率で解決するが、引用されたコンテンツのわずか39〜77%しか主張を裏付けていない。したがって、存在は**検索によってチェックする必要があり、想起によってチェックしてはいけない。**
|
|
39
|
+
- **生成者の推論を隠す。** Khalifa et al. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "Gaming the Judge") — 操作された連鎖思考だけでは、評価者の誤検出率が最大90%まで増加する(アクションは固定されている)。Turpin et al. 2023 ([arXiv:2305.04388](https://arxiv.org/abs/2305.04388)) — CoTは、事後的な合理化である。検証者は、単なる引用の主張のみを確認し、「なぜこれを含めたのか」は確認しない。
|
|
40
|
+
- **多様性は数よりも重要である。** Rajan 2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708)) — ペアワイズ相関ρ∈[0.05, 0.25]の4つの検証者は、サブモジュールカバレッジによって、いずれか1つの優れた評価者よりも優れている。Kim et al. 2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962)) — LLMのエラーは*相関しているため、重要な変数はレンズの多様性であり、生の数ではない。
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## 実際に機能するのか?(証拠)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
テストとして、このプロトコルを自分の引用に対して実行した。2つの非相関性の高いClaude以外のファミリー(**Mistral** (`mistral-small:24b`)と**IBM Granite** (`granite4.1:30b`))を使用して、推論機能を削除し、2つのブラインドトラップで設定された引用セットをチェックした。
|
|
45
45
|
|
|
46
46
|
| 仕掛けられた罠 | Mistral | IBM Granite | 真実 |
|
|
47
47
|
|---|---|---|---|
|
|
48
|
-
| 「Nakamura & Olsen」に帰属された連鎖思考プロンプト | 見逃した |
|
|
49
|
-
| 「98
|
|
48
|
+
| 「Nakamura & Olsen」に帰属された連鎖思考プロンプト | 見逃した | **検出(誤った帰属→実際にはWei et al. 2022、arXiv:2201.11903)** | 誤って帰属された |
|
|
49
|
+
| 「98%のエラーが除去され、オラクルは不要」という捏造された論文 | **caught** (fabricated) | **caught** (fabricated) | 捏造された |
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
どちらのファミリーも単独では両方の罠を検出できなかったが、**それらの組み合わせで2/2を検出した。** 単一の評価者は、誤った帰属を認めてしまうだろう。別途、検索オラクルは、当社の設計ドキュメントにある2つの*実際の*誤った帰属(間違った最初の著者に引用された論文)を検出し、どのパラメトリックLLMも検出できなかった。また、両方のLLMが、トレーニング後の論文であるという理由だけで、捏造されたと誤ってフラグを立てた真の2026年の論文を正しく確認した。最後の点は、ステップ4の存在チェックが**検索オラクルでなければならず、LLMであってはならない**という理由そのものである。
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
この単一の実行は、ミニチュア版の論文である:**相関性の低いレンズ+存在を検証するための検索オラクルは、優れた評価者よりも優れている。**
|
|
54
|
+
|
|
55
|
+
### …そして再び、v1.1の設計のために
|
|
56
|
+
|
|
57
|
+
v1.1の改良は、同じ方法で選択された。つまり、「study-swarm」上で「study-swarm」を実行することによってだ。最初のリリースで「おそらく」という回答になった4つの質問(根拠チェックをどのように*機械化*するか、生成時に根拠を示すべきか、レンズをどのように*組み合わせるか、不確実性の評価において保留すべきかどうか)は、並行して研究を行うエージェントに割り当てられ、得られた**27件の参考文献**はすべて、設計に反映される前にステップ4で検証された。検索オラクルは、**27/27件が存在すること**を確認した。これには、パラメトリックモデルが捏造されたものとして誤ってフラグを立てるであろう6つの2025〜2026年の論文も含まれており、また、モデルでは確認できなかった5つの参考文献の帰属についても修正が行われた。その中には、研究エージェント自身が指摘した実際の最初の著者の誤った帰属も含まれている。推論を排除して実行すると、根拠を示すためのレンズは、私たちのシステムで文書化された自身の失敗モードを再現する。つまり、1つの論文を自信を持って誤って分類し、その*不一致*がエスカレーションを引き起こす。これはまさにカスケードで規定されていることだ。実際に動作するシステムは、[`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md)として提供される。このシステムで根拠が示された改良点(分解/三項の根拠、生成時の根拠、オラクルによって制御されるカスケード、および校正された保留)は、[PROTOCOL.md](PROTOCOL.md)に記載されている。
|
|
54
58
|
|
|
55
59
|
## その仕組み
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
このプロトコルを手動で実行することもできる。異なるモデルと、arXiv/DOIを自分で解決することでステップ4を満たすことができる。2つの関連ツールを使用すると、これを1つのコマンドにまとめることができる。
|
|
58
62
|
|
|
59
|
-
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** —
|
|
60
|
-
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** — `roleos verify-citations <dispatch
|
|
63
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** — 実行時の検証ツール:異なるモデルファミリーへのルーティング、推論を排除した処理、複数のレンズによる判断、決定的な検索の存在確認(arXiv → Crossref)、および署名されたレシート。
|
|
64
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** — `roleos verify-citations <dispatch>`コマンドを提供し、このコマンドはディスパッチから参考文献を抽出し、prismを通じて検証する。
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
引き継ぎのプロセスは、ディスパッチ形式そのものである。`N. **finding.** Authors year (arXiv|DOI). implication.`という形式で記述された結果(**各結果に対して1つの解決可能な識別子**)が、`roleos verify-citations`によって読み込まれ、検証される。lintチェックに合格したディスパッチは、問題なく引き継がれる。形式が正しくない参考文献は、実行時に解析不能としてフラグが立てられる。この契約内容は、`study-swarm lint`によってローカルでチェックされるため、ステップ3とステップ4では、参考文献の定義について合意が得られる。
|
|
63
67
|
|
|
64
68
|
## CLI(コマンドラインインターフェース)
|
|
65
69
|
|
|
@@ -67,13 +71,13 @@
|
|
|
67
71
|
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
| コマンド |
|
|
74
|
+
| コマンド | その機能 |
|
|
71
75
|
|---|---|
|
|
72
|
-
| `study-swarm protocol` | 完全なプロトコル(5
|
|
73
|
-
| `study-swarm new <slug>` | 5つのステップで構成されたスケルトンを含む`<slug>.dispatch.md
|
|
74
|
-
| `study-swarm lint [--json] <path…>` |
|
|
76
|
+
| `study-swarm protocol` | 完全なプロトコル(5つのステップ、停止テーブル、ソースの標準)を表示する。 |
|
|
77
|
+
| `study-swarm new <slug>` | 5つのステップで構成されたスケルトンを含む`<slug>.dispatch.md`ファイルを生成し、内容を埋めることができるようにする。 |
|
|
78
|
+
| `study-swarm lint [--json] <path…>` | ディスパッチの*研究における根拠*をソース標準と比較してチェックする。すべての結果には、著者、年、および解決可能な識別子(arXiv / DOI / URL)が必要であり、「研究によると…」という曖昧な表現は拒否される。違反があった場合、終了コード1で処理が停止するため、CI(継続的インテグレーション)のゲートとして機能する。<path>はファイル、ディレクトリ(`*.dispatch.md`ファイルを再帰的にlintチェック)、またはstdinを表す`-`とすることができる。`--json`オプションを使用すると、機械可読形式のレポートが出力される。 |
|
|
75
79
|
|
|
76
|
-
`lint
|
|
80
|
+
`lint`は決定的な処理であり、モデル呼び出しは行わないため、CI環境で安全に使用できる。ローカルで**ステップ3のソース標準**を適用する。モデルベースの**ステップ4**の検証は、[`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → prismに委ねられる。
|
|
77
81
|
|
|
78
82
|
典型的なループ:
|
|
79
83
|
|
|
@@ -84,11 +88,11 @@ study-swarm lint my-decision.dispatch.md # enforce the sourcing standard
|
|
|
84
88
|
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
89
|
```
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
2つの完全で、lintチェックに合格した動作するディスパッチが参照として提供される:[`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md)(プロトコルの中心的な決定であり、簡潔)と[`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md)(完全なv1.1の設計パスであり、27件の参考文献があり、そのすべてが外部で検証されている)。
|
|
88
92
|
|
|
89
|
-
### CI
|
|
93
|
+
### CI環境でのゲートとして使用する
|
|
90
94
|
|
|
91
|
-
`lint
|
|
95
|
+
`lint`は、ファイル、ディレクトリ(`*.dispatch.md`ファイルを再帰的にlintチェック)、またはstdinを表す`-`を受け取り、`--json`オプションを使用すると、機械可読形式のレポートが出力される。これをリポジトリに組み込むことで、各PR(プルリクエスト)でディスパッチのソースを検証することができる(コピー&ペーストできるサンプルは、[`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml)にも含まれている)。
|
|
92
96
|
|
|
93
97
|
```yaml
|
|
94
98
|
# .github/workflows/dispatches.yml
|
|
@@ -110,19 +114,19 @@ jobs:
|
|
|
110
114
|
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
##
|
|
117
|
+
## その仕組みを簡潔に説明する
|
|
114
118
|
|
|
115
|
-
|
|
119
|
+
**最新性** — この分野は急速に進展しているため、特定の研究と年を指定することで、設計が18か月遅れて公開されるのを防ぐことができる。**機能性** — 証拠は、何が*成功するか*だけでなく、何が*失敗する*かを示す(説明は、*間違った*AIへの過度の依存を高める可能性がある—Bansal et al. 2021、[arXiv:2006.14779](https://arxiv.org/abs/2006.14779))。**安全性** — 検証ツールによって保護された範囲は、証拠が裏付けるアーキテクチャであり、プロトコルはその出力を強制する。ソースの明示は学術的な儀式ではなく、証拠の追跡である。
|
|
116
120
|
|
|
117
121
|
## セキュリティ
|
|
118
122
|
|
|
119
|
-
`study-swarm`は、**軽量で依存関係のないCLI(コマンドラインインターフェース)** (`study-swarm`)
|
|
123
|
+
`study-swarm`は、**軽量で依存関係のないCLI(コマンドラインインターフェース)** (`study-swarm`)と、その方法論を組み合わせて提供する。**ネットワークまたはモデルへの呼び出しは行わず**、**テレメトリも収集しない**。ソースコードには秘密や認証情報は含まれていない。実行時には、`lint`に渡されたファイルのみを読み取り、現在のディレクトリに単一の`<slug>.dispatch.md`ファイルを書き込む(上書きはせず、作業ディレクトリ外には書き込まない)。方法論で説明されているモデルベースの検証(ステップ4)は、このパッケージではなく、関連ツールによって実行される。詳細は[SECURITY.md](SECURITY.md)を参照のこと。
|
|
120
124
|
|
|
121
125
|
## ステータス
|
|
122
126
|
|
|
123
|
-
|
|
127
|
+
動作するプロトコルであり、その独自のメカニズムによって外部で検証されている。異なるモデルファミリーがその参考文献をチェックしている(上記の証明を参照)。**v1.1**では、最初のリリースでは言及されていなかった点を強化している。具体的には、分解/三項の根拠、生成時の根拠、レンズを組み合わせるためのオラクル制御カスケード、および校正された保留である。これらの要素はすべて、検証済みのv1.1ディスパッチに基づいて根拠が示されている。このリポジトリは公開参照であり、[PROTOCOL.md](PROTOCOL.md)は実行可能な形式である。これは、[dogfood-lab](https://github.com/dogfood-lab)ファミリーの一部であり、AI時代における構築のための方法と事例を紹介するものである。
|
|
124
128
|
|
|
125
|
-
MIT
|
|
129
|
+
MITライセンスで提供される。
|
|
126
130
|
|
|
127
131
|
---
|
|
128
132
|
|
package/README.md
CHANGED
|
@@ -52,6 +52,10 @@ Neither family caught both traps alone — but their **union caught 2/2**. A sin
|
|
|
52
52
|
|
|
53
53
|
That single run is the thesis in miniature: **decorrelated lenses + a retrieval oracle for existence beat any one smart judge.**
|
|
54
54
|
|
|
55
|
+
### …and again, to design v1.1
|
|
56
|
+
|
|
57
|
+
The v1.1 refinements were chosen the same way — by running study-swarm **on study-swarm**. Four questions the first release left to "I think" (how to *mechanize* the groundedness check, whether to ground at generation time, how to *combine* the lenses, whether to abstain on calibrated uncertainty) went to parallel research agents, and all **27 resulting citations** were gated through Step 4 before any informed the design. The retrieval oracle confirmed **27/27 exist** — including six 2025–2026 papers a parametric model would have false-flagged as fabricated — and corrected five attributions a model could not, among them a real first-author misattribution the research agent flagged on itself. Run reasoning-stripped, the groundedness lenses even reproduced their own documented failure modes on our dispatch: one confidently mislabelled a real paper, and their *disagreement* triggered escalation — exactly as the cascade prescribes. The worked dispatch ships as [`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md); the refinements it grounded — decomposed/ternary groundedness, generation-time grounding, the oracle-gated cascade, and calibrated abstention — are in [PROTOCOL.md](PROTOCOL.md).
|
|
58
|
+
|
|
55
59
|
## How it's wired
|
|
56
60
|
|
|
57
61
|
You can run the protocol by hand — any different-family model plus resolving the arXiv/DOI yourself satisfies Step 4. Two sibling tools make it one command:
|
|
@@ -84,7 +88,7 @@ study-swarm lint my-decision.dispatch.md # enforce the sourcing standard
|
|
|
84
88
|
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
89
|
```
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
Two complete, lint-clean worked dispatches ship as references: [`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md) (the protocol's central decision, compact) and [`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md) (the full v1.1 design pass — 27 citations, every one externally verified).
|
|
88
92
|
|
|
89
93
|
### Gate it in CI
|
|
90
94
|
|
|
@@ -120,7 +124,7 @@ jobs:
|
|
|
120
124
|
|
|
121
125
|
## Status
|
|
122
126
|
|
|
123
|
-
A working protocol, externally verified by its own machinery — a different model family checks its citations (see the proof above). This repo is the public reference; [PROTOCOL.md](PROTOCOL.md) is the executable shape. Part of the [dogfood-lab](https://github.com/dogfood-lab) family — methods and showcases for building in the AI era.
|
|
127
|
+
A working protocol, externally verified by its own machinery — a different model family checks its citations (see the proof above). **v1.1** sharpens the verifier where the first release was silent: decomposed/ternary groundedness, generation-time grounding, an oracle-gated cascade for combining lenses, and calibrated abstention — each grounded in the verified v1.1 dispatch. This repo is the public reference; [PROTOCOL.md](PROTOCOL.md) is the executable shape. Part of the [dogfood-lab](https://github.com/dogfood-lab) family — methods and showcases for building in the AI era.
|
|
124
128
|
|
|
125
129
|
MIT licensed.
|
|
126
130
|
|
package/README.pt-BR.md
CHANGED
|
@@ -13,53 +13,57 @@
|
|
|
13
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
**Baseie as decisões de
|
|
16
|
+
**Baseie as decisões de projeto em pesquisas citadas — e, em seguida, verifique as citações com um *modelo diferente* antes que qualquer coisa se torne parte do cânone.**
|
|
17
17
|
|
|
18
|
-
`study-swarm` é um protocolo, não uma ferramenta.
|
|
18
|
+
`study-swarm` é um protocolo, não uma ferramenta. Ao tomar uma decisão de projeto importante com um LLM — uma nova camada de produto, uma escolha arquitetural, uma decisão sobre "se devemos confiar no modelo aqui" — improvisar a partir de princípios básicos resulta em projetos desatualizados e citar artigos de memória leva a projetos baseados em fontes que não existem ou que não dizem o que você pensa. O `study-swarm` substitui ambos: ele envia agentes de pesquisa paralelos, exige descobertas específicas citadas e valida cada citação por meio de um **verificador externo de uma família de modelos diferente** antes que ela influencie o projeto.
|
|
19
19
|
|
|
20
|
-
Ele aplica
|
|
20
|
+
Ele aplica sua própria abordagem. O protocolo prescreve "envelopes" protegidos por verificadores para os sistemas que ele ajuda a projetar — portanto, ele executa um deles em si mesmo. **Nenhum modelo avalia seu próprio trabalho, incluindo o que está executando o protocolo.**
|
|
21
21
|
|
|
22
|
-
## O protocolo em cinco
|
|
22
|
+
## O protocolo em cinco etapas:
|
|
23
23
|
|
|
24
|
-
1. **Identifique** 3
|
|
25
|
-
2. **
|
|
26
|
-
3. **Sintetize** as descobertas em uma seção de *
|
|
27
|
-
4. **Verifique externamente** — uma *família de modelos diferente*, sem raciocínio, verifica cada citação em duas etapas: um **oráculo de recuperação** confirma que o artigo existe (nunca a memória do modelo)
|
|
28
|
-
5. **Conecte** cada escolha
|
|
24
|
+
1. **Identifique** 3 a 5 questões de projeto cruciais, nas quais evidências empíricas mudariam a resposta.
|
|
25
|
+
2. **Envie** um agente de pesquisa por questão, em paralelo. Cada um deve retornar títulos de artigos + autores + anos + URLs + uma descoberta em uma frase — especificidade em vez de amplitude ("6 a 8 descobertas bem fundamentadas superam 20 observações vagas").
|
|
26
|
+
3. **Sintetize** as descobertas em uma seção de *fundamentação da pesquisa*: `N. **<descoberta>.** <Autores> <ano> (<arXiv/DOI>). <implicação para o projeto>.`
|
|
27
|
+
4. **Verifique externamente** — uma *família de modelos diferente*, sem raciocínio, verifica cada citação em duas etapas: um **oráculo de recuperação** confirma que o artigo existe (nunca a memória do modelo) e, em seguida, uma lente de **validação** confirma que a descoberta corresponde à fonte. **Interrompa** se for fabricada/atribuída incorretamente; **interrompa e alerte** se o verificador ou o oráculo de recuperação não estiverem disponíveis (nunca interprete a ausência como "citações válidas").
|
|
28
|
+
5. **Conecte** cada escolha arquitetural a uma descoberta por meio de um número. Citações sem implicação para o projeto são ruído.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Os detalhes completos e executáveis — a tabela de interrupção, o padrão de referência e a regra do conjunto — estão em **[PROTOCOL.md](PROTOCOL.md)**.
|
|
31
31
|
|
|
32
|
-
## Por que uma família
|
|
32
|
+
## Por que uma *família diferente*, sem raciocínio?
|
|
33
33
|
|
|
34
34
|
Porque os modos de falha são documentados, não hipotéticos:
|
|
35
35
|
|
|
36
|
-
- **Os LLMs não conseguem verificar de forma confiável
|
|
37
|
-
- **Juízes da mesma família
|
|
38
|
-
- **
|
|
39
|
-
- **Oculte o raciocínio do gerador.** Khalifa et al. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "Gaming the Judge") —
|
|
40
|
-
- **
|
|
36
|
+
- **Os LLMs não conseguem verificar de forma confiável sua própria saída.** Huang et al. 2023 ([arXiv:2310.01798](https://arxiv.org/abs/2310.01798)); Kambhampati et al. 2024 ([arXiv:2402.01817](https://arxiv.org/abs/2402.01817), LLM-Modulo); Stechly et al. 2024 ([arXiv:2402.08115](https://arxiv.org/abs/2402.08115)) — o verificador externo traz os benefícios; o conteúdo de autocrítica é inerte.
|
|
37
|
+
- **Juízes da mesma família se auto favorecem.** Panickssery, Bowman & Feng 2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076)) — o autorreconhecimento está correlacionado *linearmente* com a autopreferência, portanto, o bloqueio parcial não ajuda. Verga et al. 2024 ([arXiv:2404.18796](https://arxiv.org/abs/2404.18796), PoLL) — um painel de famílias distintas é menos tendencioso, com um custo cerca de 7 vezes menor.
|
|
38
|
+
- **As citações são onde os LLMs mentem.** Walters & Wilder 2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5)) — 55% das citações do GPT-3.5 / 18% do GPT-4 são fabricadas. Onweller et al. 2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635)) — os links resolvem >94% das vezes, mas apenas 39–77% do conteúdo citado realmente sustentam a afirmação. Portanto, a existência deve ser verificada por meio de **recuperação, não de recordação**.
|
|
39
|
+
- **Oculte o raciocínio do gerador.** Khalifa et al. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "Gaming the Judge") — a manipulação da cadeia de pensamento sozinha aumenta os falsos positivos de um juiz em até 90%, com as ações mantidas fixas. Turpin et al. 2023 ([arXiv:2305.04388](https://arxiv.org/abs/2305.04388)) — a cadeia de pensamento é uma racionalização *a posteriori*. O verificador vê apenas a afirmação da citação, nunca o "por que eu incluí isso".
|
|
40
|
+
- **A diversidade supera a quantidade.** Rajan 2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708)) — quatro verificadores com correlação de pares ρ ∈ [0,05, 0,25] superam qualquer um deles por meio da cobertura submodular. Kim et al. 2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962)) — os erros do LLM são *correlacionados*, portanto, a variável crucial é a diversidade das lentes, não a quantidade bruta.
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## Ele realmente funciona? (prova)
|
|
43
43
|
|
|
44
|
-
Como teste, o protocolo foi executado
|
|
44
|
+
Como teste, o protocolo foi executado em suas próprias citações. Duas famílias decorrelacionadas e diferentes do Claude — **Mistral** (`mistral-small:24b`) e **IBM Granite** (`granite4.1:30b`) — verificaram um conjunto de citações, sem raciocínio, com duas armadilhas ocultas:
|
|
45
45
|
|
|
46
|
-
| Armadilha plantada | Mistral | IBM Granite | Verdade
|
|
46
|
+
| Armadilha plantada | Mistral | IBM Granite | Verdade factual |
|
|
47
47
|
|---|---|---|---|
|
|
48
|
-
|
|
|
49
|
-
| um artigo fabricado "98% dos erros removidos,
|
|
48
|
+
| O raciocínio da cadeia de pensamento foi atribuído a "Nakamura & Olsen" | não detectada | **detectada** (atribuição incorreta → na verdade, Wei et al. 2022, arXiv:2201.11903) | atribuída incorretamente |
|
|
49
|
+
| um artigo fabricado com a afirmação de que "98% dos erros foram removidos, nenhum oráculo é necessário" | **caught** (fabricated) | **caught** (fabricated) | fabricado |
|
|
50
50
|
|
|
51
|
-
Nenhuma das famílias
|
|
51
|
+
Nenhuma das famílias detectou as duas armadilhas sozinha — mas sua **união detectou 2/2**. Um único juiz teria aceitado a atribuição incorreta. Separadamente, o oráculo de recuperação detectou duas *atribuições incorretas reais* em nossos próprios documentos de projeto (artigos citados sob o autor principal errado) que nenhum LLM paramétrico poderia ter sinalizado — e ele confirmou corretamente artigos genuínos de 2026 que ambos os LLMs marcaram falsamente como fabricados, simplesmente porque os artigos são posteriores ao seu treinamento. Esse último ponto é a razão pela qual a verificação da existência na etapa 4 **deve** ser um oráculo de recuperação, nunca um LLM.
|
|
52
52
|
|
|
53
|
-
Essa única execução é a tese em miniatura: **lentes decorrelacionadas + um oráculo de recuperação para existência superam qualquer juiz inteligente.**
|
|
53
|
+
Essa única execução é a tese em miniatura: **lentes decorrelacionadas + um oráculo de recuperação para a existência superam qualquer juiz inteligente.**
|
|
54
|
+
|
|
55
|
+
### …e novamente, para projetar a v1.1
|
|
56
|
+
|
|
57
|
+
As melhorias da versão 1.1 foram escolhidas da mesma forma – executando o `study-swarm` no próprio `study-swarm`. Quatro questões que a primeira versão deixou em aberto (“Acho que…” – como *mecanizar* a verificação da fundamentação, se a fundamentação deve ser feita no momento da geração, como *combinar* as lentes, se deve abster-se na incerteza calibrada) foram encaminhadas para agentes de pesquisa paralelos, e todas as **27 citações resultantes** foram validadas na Etapa 4 antes que qualquer uma delas influenciasse o projeto. O oráculo de recuperação confirmou que **27/27 existem** – incluindo seis artigos de 2025–2026 que um modelo paramétrico teria classificado erroneamente como fabricados – e corrigiu cinco atribuições que um modelo não conseguiria, entre elas uma real má atribuição do primeiro autor que o agente de pesquisa identificou em si mesmo. Executando sem raciocínio, as lentes de fundamentação até reproduziram seus próprios modos de falha documentados em nossa análise: uma delas rotulou incorretamente um artigo real com confiança, e sua *discordância* desencadeou a escalada – exatamente como o processo estabelece. A análise completa está disponível em [`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md); as melhorias que foram implementadas – fundamentação decomposta/ternária, fundamentação no momento da geração, a cascata validada pelo oráculo e a abstinência calibrada – estão em [PROTOCOL.md](PROTOCOL.md).
|
|
54
58
|
|
|
55
59
|
## Como funciona
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
Você pode executar o protocolo manualmente – qualquer modelo de família diferente mais a resolução do arXiv/DOI por conta própria satisfaz a Etapa 4. Duas ferramentas complementares tornam isso um único comando:
|
|
58
62
|
|
|
59
|
-
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)**
|
|
60
|
-
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)**
|
|
63
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** – o verificador em tempo de execução: roteamento entre famílias diferentes, sem raciocínio, adjudicação multi-lente, um limite determinístico para a existência da recuperação (arXiv → Crossref) e recibos assinados.
|
|
64
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** – fornece `roleos verify-citations <dispatch>`, o executor que extrai as citações de uma análise e as valida por meio do prism.
|
|
61
65
|
|
|
62
|
-
A transferência é o próprio formato
|
|
66
|
+
A transferência é o próprio formato da análise: um achado escrito como `N. **achado.** Autores ano (arXiv|DOI). implicação.` – com **um identificador resolvível por achado** – é exatamente o que `roleos verify-citations` extrai e valida. Uma análise “limpa” passa facilmente; uma citação malformada é o que o executor sinaliza como não analisada. Esse contrato é o que `study-swarm lint` verifica localmente, para que as Etapas 3 e 4 concordem sobre o que é uma citação.
|
|
63
67
|
|
|
64
68
|
## CLI
|
|
65
69
|
|
|
@@ -67,13 +71,13 @@ A transferência é o próprio formato do despacho: uma descoberta escrita como
|
|
|
67
71
|
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
| Comando | O que faz |
|
|
74
|
+
| Comando | O que ele faz |
|
|
71
75
|
|---|---|
|
|
72
|
-
| `study-swarm protocol` | Imprime o protocolo completo
|
|
73
|
-
| `study-swarm new <slug>` |
|
|
74
|
-
| `study-swarm lint [--json] <path…>` | Verifica a *
|
|
76
|
+
| `study-swarm protocol` | Imprime o protocolo completo – as cinco etapas, a tabela de interrupção e o padrão de referência. |
|
|
77
|
+
| `study-swarm new <slug>` | Cria um arquivo `<slug>.dispatch.md` com o esqueleto das cinco etapas para preencher. |
|
|
78
|
+
| `study-swarm lint [--json] <path…>` | Verifica a *fundamentação da pesquisa* de uma análise em relação ao padrão de referência – cada achado precisa de um autor, um ano e um identificador resolvível (arXiv / DOI / URL); “estudos mostram…” sem embasamento é rejeitado. Sai com `1` em caso de violações, para que valide o CI. Um `<path>` pode ser um arquivo, um diretório (analisado recursivamente para `*.dispatch.md`) ou `-` para stdin; `--json` emite um relatório legível por máquina. |
|
|
75
79
|
|
|
76
|
-
`lint` é determinístico
|
|
80
|
+
`lint` é determinístico – sem chamadas de modelo – portanto, é seguro no CI. Ele aplica o **padrão de referência da Etapa 3** localmente; a verificação baseada em modelo da **Etapa 4** ainda depende de [`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → prism.
|
|
77
81
|
|
|
78
82
|
Um ciclo típico:
|
|
79
83
|
|
|
@@ -84,11 +88,11 @@ study-swarm lint my-decision.dispatch.md # enforce the sourcing standard
|
|
|
84
88
|
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
89
|
```
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
Duas análises completas e “limpas” são fornecidas como referência: [`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md) (a decisão central do protocolo, concisa) e [`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md) (o projeto completo da v1.1 – 27 citações, todas validadas externamente).
|
|
88
92
|
|
|
89
|
-
###
|
|
93
|
+
### Valide no CI
|
|
90
94
|
|
|
91
|
-
`lint`
|
|
95
|
+
`lint` recebe um arquivo, um diretório (analisado recursivamente para `*.dispatch.md`) ou `-` para stdin, e `--json` emite um relatório legível por máquina. Adicione isso ao seu repositório para validar a referência de cada análise em cada PR (uma amostra de cópia e colagem também está em [`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml)):
|
|
92
96
|
|
|
93
97
|
```yaml
|
|
94
98
|
# .github/workflows/dispatches.yml
|
|
@@ -110,19 +114,19 @@ jobs:
|
|
|
110
114
|
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
## Por que funciona, em
|
|
117
|
+
## Por que funciona, em poucas palavras
|
|
114
118
|
|
|
115
|
-
**Atual**
|
|
119
|
+
**Atual** – o campo evolui rapidamente; exigir estudos específicos com anos evita que os projetos sejam lançados com 18 meses de atraso. **Funcional** – a evidência mostra o que *falha*, não apenas o que funciona (explicações podem aumentar a dependência excessiva em IA *incorreta* – Bansal et al. 2021, [arXiv:2006.14779](https://arxiv.org/abs/2006.14779)). **Seguro** – o envelope protegido pelo verificador é a arquitetura que a evidência suporta, e o protocolo a aplica em sua própria saída. A referência não é um exercício acadêmico; é o rastro da evidência.
|
|
116
120
|
|
|
117
121
|
## Segurança
|
|
118
122
|
|
|
119
|
-
`study-swarm`
|
|
123
|
+
`study-swarm` fornece uma **CLI fina e com poucas dependências** (`study-swarm`) junto com a metodologia. Ele não faz **chamadas de rede ou modelo** e não coleta **telemetria**; não há segredos ou credenciais no código-fonte. Em tempo de execução, ele lê apenas o arquivo que você passa para `lint` e grava um único arquivo `<slug>.dispatch.md` no diretório atual para `new` (recusando-se a sobrescrever e nunca fora do diretório de trabalho). A verificação baseada em modelo descrita na metodologia (Etapa 4) é executada pelas ferramentas complementares, não por este pacote. Consulte [SECURITY.md](SECURITY.md).
|
|
120
124
|
|
|
121
125
|
## Status
|
|
122
126
|
|
|
123
|
-
Um protocolo funcional,
|
|
127
|
+
Um protocolo funcional, validado externamente por sua própria ferramenta – uma família de modelos diferente verifica suas citações (veja a prova acima). A **v1.1** aprimora o verificador onde a primeira versão estava em silêncio: fundamentação decomposta/ternária, fundamentação no momento da geração, uma cascata validada pelo oráculo para combinar lentes e abstinência calibrada – cada um com base na análise v1.1 validada. Este repositório é a referência pública; [PROTOCOL.md](PROTOCOL.md) é a forma executável. Faz parte da família [dogfood-lab](https://github.com/dogfood-lab) – métodos e exemplos para construir na era da IA.
|
|
124
128
|
|
|
125
|
-
Licenciado
|
|
129
|
+
Licenciado sob MIT.
|
|
126
130
|
|
|
127
131
|
---
|
|
128
132
|
|
package/README.zh.md
CHANGED
|
@@ -13,69 +13,73 @@
|
|
|
13
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
首先,将设计决策建立在引用的研究基础上——然后,在使用这些研究成果之前,请使用*不同的*模型系列来验证引用的准确性。
|
|
17
17
|
|
|
18
|
-
`study-swarm
|
|
18
|
+
`study-swarm` 是一种协议,而不是一种工具。当您使用大型语言模型(LLM)做出重大设计决策时——例如,创建一个新的产品层、选择一种架构,或者决定“我们是否应该信任该模型”——如果只是凭经验进行即兴创作,那么最终的设计方案就会显得陈旧;如果只是凭记忆引用论文,那么设计方案就会依赖于不存在的来源或与您认为的内容不符的来源。`study-swarm` 可以取代这两种做法:它会同时启动多个研究代理,要求提供具体的引文结果,并且在将任何引文用于指导设计之前,都会通过**来自不同模型系列的外部验证器**进行验证。
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
它采取了自我调节的方式。该协议规定,对于其参与设计的系统,应使用经过验证者保护的信封——因此,它也将其应用于自身。**没有任何模型会自己批改作业,包括运行该协议的模型。**
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## 五步流程
|
|
23
23
|
|
|
24
|
-
1. **确定** 3
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
27
|
-
4.
|
|
28
|
-
5.
|
|
24
|
+
1. **确定** 3 到 5 个关键的结构设计问题,这些问题的答案可以通过实证证据来改变。
|
|
25
|
+
2. **指派** 一名研究人员负责每个问题,并让他们并行工作。每位研究人员必须提供论文标题、作者、发表年份、网址以及一个简短的结论(强调具体性而非广泛性,“6 到 8 个有充分依据的结论胜过 20 个含糊不清的描述”)。
|
|
26
|
+
3. **综合** 这些结论,形成一个“*研究基础*”部分:`N. **<结论>.** <作者> <年份> (<arXiv/DOI>)。 <设计启示>。`
|
|
27
|
+
4. **进行外部验证**——使用一种*不同的模型系列*,去除推理能力后,分两个阶段检查所有引用文献:首先,一个**检索预言机**确认论文是否存在(绝不能依赖模型的记忆),然后,一个**真实性评估工具**确认结论是否与来源一致。如果发现捏造或错误归因的引用,则立即**停止**;如果验证者或检索预言机不可用,则**停止并升级处理**(切勿将无法找到的情况解读为“引用没有问题”)。
|
|
28
|
+
5. **将**每个结构设计选择与相应的结论联系起来,通过编号进行关联。如果没有明确的设计启示,那么这些引用就是噪音。
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
完整的可执行细节——包括停止表、源标准和集成规则——都可以在**[PROTOCOL.md]**文件中找到。
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## 为什么会是另外一个家庭?而且,请不要再进行任何推测
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
因为这里记录的是实际发生的故障模式,而不是假设的故障模式:
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
- **隐藏生成器的推理过程。** Khalifa等人,2026
|
|
40
|
-
- **多样性胜过数量。** Rajan,2025
|
|
36
|
+
- **大型语言模型无法可靠地验证自身输出。** Huang 等人,2023 ([arXiv:2310.01798](https://arxiv.org/abs/2310.01798));Kambhampati 等人,2024 ([arXiv:2402.01817](https://arxiv.org/abs/2402.01817),LLM-Modulo);Stechly 等人,2024 ([arXiv:2402.08115](https://arxiv.org/abs/2402.08115))——外部验证者承担了主要的改进作用;自我评价的内容是静态的。
|
|
37
|
+
- **同一系列的评估者更倾向于选择自身的结果。** Panickssery、Bowman 和 Feng,2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076))——自我识别与自我偏好呈*线性*相关,因此部分隐藏信息并不能起到帮助作用。Verga 等人,2024 ([arXiv:2404.18796](https://arxiv.org/abs/2404.18796),PoLL)——由不同系列的评估者组成的团队的偏见更小,且成本约为原来的 1/7。
|
|
38
|
+
- **大型语言模型最容易在引用时造假。** Walters 和 Wilder,2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5))——GPT-3.5 中 55% 的引用,GPT-4 中 18% 的引用是捏造的。Onweller 等人,2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635))——链接在超过 94% 的情况下可以找到,但只有 39-77% 的引用内容实际上支持了论点。因此,必须通过**检索而非回忆**来验证其存在性。
|
|
39
|
+
- **隐藏生成器的推理过程。** Khalifa 等人,2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691),“欺骗评估者”)——仅通过操纵思维链,就可以使评估者的假阳性率提高高达 90%,而操作条件保持不变。Turpin 等人,2023 ([arXiv:2305.04388](https://arxiv.org/abs/2305.04388))——思维链是一种事后合理化。验证者只能看到原始的引用声明,而无法了解“我为什么包含这个”。
|
|
40
|
+
- **多样性胜过数量。** Rajan,2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708))——四个评估者之间的成对相关性 ρ ∈ [0.05, 0.25],通过次模覆盖,其效果优于任何单个评估者。Kim 等人,2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962))——大型语言模型的错误是*相关的*,因此,关键变量是视角的多样性,而不是单纯的数量。
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## 它真的有效吗?(请提供证据)
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
为了进行测试,我们将该协议应用于其自身的引用文献。我们选择了两个与 Claude 模型无关的模型系列——**Mistral**(`mistral-small:24b`)和 **IBM Granite**(`granite4.1:30b`),并对它们进行了测试。测试内容包括:检查一组引用文献,去除推理过程中的干扰因素,并在其中设置了两个隐藏的陷阱。
|
|
45
45
|
|
|
46
|
-
|
|
|
46
|
+
| 设下陷阱。 | 米斯特拉尔 | IBM 花岗岩(IBM Granite) | 真实数据;基准数据。 |
|
|
47
47
|
|---|---|---|---|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
48
|
+
| “中村和奥尔森”提出的基于思维链的提示方法。 | 错过;想念。 | **已更正**(原错误归因,现改为:魏等人,2022年,arXiv:2201.11903) | 错误归因;错误地认为……是……所为。 |
|
|
49
|
+
| 一篇捏造的论文,声称“已消除 98% 的错误,无需使用 Oracle”。 | **caught** (fabricated) | **caught** (fabricated) | 捏造的;伪造的。 |
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
两个家庭都未能单独成功设置这两个陷阱——但他们合作后,两个陷阱都成功触发了。如果由一位法官来判断,可能会出现误判。此外,检索系统在我们的设计文档中发现了两个真实的错误归因(即引用时将论文归于错误的作者),而任何参数化的大型语言模型都无法识别这些错误——并且它正确地确认了真正的 2026 年发表的论文,这两篇论文之前被两个大型语言模型错误地标记为虚构,仅仅是因为这些论文的发表时间晚于它们接受训练的时间。最后这一点是第四步存在检查必须采用检索系统而非大型语言模型的根本原因。
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
那一次实验结果,可以被视为一个微缩版的论点:**通过使用不相关的镜头,并结合一种用于验证存在的检索机制,其效果将优于任何单一的智能判断系统。**
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
### ……而且,我们还要重新设计 1.1 版本
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
v1.1版本的改进采用相同的方式进行——通过在“study-swarm”上运行“study-swarm”。第一个版本提出的四个问题(如何*实现*扎实性检查的自动化,是否在生成时进行扎实性验证,如何*组合*不同的视角,以及是否对经过校准的不确定性进行弃权)被分配给并行的研究代理,所有**27条结果引用**都通过第4步进行筛选,然后才用于指导设计。检索预言机确认**27/27条引用存在**——包括六篇2025-2026年的论文,如果使用参数模型,这些论文会被错误地标记为捏造的——并且更正了五处归因错误,而这是模型无法做到的,其中一处是研究代理自己发现的一处真实的作者署名错误。在不进行推理的情况下运行,扎实性视角甚至可以重现其自身记录的失败模式:自信地将一篇真实论文错误地标记为虚假论文,并且它们的*分歧*触发了升级——这与级联机制完全一致。经过验证的工作流程以[`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md)的形式提供;它所确定的改进(分解/三元扎实性、生成时扎实性、由预言机控制的级联机制以及经过校准的弃权)都包含在[PROTOCOL.md](PROTOCOL.md)中。
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** ——提供 `roleos verify-citations <dispatch>`,该工具提取一个“dispatch”中的引用并将其传递给 prism 进行验证。
|
|
59
|
+
## 其工作原理
|
|
61
60
|
|
|
62
|
-
|
|
61
|
+
您可以手动运行该协议——任何不同类型的模型,再加上您自己解析arXiv/DOI,都可以满足第4步的要求。两个辅助工具使其只需一个命令即可完成:
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)**——运行时验证器:不同类型的模型路由、无推理、多视角仲裁、确定性的检索存在性阈值(arXiv → Crossref)以及带签名的收据。
|
|
64
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)**——提供`roleos verify-citations <dispatch>`,该工具提取工作流程中的引用并将其通过prism进行筛选。
|
|
65
|
+
|
|
66
|
+
传递过程就是工作流程的格式:将研究结果写成`N. **finding.** Authors year (arXiv|DOI). implication.`的形式——**每条研究结果都包含一个可解析的标识符**——这正是`roleos verify-citations`提取和筛选的内容。如果工作流程符合“lint”规范,则可以顺利传递;如果引用格式不正确,运行器会将其标记为未解析。`study-swarm lint`会在本地检查这一点,因此第3步和第4步对引用的定义是一致的。
|
|
67
|
+
|
|
68
|
+
## 命令行界面(CLI)
|
|
65
69
|
|
|
66
70
|
```bash
|
|
67
71
|
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
| 命令 |
|
|
74
|
+
| 命令 | 其作用 |
|
|
71
75
|
|---|---|
|
|
72
|
-
| `study-swarm protocol` |
|
|
73
|
-
| `study-swarm new <slug>` |
|
|
74
|
-
| `study-swarm lint [--json] <path…>` |
|
|
76
|
+
| `study-swarm protocol` | 打印完整的协议——五个步骤、停止表以及来源标准。 |
|
|
77
|
+
| `study-swarm new <slug>` | 创建一个`<slug>.dispatch.md`文件,其中包含五步流程的框架,以便进行填充。 |
|
|
78
|
+
| `study-swarm lint [--json] <path…>` | 根据来源标准检查工作流程的*研究扎实性*——每条研究结果都需要作者、年份和一个可解析的标识符(arXiv / DOI / URL);“研究表明……”这种含糊其辞的方式将被拒绝。如果存在违规行为,则退出代码为`1`,以便在CI中进行筛选。`<path>`可以是文件、目录(递归地检查所有`.dispatch.md`文件),或者`-`表示标准输入;`--json`会输出机器可读的报告。 |
|
|
75
79
|
|
|
76
|
-
`lint
|
|
80
|
+
`lint`是确定性的——不调用任何模型——因此可以在CI中安全使用。它在本地强制执行**第3步的来源标准**;基于模型的**第4步**验证仍然依赖于[`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → prism。
|
|
77
81
|
|
|
78
|
-
|
|
82
|
+
一个典型的循环:
|
|
79
83
|
|
|
80
84
|
```bash
|
|
81
85
|
study-swarm new my-decision # creates my-decision.dispatch.md
|
|
@@ -84,11 +88,11 @@ study-swarm lint my-decision.dispatch.md # enforce the sourcing standard
|
|
|
84
88
|
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
89
|
```
|
|
86
90
|
|
|
87
|
-
|
|
91
|
+
两个完整的、符合“lint”规范的工作流程示例以供参考:[`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md)(协议的核心决策,简洁)和[`examples/study-swarm-v1_1.dispatch.md`](examples/study-swarm-v1_1.dispatch.md)(完整的v1.1设计流程——27条引用,每一条都经过外部验证)。
|
|
88
92
|
|
|
89
|
-
### 在
|
|
93
|
+
### 在CI中进行筛选
|
|
90
94
|
|
|
91
|
-
`lint
|
|
95
|
+
`lint`接受文件、目录(递归地检查所有`.dispatch.md`文件)或`-`表示标准输入,并且`--json`会输出机器可读的报告。将其添加到您的代码库中,以便对每个PR中的每个工作流程的来源进行筛选(一个复制粘贴示例也位于[`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml)中):
|
|
92
96
|
|
|
93
97
|
```yaml
|
|
94
98
|
# .github/workflows/dispatches.yml
|
|
@@ -110,19 +114,19 @@ jobs:
|
|
|
110
114
|
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
##
|
|
117
|
+
## 用一句话概括其工作原理
|
|
114
118
|
|
|
115
|
-
|
|
119
|
+
**及时性**——该领域发展迅速;要求提供具体的带有年份的研究,可以防止设计落后18个月。**功能性**——证据表明哪些*方法失败*,而不仅仅是哪些有效(解释可能会增加对*错误*人工智能的过度依赖——Bansal等人,2021年,[arXiv:2006.14779](https://arxiv.org/abs/2006.14779))。**安全性**——受验证器保护的范围是证据支持的架构,并且协议对其自身的输出进行强制执行。来源不是学术上的形式主义;它是证据链。
|
|
116
120
|
|
|
117
121
|
## 安全性
|
|
118
122
|
|
|
119
|
-
`study-swarm
|
|
123
|
+
`study-swarm`提供了一个**轻量级、零依赖的CLI**(`study-swarm`),以及该方法论。它**不进行任何网络或模型调用,也不收集任何遥测数据**;源代码中没有秘密或凭据。在运行时,它只会读取您传递给`lint`的文件,并在当前目录中写入一个`<slug>.dispatch.md`文件(拒绝覆盖,并且绝不会超出工作目录)。该方法论描述的基于模型的验证(第4步)由辅助工具执行,而不是由此软件包执行。请参阅[SECURITY.md](SECURITY.md)。
|
|
120
124
|
|
|
121
125
|
## 状态
|
|
122
126
|
|
|
123
|
-
|
|
127
|
+
一个可用的协议,其自身的机制对其进行了外部验证——不同的模型系列检查其引用(参见上面的证明)。**v1.1**改进了验证器,弥补了第一个版本中存在的不足:分解/三元扎实性、生成时扎实性、由预言机控制的级联机制以及经过校准的弃权——每项都基于经过验证的v1.1工作流程。此仓库是公共参考;[PROTOCOL.md](PROTOCOL.md)是可执行的形式。它是[dogfood-lab](https://github.com/dogfood-lab)系列的一部分——用于在人工智能时代构建方法和示例。
|
|
124
128
|
|
|
125
|
-
采用
|
|
129
|
+
采用MIT许可证。
|
|
126
130
|
|
|
127
131
|
---
|
|
128
132
|
|