@dogfood-lab/study-swarm 0.5.0 → 1.0.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 +51 -0
- package/PROTOCOL.md +30 -2
- package/README.es.md +78 -26
- package/README.fr.md +83 -31
- package/README.hi.md +77 -25
- package/README.it.md +81 -29
- package/README.ja.md +82 -30
- package/README.md +54 -3
- package/README.pt-BR.md +84 -32
- package/README.zh.md +82 -30
- package/SECURITY.md +6 -6
- package/bin/study-swarm.mjs +280 -0
- package/examples/study-swarm-ci.yml +28 -0
- package/examples/study-swarm-self.dispatch.md +46 -0
- package/package.json +14 -2
package/README.hi.md
CHANGED
|
@@ -7,68 +7,120 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/@dogfood-lab/study-swarm"><img src="https://img.shields.io/npm/v/@dogfood-lab/study-swarm" alt="npm"></a>
|
|
10
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
|
|
11
12
|
<a href="https://dogfood-lab.github.io/study-swarm/"><img src="https://img.shields.io/badge/handbook-live-purple" alt="Handbook"></a>
|
|
12
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
|
-
**आधारभूत शोध
|
|
16
|
+
**आधारभूत शोध में डिज़ाइन संबंधी निर्णयों को स्थापित करें — फिर किसी भी चीज़ के मानक बनने से पहले एक *अलग* मॉडल परिवार के साथ उद्धरणों की पुष्टि करें।**
|
|
16
17
|
|
|
17
|
-
`study-swarm` एक प्रोटोकॉल है, उपकरण नहीं। जब आप
|
|
18
|
+
`study-swarm` एक प्रोटोकॉल है, उपकरण नहीं। जब आप LLM के साथ कोई महत्वपूर्ण डिज़ाइन निर्णय ले रहे हों—एक नया उत्पाद परत, एक आर्किटेक्चर विकल्प, या "क्या हमें यहां मॉडल पर भरोसा करना चाहिए" —तो बुनियादी सिद्धांतों से तात्कालिक रूप से काम करने से ऐसे डिज़ाइन सामने आते हैं जो पुराने हो चुके हैं, और स्मृति से उद्धरणों का हवाला देने से ऐसे डिज़ाइन सामने आते हैं जो उन स्रोतों पर आधारित होते हैं जो मौजूद नहीं हैं या वे कुछ ऐसा नहीं कहते हैं जैसा आप सोचते हैं। study-swarm दोनों को बदल देता है: समानांतर अनुसंधान एजेंट भेजें, विशिष्ट उद्धृत निष्कर्षों की मांग करें, और किसी भी उद्धरण को डिज़ाइन में शामिल करने से पहले एक **विभिन्न मॉडल परिवार के बाहरी सत्यापनकर्ता** के माध्यम से जांच करें।
|
|
18
19
|
|
|
19
|
-
यह अपनी ही दवा का उपयोग करता है। प्रोटोकॉल उन प्रणालियों के लिए सत्यापनकर्ता-संरक्षित एन्वलप निर्धारित करता है जिन्हें यह डिज़ाइन करने में मदद करता
|
|
20
|
+
यह अपनी ही दवा का उपयोग करता है। प्रोटोकॉल उन प्रणालियों के लिए सत्यापनकर्ता-संरक्षित एन्वलप निर्धारित करता है जिन्हें यह डिज़ाइन करने में मदद करता है—इसलिए यह स्वयं पर भी ऐसा करता है। **कोई भी मॉडल अपने गृहकार्य का मूल्यांकन नहीं करता, जिसमें वह मॉडल भी शामिल है जो प्रोटोकॉल चला रहा है।**
|
|
20
21
|
|
|
21
22
|
## प्रोटोकॉल पाँच चरणों में
|
|
22
23
|
|
|
23
24
|
1. **पहचानें** 3-5 भार-असर वाले डिज़ाइन प्रश्न जहाँ अनुभवजन्य प्रमाण उत्तर को बदल देंगे।
|
|
24
|
-
2. **भेजें** प्रत्येक प्रश्न के लिए एक अनुसंधान एजेंट, समानांतर
|
|
25
|
-
3. **संश्लेषित करें** निष्कर्षों को
|
|
26
|
-
4.
|
|
27
|
-
5. **प्रत्येक वास्तुशिल्प विकल्प को संख्या द्वारा
|
|
25
|
+
2. **भेजें** प्रत्येक प्रश्न के लिए एक अनुसंधान एजेंट, समानांतर रूप से। प्रत्येक को पेपर शीर्षक + लेखक + वर्ष + URL + एक वाक्य निष्कर्ष लौटाना होगा—व्यापकता की तुलना में विशिष्टता ("6-8 अच्छी तरह से संदर्भित निष्कर्ष 20 अस्पष्ट संकेतों से बेहतर हैं")।
|
|
26
|
+
3. **संश्लेषित करें** निष्कर्षों को *अनुसंधान आधार* अनुभाग में: `N. <निष्कर्ष>. <लेखक> <वर्ष> (<arXiv/DOI>). <डिज़ाइन निहितार्थ>।`
|
|
27
|
+
4. **बाह्य रूप से सत्यापित करें**—एक *विभिन्न मॉडल परिवार*, तर्क-मुक्त, दो चरणों में प्रत्येक उद्धरण की जांच करता है: एक **पुनर्प्राप्ति ओरेकल** पुष्टि करता है कि पेपर मौजूद है (कभी भी मॉडल की स्मृति नहीं), फिर एक **आधारितता** लेंस पुष्टि करता है कि निष्कर्ष स्रोत से मेल खाता है। यदि सत्यापनकर्ता या पुनर्प्राप्ति ओरेकल अनुपलब्ध है, तो **बनाए गए/गलत रूप से बताए गए उद्धरणों पर रोक लगाएं; रोकें और आगे बढ़ाएं** (कभी भी अनुपस्थिति को "उद्धरण ठीक हैं" के रूप में न मानें)।
|
|
28
|
+
5. **प्रत्येक वास्तुशिल्प विकल्प को संख्या द्वारा किसी निष्कर्ष से जोड़ें। डिज़ाइन निहितार्थ के बिना उद्धरण शोर हैं।**
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
पूर्ण निष्पादन योग्य विवरण—रोक तालिका, सोर्सिंग मानक, एन्सेम्बल नियम—**[PROTOCOL.md](PROTOCOL.md)** में है।
|
|
30
31
|
|
|
31
32
|
## एक *अलग* परिवार, तर्क-मुक्त क्यों?
|
|
32
33
|
|
|
33
34
|
क्योंकि विफलता के तरीके प्रलेखित हैं, काल्पनिक नहीं:
|
|
34
35
|
|
|
35
|
-
-
|
|
36
|
-
- **समान-परिवार के न्यायाधीश स्वयं को
|
|
37
|
-
- **उद्धरण वे स्थान हैं जहाँ
|
|
38
|
-
- **जनरेटर के तर्क को छिपाएं।** खलीफा एट अल. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "जज को धोखा देना")
|
|
39
|
-
- **विविधता संख्या से बेहतर है।** राजन 2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708))
|
|
36
|
+
- **LLM अपने स्वयं के आउटपुट को विश्वसनीय रूप से सत्यापित नहीं कर सकते।** हुआंग एट अल. 2023 ([arXiv:2310.01798](https://arxiv.org/abs/2310.01798)); कंबाम्पाती एट अल. 2024 ([arXiv:2402.01817](https://arxiv.org/abs/2402.01817), LLM-मॉड्यूलो); स्टेचली एट अल. 2024 ([arXiv:2402.08115](https://arxiv.org/abs/2402.08115))—बाहरी सत्यापनकर्ता लाभ प्रदान करता है; आत्म-आलोचना सामग्री निष्क्रिय है।
|
|
37
|
+
- **समान-परिवार के न्यायाधीश स्वयं को प्राथमिकता देते हैं।** पैनिकसेरी, बोमन और फेंग 2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076))—आत्म-पहचान *रैखिक रूप से* आत्म-वरीयता के साथ सहसंबंधित है, इसलिए आंशिक अंधापन मदद नहीं करता है। वर्गा एट अल. 2024 ([arXiv:2404.18796](https://arxiv.org/abs/2404.18796), PoLL)—अलग-अलग परिवारों में एक पैनल लगभग 7 गुना कम लागत पर कम पक्षपाती है।
|
|
38
|
+
- **उद्धरण वे स्थान हैं जहाँ LLM झूठ बोलते हैं।** वाल्टर्स और वाइल्डर 2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5))—GPT-3.5 के 55% / GPT-4 के 18% उद्धरण बनाए गए हैं। ऑनवेलेर एट अल. 2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635))—लिंक >94% समय तक हल होते हैं, फिर भी केवल 39-77% उद्धृत सामग्री वास्तव में दावे का समर्थन करती है। इसलिए अस्तित्व की जाँच **पुनर्प्राप्ति द्वारा की जानी चाहिए, न कि स्मरण द्वारा।**
|
|
39
|
+
- **जनरेटर के तर्क को छिपाएं।** खलीफा एट अल. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "द जज को धोखा देना")—केवल हेरफेर किए गए चेन-ऑफ-थॉट से न्यायाधीश के झूठे सकारात्मकों में 90% तक की वृद्धि होती है, जबकि क्रियाएं स्थिर रहती हैं। टर्पिन एट अल. 2023 ([arXiv:2305.04388](https://arxiv.org/abs/2305.04388))—CoT पोस्ट-हॉक तर्कसंगतता है। सत्यापनकर्ता केवल नंगे उद्धरण दावे को देखता है, कभी भी "मैंने इसे क्यों शामिल किया" नहीं।
|
|
40
|
+
- **विविधता संख्या से बेहतर है।** राजन 2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708))—जोड़ीदार सहसंबंध ρ ∈ [0.05, 0.25] पर चार सत्यापनकर्ता उपमॉड्यूलर कवरेज के माध्यम से किसी भी एक स्मार्ट न्यायाधीश को हराते हैं। किम एट अल. 2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962))—LLM त्रुटियां *सहसंबंधित* होती हैं, इसलिए भार-असर चर लेंस विविधता है, न कि कच्ची संख्या।
|
|
40
41
|
|
|
41
42
|
## क्या यह वास्तव में काम करता है? (प्रमाण)
|
|
42
43
|
|
|
43
|
-
एक परीक्षण के रूप में, प्रोटोकॉल को अपने स्वयं के उद्धरणों
|
|
44
|
+
एक परीक्षण के रूप में, प्रोटोकॉल को अपने स्वयं के उद्धरणों पर चलाया गया था। दो असंबंधित गैर-क्लाउड परिवार—**मिस्ट्रल** (`mistral-small:24b`) और **आईबीएम ग्रेनाइट** (`granite4.1:30b`)—ने एक उद्धरण सेट की जांच की, तर्क-मुक्त, जिसमें दो अंधा जाल थे:
|
|
44
45
|
|
|
45
46
|
| रोपा गया जाल | मिस्ट्रल | आईबीएम ग्रेनाइट | सत्य |
|
|
46
47
|
|---|---|---|---|
|
|
47
|
-
| "नकामुरा और ओल्सन" को जिम्मेदार चेन-ऑफ-थॉट प्रॉम्प्टिंग | छोड़ दिया | **पकड़ा गया** (गलत रूप से
|
|
48
|
-
| एक
|
|
48
|
+
| "नकामुरा और ओल्सन" को जिम्मेदार चेन-ऑफ-थॉट प्रॉम्प्टिंग | छोड़ दिया गया | **पकड़ा गया** (गलत रूप से बताया गया → वास्तव में वेई एट अल. 2022, arXiv:2201.11903) | गलत रूप से बताया गया |
|
|
49
|
+
| एक निर्मित "98% त्रुटियों को हटा दिया गया, किसी ओरेकल की आवश्यकता नहीं है" पेपर | **caught** (fabricated) | **caught** (fabricated) | बनाया गया |
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
दोनों परिवारों ने अकेले दोनों जालों को नहीं पकड़ा—लेकिन उनके **संघ ने 2/2 जाल पकड़े।** एक एकल न्यायाधीश गलत आरोप को जारी कर देगा। अलग से, पुनर्प्राप्ति ओरेकल ने हमारे अपने डिज़ाइन दस्तावेज़ों में दो *वास्तविक* गलत आरोपों को पकड़ लिया (गलत पहले लेखक के तहत उद्धृत पेपर), जिन्हें किसी भी पैरामीट्रिक LLM द्वारा चिह्नित नहीं किया जा सकता था—और इसने सही ढंग से वास्तविक 2026 पत्रों की पुष्टि की, जिन्हें दोनों LLM ने केवल इसलिए बनाया हुआ बताया क्योंकि वे पेपर उनके प्रशिक्षण के बाद लिखे गए थे। वह अंतिम बिंदु पूरी तरह से कारण है कि चरण 4 में अस्तित्व की जाँच **एक पुनर्प्राप्ति ओरेकल होनी चाहिए, कभी भी एक LLM नहीं।**
|
|
51
52
|
|
|
52
|
-
यह एकल रन लघु रूप में थीसिस है: **असंबंधित लेंस + अस्तित्व के लिए एक पुनर्प्राप्ति ओरेकल किसी भी एक स्मार्ट न्यायाधीश
|
|
53
|
+
यह एकल रन लघु रूप में थीसिस है: **असंबंधित लेंस + अस्तित्व के लिए एक पुनर्प्राप्ति ओरेकल किसी भी एक स्मार्ट न्यायाधीश को हराते हैं।**
|
|
53
54
|
|
|
54
55
|
## यह कैसे जुड़ा हुआ है
|
|
55
56
|
|
|
56
|
-
आप प्रोटोकॉल को मैन्युअल रूप से चला सकते हैं
|
|
57
|
+
आप प्रोटोकॉल को मैन्युअल रूप से चला सकते हैं - किसी भिन्न मॉडल परिवार के साथ और स्वयं arXiv/DOI का समाधान करके चरण 4 पूरा किया जा सकता है। दो संबंधित उपकरण इसे एक कमांड बनाते हैं:
|
|
57
58
|
|
|
58
|
-
- **[
|
|
59
|
-
- **[
|
|
59
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** - रनटाइम सत्यापनकर्ता: परिवार-भिन्न रूटिंग, तर्क से रहित, बहु-लेंस निर्णय, एक निश्चित पुनर्प्राप्ति अस्तित्व सीमा (arXiv → क्रॉसरेफ), और हस्ताक्षरित रसीदें।
|
|
60
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** - `roleos verify-citations <dispatch>` प्रदान करता है, जो एक रनर है जो किसी डिस्पैच की उद्धरणों को निकालता है और उन्हें प्रिज्म के माध्यम से संसाधित करता है।
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
हैंडऑफ़ स्वयं डिस्पैच प्रारूप है: एक निष्कर्ष जिसे `N. **निष्कर्ष.** लेखक वर्ष (arXiv|DOI). निहितार्थ.` के रूप में लिखा गया है - प्रत्येक निष्कर्ष के लिए **एक समाधान योग्य पहचानकर्ता** - ठीक वही है जो `roleos verify-citations` प्राप्त करता है और संसाधित करता है। एक `lint`-सफाई वाला डिस्पैच आसानी से संसाधित होता है; एक गलत उद्धरण वह है जिसे रनर अपार्स किए गए रूप में चिह्नित करता है। यह अनुबंध वही है जिसकी `study-swarm lint` स्थानीय रूप से जांच करता है, इसलिए चरण 3 और चरण 4 इस बात पर सहमत हैं कि एक उद्धरण क्या है।
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
## सीएलआई
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| कमांड | यह क्या करता है |
|
|
71
|
+
|---|---|
|
|
72
|
+
| `study-swarm protocol` | पूरे प्रोटोकॉल को प्रिंट करें - पांच चरण, स्टॉप टेबल, सोर्सिंग मानक। |
|
|
73
|
+
| `study-swarm new <slug>` | पांच-चरणीय ढांचे के साथ `<slug>.dispatch.md` बनाएं ताकि इसे भरा जा सके। |
|
|
74
|
+
| `study-swarm lint [--json] <path…>` | किसी डिस्पैच की *अनुसंधान नींव* की जांच सोर्सिंग मानक के विरुद्ध करें - प्रत्येक निष्कर्ष में एक लेखक, एक वर्ष और एक समाधान योग्य पहचानकर्ता (arXiv / DOI / URL) होना चाहिए; "अध्ययन दिखाते हैं..." जैसे अस्पष्ट कथन अस्वीकार किए जाते हैं। उल्लंघन होने पर `1` से बाहर निकलें, इसलिए यह सीआई को संसाधित करता है। `<path>` एक फ़ाइल, एक निर्देशिका (जो `*.dispatch.md` के लिए पुनरावर्ती रूप से जांच की जाती है), या stdin के लिए `-` हो सकता है; `--json` मशीन-पठनीय रिपोर्ट उत्सर्जित करता है। |
|
|
75
|
+
|
|
76
|
+
`lint` निश्चित है - शून्य मॉडल कॉल - इसलिए यह सीआई में सुरक्षित है। यह स्थानीय रूप से **चरण 3 के सोर्सिंग मानक** को लागू करता है; मॉडल-आधारित **चरण 4** सत्यापन अभी भी [`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → प्रिज्म पर निर्भर करता है।
|
|
77
|
+
|
|
78
|
+
एक विशिष्ट लूप:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
study-swarm new my-decision # creates my-decision.dispatch.md
|
|
82
|
+
# …fill in the questions, run the research dispatch, write the findings…
|
|
83
|
+
study-swarm lint my-decision.dispatch.md # enforce the sourcing standard (Step 3)
|
|
84
|
+
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
एक पूर्ण, `lint`-सफाई वाला डिस्पैच - अध्ययन-स्वार्म को स्वयं के डिज़ाइन पर लागू किया गया - [`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md) में एक उदाहरण संदर्भ के रूप में शामिल है।
|
|
88
|
+
|
|
89
|
+
### इसे सीआई में संसाधित करें
|
|
90
|
+
|
|
91
|
+
`lint` एक फ़ाइल, एक निर्देशिका (जो `*.dispatch.md` के लिए पुनरावर्ती रूप से जांच की जाती है), या stdin के लिए `-` लेता है, और `--json` मशीन-पठनीय रिपोर्ट उत्सर्जित करता है। इसे अपने रिपो में डालें ताकि प्रत्येक डिस्पैच के सोर्सिंग को प्रत्येक पीआर पर संसाधित किया जा सके (एक कॉपी-पेस्ट नमूना [`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml) में भी मौजूद है):
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# .github/workflows/dispatches.yml
|
|
95
|
+
name: study-swarm lint
|
|
96
|
+
on:
|
|
97
|
+
pull_request:
|
|
98
|
+
paths: ['**/*.dispatch.md', '.github/workflows/dispatches.yml']
|
|
99
|
+
workflow_dispatch:
|
|
100
|
+
concurrency:
|
|
101
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
102
|
+
cancel-in-progress: true
|
|
103
|
+
jobs:
|
|
104
|
+
lint:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v4
|
|
108
|
+
- uses: actions/setup-node@v4
|
|
109
|
+
with: { node-version: '20' }
|
|
110
|
+
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## यह कैसे काम करता है, एक वाक्य में
|
|
114
|
+
|
|
115
|
+
**वर्तमान** - क्षेत्र तेजी से आगे बढ़ रहा है; विशिष्ट अध्ययनों के साथ जोर देने से डिज़ाइन 18 महीने पीछे नहीं रहते हैं। **कार्यात्मक** - सबूत दिखाते हैं कि *क्या विफल होता है*, न कि केवल यह कि क्या काम करता है (व्याख्याएं *गलत* एआई पर अत्यधिक निर्भरता बढ़ा सकती हैं - बंसल एट अल. 2021, [arXiv:2006.14779](https://arxiv.org/abs/2006.14779))। **सुरक्षित** - सत्यापनकर्ता-संरक्षित क्षेत्र वह आर्किटेक्चर है जिसका सबूत समर्थन करता है, और प्रोटोकॉल इसे अपने स्वयं के आउटपुट पर लागू करता है। सोर्सिंग कोई अकादमिक नाटक नहीं है; यह साक्ष्य का मार्ग है।
|
|
64
116
|
|
|
65
117
|
## सुरक्षा
|
|
66
118
|
|
|
67
|
-
|
|
119
|
+
`study-swarm` एक **पतली, शून्य-निर्भरता सीएलआई** (`study-swarm`) को पद्धति के साथ भेजता है। यह **कोई नेटवर्क या मॉडल कॉल नहीं करता है** और **कोई टेलीमेट्री एकत्र नहीं करता है**; स्रोत में कोई गुप्त जानकारी या क्रेडेंशियल नहीं हैं। रनटाइम पर यह केवल उस फ़ाइल को पढ़ता है जिसे आप `lint` में पास करते हैं और वर्तमान निर्देशिका में एक एकल `<slug>.dispatch.md` लिखता है ताकि `new` हो (ओवरराइट करने से इनकार करता है, और कभी भी कार्यशील निर्देशिका के बाहर नहीं)। मॉडल-आधारित सत्यापन जो पद्धति का वर्णन करती है (चरण 4) संबंधित उपकरणों द्वारा किया जाता है, न कि इस पैकेज द्वारा। [SECURITY.md](SECURITY.md) देखें।
|
|
68
120
|
|
|
69
121
|
## स्थिति
|
|
70
122
|
|
|
71
|
-
एक
|
|
123
|
+
एक कार्यशील प्रोटोकॉल, जिसे इसकी अपनी मशीनरी द्वारा बाहरी रूप से सत्यापित किया गया है - एक अलग मॉडल परिवार इसके उद्धरणों की जांच करता है (ऊपर प्रमाण देखें)। यह रिपो सार्वजनिक संदर्भ है; [PROTOCOL.md](PROTOCOL.md) निष्पादन योग्य आकार है। [dogfood-lab](https://github.com/dogfood-lab) परिवार का हिस्सा - एआई युग में निर्माण के लिए विधियां और प्रदर्शन।
|
|
72
124
|
|
|
73
125
|
एमआईटी लाइसेंस प्राप्त।
|
|
74
126
|
|
package/README.it.md
CHANGED
|
@@ -7,70 +7,122 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/@dogfood-lab/study-swarm"><img src="https://img.shields.io/npm/v/@dogfood-lab/study-swarm" alt="npm"></a>
|
|
10
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
|
|
11
12
|
<a href="https://dogfood-lab.github.io/study-swarm/"><img src="https://img.shields.io/badge/handbook-live-purple" alt="Handbook"></a>
|
|
12
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
|
-
**
|
|
16
|
+
**Fonda le decisioni di progettazione su ricerche citate — quindi verifica le citazioni con una *famiglia* di modelli diversa prima che tutto questo diventi parte integrante del progetto.**
|
|
16
17
|
|
|
17
|
-
`study-swarm` è un protocollo, non uno strumento. Quando si prende una decisione di progettazione importante con un LLM (un nuovo livello di prodotto, una scelta architettonica, una decisione
|
|
18
|
+
`study-swarm` è un protocollo, non uno strumento. Quando si prende una decisione di progettazione importante con un LLM (Large Language Model) — un nuovo livello di prodotto, una scelta architettonica, una decisione sul fatto che "dovremmo fidarci del modello in questo caso" — improvvisare partendo dai principi fondamentali porta a progetti obsoleti e citare articoli dalla memoria porta a progetti basati su fonti che non esistono o che non dicono quello che si pensa. `study-swarm` sostituisce entrambi: invia agenti di ricerca paralleli, richiede risultati specifici dalle ricerche citate e sottopone ogni citazione a un **verificatore esterno proveniente da una famiglia di modelli diversa** prima che influenzi la progettazione.
|
|
18
19
|
|
|
19
|
-
Applica la propria
|
|
20
|
+
Applica la propria medicina. Il protocollo prevede l'utilizzo di "buste" protette dal verificatore per i sistemi che aiuta a progettare, quindi lo applica anche a se stesso. **Nessun modello valuta il proprio lavoro, incluso quello che esegue il protocollo.**
|
|
20
21
|
|
|
21
|
-
## Il protocollo in cinque passaggi
|
|
22
|
+
## Il protocollo in cinque passaggi:
|
|
22
23
|
|
|
23
|
-
1. **
|
|
24
|
-
2. **
|
|
25
|
-
3. **
|
|
26
|
-
4. **
|
|
27
|
-
5. **
|
|
24
|
+
1. **Identifica** 3-5 domande di progettazione fondamentali a cui una prova empirica cambierebbe la risposta.
|
|
25
|
+
2. **Invia** un agente di ricerca per ogni domanda, in parallelo. Ognuno deve restituire titoli degli articoli + autori + anni + URL + un risultato riassunto in una frase (la specificità è più importante dell'ampiezza: "6-8 risultati ben documentati sono meglio di 20 affermazioni vaghe").
|
|
26
|
+
3. **Sintetizza** i risultati in una sezione intitolata *Fondamento della ricerca*: `N. **<risultato>.** <Autori> <anno> (<arXiv/DOI>). <implicazione per la progettazione>.`
|
|
27
|
+
4. **Verifica esternamente**: una *famiglia di modelli diversa*, priva di capacità di ragionamento, verifica ogni citazione in due fasi: un **oracolo di recupero** conferma che l'articolo esiste (non si basa mai sulla memoria del modello), quindi una "lente di fondatezza" conferma che il risultato corrisponde alla fonte. **Interrompi** se la citazione è fabbricata o attribuita erroneamente; **interrompi e segnala** se il verificatore o l'oracolo di recupero non sono disponibili (non interpretare mai l'assenza come "le citazioni sono corrette").
|
|
28
|
+
5. **Collega** ogni scelta architettonica a un risultato specifico, tramite numero. Le citazioni che non hanno implicazioni per la progettazione sono rumore.
|
|
28
29
|
|
|
29
|
-
I dettagli completi e eseguibili
|
|
30
|
+
I dettagli completi e eseguibili — la tabella di interruzione, lo standard di riferimento, la regola dell'insieme — si trovano in **[PROTOCOL.md](PROTOCOL.md)**.
|
|
30
31
|
|
|
31
|
-
## Perché
|
|
32
|
+
## Perché una *famiglia* diversa, priva di capacità di ragionamento?
|
|
32
33
|
|
|
33
34
|
Perché le modalità di errore sono documentate, non ipotetiche:
|
|
34
35
|
|
|
35
36
|
- **Gli LLM non possono verificare in modo affidabile i propri risultati.** 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)) — il verificatore esterno offre i vantaggi; il contenuto di autocritica è inerte.
|
|
36
|
-
- **I giudici della stessa famiglia tendono ad auto-preferirsi.** Panickssery, Bowman & Feng 2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076)) — l'auto-riconoscimento è correlato *linearmente* con l'auto-preferenza, quindi un'
|
|
37
|
-
- **Le citazioni sono il punto in cui gli LLM mentono.** Walters & Wilder 2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5)) — il 55% delle citazioni di GPT-3.5 / il 18% di GPT-4 sono fabbricate. Onweller et al. 2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635)) — i collegamenti risolvono il >94% delle volte, ma solo il 39-77% del contenuto citato supporta effettivamente l'affermazione. Pertanto, l'esistenza deve essere verificata tramite **recupero, non richiamo**.
|
|
38
|
-
- **
|
|
39
|
-
- **La diversità
|
|
37
|
+
- **I giudici della stessa famiglia tendono ad auto-preferirsi.** Panickssery, Bowman & Feng 2024 ([arXiv:2404.13076](https://arxiv.org/abs/2404.13076)) — l'auto-riconoscimento è correlato *linearmente* con l'auto-preferenza, quindi un'attenuazione parziale non aiuta. Verga et al. 2024 ([arXiv:2404.18796](https://arxiv.org/abs/2404.18796), PoLL) — un gruppo proveniente da famiglie diverse è meno influenzato a un costo inferiore di circa 7 volte.
|
|
38
|
+
- **Le citazioni sono il punto in cui gli LLM mentono.** Walters & Wilder 2023 ([doi:10.1038/s41598-023-41032-5](https://doi.org/10.1038/s41598-023-41032-5)) — il 55% delle citazioni di GPT-3.5 / il 18% delle citazioni di GPT-4 sono fabbricate. Onweller et al. 2026 ([arXiv:2605.06635](https://arxiv.org/abs/2605.06635)) — i collegamenti risolvono il >94% delle volte, ma solo il 39-77% del contenuto citato supporta effettivamente l'affermazione. Pertanto, l'esistenza deve essere verificata tramite **recupero, non richiamo**.
|
|
39
|
+
- **Nascondi il ragionamento del generatore.** Khalifa et al. 2026 ([arXiv:2601.14691](https://arxiv.org/abs/2601.14691), "Gaming the Judge") — la sola manipolazione della catena di pensiero aumenta i falsi positivi di un giudice fino al 90%, mantenendo le azioni fisse. Turpin et al. 2023 ([arXiv:2305.04388](https://arxiv.org/abs/2305.04388)) — la catena di pensiero è una razionalizzazione post-hoc. Il verificatore vede solo l'affermazione della citazione, mai il "perché l'ho inclusa".
|
|
40
|
+
- **La diversità batte la quantità.** Rajan 2025 ([arXiv:2511.16708](https://arxiv.org/abs/2511.16708)) — quattro verificatori con una correlazione a coppie ρ ∈ [0.05, 0.25] superano qualsiasi singolo verificatore tramite copertura submodulare. Kim et al. 2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962)) — gli errori degli LLM sono *correlati*, quindi la variabile più importante è la diversità delle "lenti", non la quantità assoluta.
|
|
40
41
|
|
|
41
42
|
## Funziona davvero? (prova)
|
|
42
43
|
|
|
43
|
-
Come test, il protocollo è stato
|
|
44
|
+
Come test, il protocollo è stato applicato alle proprie citazioni. Due famiglie di modelli decorrelate e diverse da Claude — **Mistral** (`mistral-small:24b`) e **IBM Granite** (`granite4.1:30b`) — hanno verificato un insieme di citazioni, senza capacità di ragionamento, con due "trappole" nascoste:
|
|
44
45
|
|
|
45
|
-
| Trappola
|
|
46
|
+
| Trappola piazzata | Mistral | IBM Granite | Verità |
|
|
46
47
|
|---|---|---|---|
|
|
47
|
-
| Il ragionamento della catena di pensiero è attribuito a "Nakamura & Olsen" | mancato | **rilevato** (
|
|
48
|
-
| un articolo fabbricato con la
|
|
48
|
+
| Il ragionamento della catena di pensiero è attribuito a "Nakamura & Olsen" | mancato | **rilevato** (attribuito erroneamente → in realtà Wei et al. 2022, arXiv:2201.11903) | attribuito erroneamente |
|
|
49
|
+
| un articolo fabbricato con la frase "il 98% degli errori è stato eliminato, non è necessario alcun oracolo" | **caught** (fabricated) | **caught** (fabricated) | fabbricato |
|
|
49
50
|
|
|
50
|
-
Nessuna delle due famiglie ha rilevato entrambe le trappole da sola, ma la loro **unione ha rilevato 2/2**. Un singolo giudice avrebbe accettato l'attribuzione errata.
|
|
51
|
+
Nessuna delle due famiglie ha rilevato entrambe le trappole da sola, ma la loro **unione ha rilevato 2/2**. Un singolo giudice avrebbe accettato l'attribuzione errata. Inoltre, separatamente, l'oracolo di recupero ha individuato due *vere* attribuzioni errate nei nostri documenti di progettazione (articoli citati con il primo autore sbagliato) che nessun LLM parametrico avrebbe potuto segnalare e ha confermato correttamente articoli reali del 2026 che entrambi gli LLM hanno erroneamente contrassegnato come fabbricati semplicemente perché gli articoli sono successivi alla loro data di addestramento. Quest'ultimo punto è il motivo per cui il controllo dell'esistenza nel passaggio 4 **deve** essere effettuato tramite un oracolo di recupero, mai tramite un LLM.
|
|
51
52
|
|
|
52
|
-
Questa singola esecuzione
|
|
53
|
+
Questa singola esecuzione rappresenta la tesi in miniatura: **lenti decorrelate + un oracolo di recupero per l'esistenza superano qualsiasi singolo giudice intelligente.**
|
|
53
54
|
|
|
54
55
|
## Come è strutturato
|
|
55
56
|
|
|
56
|
-
È possibile eseguire il protocollo manualmente: qualsiasi modello di famiglia diversa
|
|
57
|
+
È possibile eseguire il protocollo manualmente: qualsiasi modello di famiglia diversa, insieme alla risoluzione autonoma di arXiv/DOI, soddisfa il passaggio 4. Due strumenti complementari lo rendono un unico comando:
|
|
57
58
|
|
|
58
|
-
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)
|
|
59
|
-
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)
|
|
59
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)**: il verificatore in fase di esecuzione: instradamento tra famiglie diverse, ragionamento semplificato, valutazione multilente, un limite inferiore deterministico per l'esistenza dei risultati (arXiv → Crossref) e ricevute firmate.
|
|
60
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)**: fornisce `roleos verify-citations <dispatch>`, lo strumento che estrae le citazioni di un documento e le elabora tramite prism.
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
Il passaggio è il formato del documento stesso: una scoperta scritta come `N. **scoperta.** Autori anno (arXiv|DOI). implicazione.` — con **un identificatore risolvibile per ogni scoperta** — è esattamente ciò che `roleos verify-citations` elabora e verifica. Un documento "pulito" secondo i criteri di linting viene elaborato correttamente; una citazione malformata è ciò che lo strumento segnala come non analizzata. Questo contratto è ciò che `study-swarm lint` controlla localmente, quindi il passaggio 3 e il passaggio 4 concordano su cosa sia una citazione.
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
## CLI
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| Comando | Cosa fa |
|
|
71
|
+
|---|---|
|
|
72
|
+
| `study-swarm protocol` | Stampa l'intero protocollo: i cinque passaggi, la tabella di arresto, lo standard di riferimento. |
|
|
73
|
+
| `study-swarm new <slug>` | Crea uno scheletro `<slug>.dispatch.md` con i cinque passaggi da completare. |
|
|
74
|
+
| `study-swarm lint [--json] <path…>` | Verifica il *fondamento della ricerca* di un documento rispetto allo standard di riferimento: ogni scoperta deve avere un autore, un anno e un identificatore risolvibile (arXiv / DOI / URL); le affermazioni generiche del tipo "gli studi dimostrano..." vengono rifiutate. In caso di violazioni, viene restituito `1`, in modo da bloccare la CI. Un `<path>` può essere un file, una directory (analizzata ricorsivamente per i file `*.dispatch.md`) o `-` per l'input standard; `--json` emette un report leggibile dalla macchina. |
|
|
75
|
+
|
|
76
|
+
`lint` è deterministico: non effettua chiamate al modello, quindi è sicuro da utilizzare nella CI. Applica localmente lo **standard di riferimento del passaggio 3**; la verifica basata su modello del **passaggio 4** si affida ancora a [`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → prism.
|
|
77
|
+
|
|
78
|
+
Un ciclo tipico:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
study-swarm new my-decision # creates my-decision.dispatch.md
|
|
82
|
+
# …fill in the questions, run the research dispatch, write the findings…
|
|
83
|
+
study-swarm lint my-decision.dispatch.md # enforce the sourcing standard (Step 3)
|
|
84
|
+
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Un documento completo e "pulito" secondo i criteri di linting (study-swarm applicato al proprio design) è disponibile in [`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md) come riferimento pratico.
|
|
88
|
+
|
|
89
|
+
### Bloccalo nella CI
|
|
90
|
+
|
|
91
|
+
`lint` accetta un file, una directory (analizzata ricorsivamente per i file `*.dispatch.md`) o `-` per l'input standard e `--json` emette un report leggibile dalla macchina. Inseriscilo nel tuo repository per controllare il riferimento di ogni documento in ogni PR (un esempio di copia-incolla è disponibile anche in [`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml)):
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# .github/workflows/dispatches.yml
|
|
95
|
+
name: study-swarm lint
|
|
96
|
+
on:
|
|
97
|
+
pull_request:
|
|
98
|
+
paths: ['**/*.dispatch.md', '.github/workflows/dispatches.yml']
|
|
99
|
+
workflow_dispatch:
|
|
100
|
+
concurrency:
|
|
101
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
102
|
+
cancel-in-progress: true
|
|
103
|
+
jobs:
|
|
104
|
+
lint:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v4
|
|
108
|
+
- uses: actions/setup-node@v4
|
|
109
|
+
with: { node-version: '20' }
|
|
110
|
+
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Perché funziona, in sintesi
|
|
114
|
+
|
|
115
|
+
**Attuale**: il settore si evolve rapidamente; richiedere studi specifici con indicazione dell'anno evita che i progetti siano pronti con 18 mesi di ritardo. **Funzionale**: le prove mostrano cosa *fallisce*, non solo cosa funziona (le spiegazioni possono aumentare l'eccessiva dipendenza da un'IA *errata* — Bansal et al. 2021, [arXiv:2006.14779](https://arxiv.org/abs/2006.14779)). **Sicuro**: l'ambito protetto dal verificatore è l'architettura supportata dalle prove e il protocollo lo applica ai propri risultati. Il riferimento non è un esercizio accademico; è la traccia delle prove.
|
|
64
116
|
|
|
65
117
|
## Sicurezza
|
|
66
118
|
|
|
67
|
-
`study-swarm`
|
|
119
|
+
`study-swarm` fornisce una **CLI sottile, con zero dipendenze** (`study-swarm`) insieme alla metodologia. Non effettua **chiamate di rete o al modello** e non raccoglie **dati di telemetria**: non ci sono segreti o credenziali nel codice sorgente. In fase di esecuzione legge solo il file che viene passato a `lint` e scrive un singolo file `<slug>.dispatch.md` nella directory corrente per `new` (rifiutando di sovrascriverlo e non scrivendo mai al di fuori della directory di lavoro). La verifica basata su modello descritta dalla metodologia (passaggio 4) viene eseguita dagli strumenti complementari, non da questo pacchetto. Vedere [SECURITY.md](SECURITY.md).
|
|
68
120
|
|
|
69
121
|
## Stato
|
|
70
122
|
|
|
71
|
-
Un protocollo funzionante, verificato esternamente dai propri
|
|
123
|
+
Un protocollo funzionante, verificato esternamente dai propri meccanismi: una famiglia di modelli diversa controlla le sue citazioni (vedere la prova sopra). Questo repository è il riferimento pubblico; [PROTOCOL.md](PROTOCOL.md) è la forma eseguibile. Fa parte della famiglia [dogfood-lab](https://github.com/dogfood-lab): metodi e esempi per costruire nell'era dell'IA.
|
|
72
124
|
|
|
73
|
-
|
|
125
|
+
Con licenza MIT.
|
|
74
126
|
|
|
75
127
|
---
|
|
76
128
|
|
package/README.ja.md
CHANGED
|
@@ -7,68 +7,120 @@
|
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
+
<a href="https://www.npmjs.com/package/@dogfood-lab/study-swarm"><img src="https://img.shields.io/npm/v/@dogfood-lab/study-swarm" alt="npm"></a>
|
|
10
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="MIT License"></a>
|
|
11
12
|
<a href="https://dogfood-lab.github.io/study-swarm/"><img src="https://img.shields.io/badge/handbook-live-purple" alt="Handbook"></a>
|
|
12
13
|
<img src="https://img.shields.io/badge/cited%20research-verified-1f6feb" alt="Cited research, verified">
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
**引用された研究に基づいて設計上の決定を обосновывайте, そして、それらの決定が公式なものになる前に、*異なる*モデルファミリーを使用して引用の正確性を検証してください。**
|
|
16
17
|
|
|
17
|
-
`study-swarm
|
|
18
|
+
`study-swarm`はツールではなくプロトコルです。大規模言語モデル(LLM)を使用して重要な設計上の決定を行う場合(新しい製品レイヤー、アーキテクチャの選択、「ここでモデルを信頼すべきか」という判断など)、最初から即興で進めるのではなく、事前に研究を行い、その結果に基づいて設計すると、時代遅れの設計になったり、存在しない情報源や誤った情報を基にした設計になってしまう可能性があります。`study-swarm`はこれらの問題を解決します。複数の研究エージェントを並行して実行し、特定の引用された調査結果を要求し、すべての引用について**異なるモデルファミリーの外部検証者**を通じて確認してから、それを設計に反映させます。
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
これは、自らその方法を採用しています。このプロトコルでは、システムがどのように設計されるかを支援する際に、検証者によって保護された情報を提供するように規定されており、そのため、このプロトコル自体にも適用されます。**プロトコルを実行しているモデルであっても、自分の宿題を評価することはできません。**
|
|
20
21
|
|
|
21
|
-
##
|
|
22
|
+
## このプロトコルは5つのステップで構成されます
|
|
22
23
|
|
|
23
|
-
1.
|
|
24
|
-
2.
|
|
25
|
-
3.
|
|
26
|
-
4.
|
|
27
|
-
5.
|
|
24
|
+
1. **特定する**: 経験的な証拠によって回答が変わる可能性のある3〜5個の重要な設計上の質問を特定します。
|
|
25
|
+
2. **実行する**: 各質問に対して、複数の研究エージェントを並行して実行します。各エージェントは、論文タイトル+著者+発表年+URL+1文の調査結果を返します(広範囲よりも具体性を重視、「6〜8件の信頼できる調査結果が、20件の曖昧な情報よりも優れている」)。
|
|
26
|
+
3. **統合する**: 調査結果を「研究による根拠」セクションにまとめます。`N. <調査結果>。<著者><年>(<arXiv/DOI>)。<設計への影響>。`
|
|
27
|
+
4. **外部で検証する**: *異なるモデルファミリー*(推論機能を削除したもの)を使用して、すべての引用について2段階のチェックを行います。まず、**検索オラクル**が論文が存在することを確認します(モデルの記憶ではなく)。次に、「根拠」フィルターが、調査結果が情報源と一致するかどうかを確認します。**捏造または誤った帰属がある場合は、処理を停止します。検証者または検索オラクルが利用できない場合は、処理を停止し、エスカレーションします(ただし、利用できないことを「引用は問題ない」と解釈しないでください)。
|
|
28
|
+
5. **関連付ける**: 各アーキテクチャの選択について、番号を使用して対応する調査結果に関連付けます。設計への影響がない引用はノイズです。
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
完全な実行可能な詳細(停止テーブル、情報源に関する標準、アンサンブルルール)は、**[PROTOCOL.md](PROTOCOL.md)**に記載されています。
|
|
30
31
|
|
|
31
|
-
##
|
|
32
|
+
## なぜ*異なる*モデルファミリーで、推論機能を削除する必要があるのでしょうか?
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
その理由は、失敗モードが仮説ではなく、実際に確認されているからです。
|
|
34
35
|
|
|
35
|
-
- **LLM
|
|
36
|
-
-
|
|
37
|
-
- **LLM
|
|
38
|
-
-
|
|
39
|
-
-
|
|
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つの検証者は、サブモジュールカバレッジによって、単一の検証者よりも優れた結果をもたらします。Kim et al. 2025 ([arXiv:2506.07962](https://arxiv.org/abs/2506.07962)) — LLMのエラーは*相関しているため、重要な変数はレンズの多様性であり、単純な数ではありません。
|
|
40
41
|
|
|
41
42
|
## 実際に機能するのでしょうか?(証拠)
|
|
42
43
|
|
|
43
|
-
テストとして、このプロトコルを自分の引用に対して実行しました。2
|
|
44
|
+
テストとして、このプロトコルを自分の引用に対して実行しました。2つの非類似のモデルファミリー(**Mistral** (`mistral-small:24b`)と**IBM Granite** (`granite4.1:30b`))を使用して、推論機能を削除した状態で、2つの意図的な罠を含む引用セットを確認しました。
|
|
44
45
|
|
|
45
|
-
|
|
|
46
|
+
| 仕掛けられた罠 | Mistral | IBM Granite | 真実 |
|
|
46
47
|
|---|---|---|---|
|
|
47
|
-
| 「Nakamura & Olsen
|
|
48
|
-
| 「98
|
|
48
|
+
| 「Nakamura & Olsen」に帰属された連鎖思考プロンプト | 見逃した | **検出**(誤った帰属→実際にはWei et al. 2022、arXiv:2201.11903) | 誤って帰属された |
|
|
49
|
+
| 「98%のエラーが除去され、オラクルは不要」という捏造された論文 | **caught** (fabricated) | **caught** (fabricated) | 捏造された |
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
どちらのモデルも単独では両方の罠を検出できませんでしたが、**組み合わせることで2/2を検出しました**。単一の評価者であれば、誤った帰属をそのまま採用してしまいます。また、検索オラクルは、当社の設計ドキュメントにある2つの*実際の*誤った帰属(間違った最初の著者に引用された論文)を検出し、どのパラメトリックLLMも検出できなかったことに加え、両方のLLMがトレーニングデータ以降に発表されたため、捏造されたと誤って判断した実際の2026年の論文を正しく確認しました。最後の点が、ステップ4の存在チェックが**検索オラクルでなければならない理由であり、LLMであってはならない理由です。**
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
この単一の実行は、ミニチュア版の論文です。**相関性の低いレンズと、存在を確認するための検索オラクルを組み合わせることで、いかに優れた評価者よりも優れた結果が得られるかを示しています。**
|
|
53
54
|
|
|
54
55
|
## その仕組み
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
手動でプロトコルを実行できます。異なるモデルと、ご自身でarXiv/DOIを解決することで、ステップ4を満たします。2つの関連ツールが連携して、1つのコマンドとして実行されます。
|
|
57
58
|
|
|
58
|
-
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** —
|
|
59
|
-
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** — `roleos verify-citations <dispatch
|
|
59
|
+
- **[prism-verify](https://github.com/mcp-tool-shop-org/prism-verify)** — 実行時の検証ツール:異なるモデル間のルーティング、推論の簡略化、多角的な判断、決定的な検索による存在確認(arXiv → Crossref)、署名されたレシート。
|
|
60
|
+
- **[role-os](https://github.com/mcp-tool-shop-org/role-os)** — `roleos verify-citations <dispatch>`を提供します。これは、ディスパッチの引用を抽出し、prismを通じて検証する実行ツールです。
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
ハンドオフは、ディスパッチ形式そのものです。「N. **finding.** 著者 年 (arXiv|DOI). 含意。」という形式で記述された調査結果(**各調査結果に対して解決可能な識別子を1つだけ使用**)が、`roleos verify-citations`によって抽出され、検証されます。 `lint`によるチェックに合格したディスパッチは問題なく処理されます。形式が正しくない引用は、実行ツールによって解析不能としてフラグが立てられます。この契約内容は、`study-swarm lint`によってローカルでチェックされるため、ステップ3とステップ4では、引用の定義について合意が得られます。
|
|
62
63
|
|
|
63
|
-
|
|
64
|
+
## CLI(コマンドラインインターフェース)
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm i -g @dogfood-lab/study-swarm # or run ad-hoc: npx @dogfood-lab/study-swarm <command>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| コマンド | 実行内容 |
|
|
71
|
+
|---|---|
|
|
72
|
+
| `study-swarm protocol` | 完全なプロトコル(5つのステップ、停止テーブル、情報源の標準)を表示します。 |
|
|
73
|
+
| `study-swarm new <slug>` | 5つのステップで構成されたスケルトンを含む`<slug>.dispatch.md`を作成し、情報を入力できるようにします。 |
|
|
74
|
+
| `study-swarm lint [--json] <path…>` | ディスパッチの「研究根拠」を情報源の標準と比較してチェックします。すべての調査結果には、著者、年、および解決可能な識別子(arXiv / DOI / URL)が必要です。「研究によると…」という曖昧な表現は拒否されます。違反があった場合、終了コード`1`を返し、CI(継続的インテグレーション)のゲートとして機能します。`<path>`はファイル、ディレクトリ(`.dispatch.md`ファイルを再帰的にチェック)、または`-`(標準入力)を指定できます。`--json`オプションを使用すると、機械可読形式のレポートが出力されます。 |
|
|
75
|
+
|
|
76
|
+
`lint`は決定的な処理であり、モデルへの呼び出しは行われません。そのため、CI環境で安全に使用できます。ローカルで**ステップ3の情報源標準**を適用します。モデルベースの**ステップ4**の検証は、引き続き[`roleos verify-citations`](https://github.com/mcp-tool-shop-org/role-os) → prismによって行われます。
|
|
77
|
+
|
|
78
|
+
典型的なループ:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
study-swarm new my-decision # creates my-decision.dispatch.md
|
|
82
|
+
# …fill in the questions, run the research dispatch, write the findings…
|
|
83
|
+
study-swarm lint my-decision.dispatch.md # enforce the sourcing standard (Step 3)
|
|
84
|
+
roleos verify-citations my-decision.dispatch.md # model-based Step 4 (different family, via prism)
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
完全で`lint`によるチェックに合格したディスパッチ(study-swarmを自身の設計に適用したもの)は、[`examples/study-swarm-self.dispatch.md`](examples/study-swarm-self.dispatch.md)として、参考資料として提供されます。
|
|
88
|
+
|
|
89
|
+
### CI環境でゲートとして使用する
|
|
90
|
+
|
|
91
|
+
`lint`は、ファイル、ディレクトリ(`.dispatch.md`ファイルを再帰的にチェック)、または`-`(標準入力)を受け取り、`--json`オプションを使用すると、機械可読形式のレポートが出力されます。これをリポジトリに追加して、すべてのディスパッチの情報源を各PR(プルリクエスト)で検証します(コピー&ペーストできるサンプルは[`examples/study-swarm-ci.yml`](examples/study-swarm-ci.yml)にもあります)。
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
# .github/workflows/dispatches.yml
|
|
95
|
+
name: study-swarm lint
|
|
96
|
+
on:
|
|
97
|
+
pull_request:
|
|
98
|
+
paths: ['**/*.dispatch.md', '.github/workflows/dispatches.yml']
|
|
99
|
+
workflow_dispatch:
|
|
100
|
+
concurrency:
|
|
101
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
102
|
+
cancel-in-progress: true
|
|
103
|
+
jobs:
|
|
104
|
+
lint:
|
|
105
|
+
runs-on: ubuntu-latest
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@v4
|
|
108
|
+
- uses: actions/setup-node@v4
|
|
109
|
+
with: { node-version: '20' }
|
|
110
|
+
- run: npx @dogfood-lab/study-swarm@latest lint dispatches/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## その仕組み:
|
|
114
|
+
|
|
115
|
+
**現状** — この分野は急速に進化しており、特定の研究と年を指定することで、設計が18か月遅れて公開されるのを防ぎます。**機能性** — 証拠は、何が「有効」であるかだけでなく、何が「無効」であるかを示します(説明を加えることで、*誤った*AIへの過度な依存が増加する可能性があります—Bansal et al. 2021、[arXiv:2006.14779](https://arxiv.org/abs/2006.14779))。**安全性** — 検証ツールによって保護された範囲は、証拠が裏付けるアーキテクチャであり、プロトコルはその出力を強制します。情報源の明示は、学術的な儀式ではなく、証拠の追跡です。
|
|
64
116
|
|
|
65
117
|
## セキュリティ
|
|
66
118
|
|
|
67
|
-
`study-swarm`
|
|
119
|
+
`study-swarm`は、**軽量で依存関係のないCLI(コマンドラインインターフェース)** (`study-swarm`)と、その方法論を一緒に提供します。**ネットワークへの接続やモデルへの呼び出しを行わず**、**テレメトリも収集しません**。ソースコードには秘密情報や認証情報は含まれていません。実行時に、`lint`に渡されたファイルを読み取り、現在のディレクトリに単一の`<slug>.dispatch.md`ファイルを作成するだけです(上書きはせず、作業ディレクトリ外に出力することはありません)。方法論で説明されているモデルベースの検証(ステップ4)は、このパッケージではなく、関連ツールによって実行されます。詳細は[SECURITY.md](SECURITY.md)を参照してください。
|
|
68
120
|
|
|
69
121
|
## ステータス
|
|
70
122
|
|
|
71
|
-
|
|
123
|
+
動作するプロトコルであり、自身のメカニズムによって外部から検証されています(異なるモデルファミリーがその引用をチェックします。上記の証拠を参照)。このリポジトリは公開されている参考資料です。[PROTOCOL.md](PROTOCOL.md)は、実行可能な形式です。これは、[dogfood-lab](https://github.com/dogfood-lab)ファミリーの一部であり、AI時代における構築のための方法と事例を紹介します。
|
|
72
124
|
|
|
73
125
|
MITライセンス。
|
|
74
126
|
|