Wenn Sie ein Agent sind und dies lesen
overview). Schreiben Sie Hypothesen mit Vorhersagen. Schreiben Sie das erwartete Ergebnis jedes Experiments pro Hypothese bevor Sie es ausführen. Zeichnen Sie Läufe mit gehashten Dateien auf. Binden Sie jede Zahl in einer Behauptung an ein Ergebnisfeld. Schreiben Sie nie „immer/nie/beweist“ ohne k von n mit k = 0 oder n. Erklären Sie nie etwas für ausgeschlossen ohne eine Prüfung der Teststärke. Geben Sie den Stand genau so wieder, wie das Protokoll ihn angibt. Wird ein Schreibvorgang abgelehnt, korrigieren Sie, was die Meldung sagt. Kurzfassung: /llms.txt · vollständige Skill: /SKILL.md.Die Skill installieren
Für Claude Code und andere Hosts, die Agent Skills laden. Die Skill enthält die Methode, die Ablehnungen und ihre Korrekturen und arbeitet über die CLI — ohne Server.
pip install hypgraph hypgraph skill --install # .claude/skills/hypgraph/SKILL.md in this project hypgraph skill --install --user # or under your home directory, for every project
Über MCP verbinden
pip install "hypgraph[mcp]" claude mcp add hypgraph -- hypgraph --db study.hypgraph --as claude mcp
{
"mcpServers": {
"hypgraph": {
"command": "hypgraph",
"args": ["--db", "/absolute/path/study.hypgraph", "--as", "claude", "mcp"]
}
}
}hypgraph --db study.hypgraph --as claude mcp --transport http --port 8766 # → http://127.0.0.1:8766/mcp
Der Server schreibt als ein einziger Autor, beim Start festgelegt. Der Agent kann keinen anderen Namen übergeben, nicht als das Instrument (lab) oder als operator schreiben, und seine Urteile zählen nur, wenn die Untersuchung ihn als Prüfer nennt. Dateien für register_run müssen in dem Verzeichnis liegen, in dem der Server gestartet wurde.
Die Methode
- Zuerst
overview(). Was feststeht, was angefochten ist, was aussteht, was als Nächstes laufen soll. - Hypothesen mit Vorhersagen — und Rivalen, verknüpft
alternative_to. - Experimente, die scheitern können —
tests-Verknüpfungen mitdata.expectedpro Hypothese, vor dem Lauf geschrieben. Fügen Sie einenpower_checkhinzu: Pflanzen Sie eine bekannte Antwort ein und zeigen Sie, dass die Methode sie findet. register_run— hasht Code, Eingaben und Ausgaben und fügt das Ergebnis mit{name: {value} | {k, n}}-Werten hinzu.- Behauptungen mit Messungen — jede Zahl gebunden; eine
supports-Verknüpfung mit einer Begründung; ein Geltungsbereich. - Prüfung — nur benannte Prüfer zählen, nie über ihre eigene Arbeit.
report()an den Anfang jeder Zusammenfassung; die Interpretation darunter — danncheck_report(text)auf den Bericht, bevor Sie ihn abgeben. Korrigieren Sie jeden Fehler.
Unter einem Workflow-Profil
Eine Untersuchung, die auf scientific@2, software@2, trading@2, knowledge@2 oder optimization@2 gesetzt ist, trägt den Workflow ihrer Disziplin. Rufen Sie stage(question) auf: Es nennt die Phase, in der die Frage steht — aus dem Protokoll abgeleitet, nie gesetzt — und jede Schranke ERFÜLLT oder NICHT ERFÜLLT mit dem, was sie erfüllen würde. Schreiben Sie die nächste Schranke der Reihe nach (eine Hypothese mit Vorhersagen; ein Experiment mit seinem erwarteten Ergebnis vor dem Lauf; den Diff oder die Instanz als Artefakt mit seinem kind; den Lauf, der es uses). Eine korrigierte Datei, ein neuerer Commit, eine geänderte Instanz oder eine zurückgezogene Quelle machen frühere Belege veraltet; die Antwort sagt es, und eine Prüfung auf veralteten Belegen zählt nicht. Lautet die ehrliche Antwort „nicht entscheidbar“, zeichnen Sie auf, was Sie gefunden haben, und schreiben Sie daraus eine Behauptung der Art inconclusive — sobald sie geprüft ist, beantwortet sie die Frage.
Werkzeuge
| Werkzeug | was es tut |
|---|---|
overview(investigation?) | Ziel, Prüfer, lebende Hypothesen, geprüfte Behauptungen und woher man das weiß, angefochtene / gefährdete Arbeit, Reservierungen, Warteschlangen, nächste Experimente. |
find(text, type?, investigation?) | Nach Wörtern oder Code suchen (H1, CL3). |
show(node, view) | summary · why (worauf es beruht) · impact (was bricht, wenn es falsch ist) · history. |
start_investigation(title, objective, reviewers) | Eine Studie mit ihren Prüfern eröffnen. |
add(type, fields, investigation?, links?) | Frage, Hypothese, Experiment, Lauf, Ergebnis, Behauptung, Quelle, Entscheidung. Verknüpfungen nehmen IDs oder Codes. |
link(src, rel, dst, why, data?) | Typisierte Verknüpfungen; eine verkehrt herum gesetzte Verknüpfung wird umgedreht, wenn nur die Umkehrung erlaubt ist. |
revise · withdraw · retract_link | Korrekturen als neue Zeilen; nichts wird gelöscht. |
review(node, verdict, method, notes) | Ein Urteil zur aktuellen Version. |
check_report(text) | Einen Bericht gegen das Protokoll prüfen: Zahlen ohne Quelle, als geklärt dargestellte Behauptungen, die es nicht sind, zurückgezogene oder unbekannte Codes, nie / kein Effekt / signifikant ohne etwas dahinter. |
refusal_log(author?) | Die Überbehauptungen, die das Protokoll abgelehnt hat — Ihre oder die des Teams — und ob jede in ehrlicher Fassung zurückkam. |
bound(k, n, exposure) | Was eine Zählung trägt: die 95-%-Schranken hinter jedem „nie“, die nötigen Versuche, die im großen Maßstab nicht ausgeschlossenen Fehler. |
stage(question?) · completion() | Unter einem Workflow-Profil: die Phase jeder Frage und der Zustand jeder Schranke; was das Profil für die ganze Untersuchung unter erledigt versteht. |
next_experiments · work_queue · claim_work | Was als Nächstes laufen soll; was aussteht; einen Knoten reservieren, damit andere sehen, wer daran arbeitet. |
register_run(name, code_paths, input_paths, output_paths, result_summary, result_values) | Eine Berechnung mit gehashten Dateien aufzeichnen. |
report · verify · schema | Die erzeugten Fakten; die Prüfung der Kette; das Vokabular. |
Ressourcen: hypgraph://skill, hypgraph://schema, hypgraph://investigations, hypgraph://investigation/{inv}/report. Prompt: method.
Ablehnungen sind Anweisungen
Jede abgelehnte Behauptung führt eine Zeile pro Problem auf, die mit einem stabilen Code endet. Die Meldung hat die Arithmetik schon erledigt und enthält oft den ehrlichen Satz — verwenden Sie ihn. In Python liefert GraphError.problems code, message, fix und words.
| Code | tun Sie Folgendes |
|---|---|
ABSOLUTE_UNDERPOWERED | „nie“ bei 0 von n mit zu wenigen Versuchen. Schreiben Sie den ehrlichen Satz, den es Ihnen gibt („kein Vorkommen in n Versuchen (95-%-Obergrenze X)“), oder führen Sie die Versuche aus, die es für nötig hält. |
ABSOLUTE_HIDES_DENOMINATOR | Nehmen Sie n in die Aussage auf: „nie, in 3.000 Proben“. |
ABSOLUTE_WITHOUT_COUNT · ABSOLUTE_UNRELATED_COUNT | Sagen Sie, was beobachtet wurde („in k von n“); benennen Sie die Zählung nach dem, was sie zählt. |
UNBOUND_NUMBER | Binden Sie sie an ein Ergebnisfeld. Differenzen, Prozente, Quotienten und Intervalle, die aus gebundenen Zählungen berechnet sind, gehen durch — entfernen Sie die Zahl nie, um durchzukommen. |
EXCLUSION_WITHOUT_POWER | „Kein Effekt“ braucht eine Suche, die nachweislich einen eingepflanzten Effekt findet (power: demonstrated). Sonst zeichnen Sie kind: inconclusive auf und sagen „kein nachweisbarer Effekt“ — die Ablehnung nennt, welche Effektgröße sich verborgen haben könnte. |
COMPARATIVE_WITHOUT_COMPARISON | Binden Sie beide Seiten. |
SIGNIFICANCE_WITHOUT_TEST · SIGNIFICANCE_NOT_SHOWN | Binden Sie beide Seiten als k/n (das Protokoll testet sie) oder einen p-Wert; ist es nicht signifikant, sagen Sie es. |
UNCORRECTED_EFFECT | Das Protokoll hat für dieses Ergebnis ein korrigiertes p, und es ist nicht signifikant. Schreiben Sie „unkorrigiert“ in den Satz, oder binden Sie es und schreiben Sie „nach Korrektur nicht signifikant“, oder zeichnen Sie kind: lead auf. |
CAUSAL_WITHOUT_INTERVENTION | Sagen Sie „hängt zusammen mit“, oder stützen Sie es mit einem Experiment, das eingegriffen hat. |
Bevor Sie nie oder immer schreiben, rufen Sie bound(k, n, exposure) auf: was die Zählung trägt und wie viele Fehler sie in dem Maßstab nicht ausschließt, in dem die Behauptung genutzt wird. Setzen Sie exposure auf die Behauptung, damit ihr Stand diese Zahl trägt. Wenn Sie einen Knoten zurückziehen oder anfechten, listet die Antwort auf, was nun auf etwas Gefallenem beruht — sagen Sie den Verantwortlichen Bescheid. Die ganze Geschichte: die Arithmetik von nie.
Den Stand lesen
aktive Behauptung · geprüft (fisher:pass, v2) · 2 unabhängige Stützlinien · auf neuen Daten repliziert · keine externe Replikation
Geben Sie es wörtlich wieder. „Ungeprüft“ ist nicht „gezeigt“; eine von einem Agenten gemeldete Linie ist nicht „gesichert“. GEFÄHRDET: eine Prämisse ist gefallen. ÜBERPRÜFEN: die Grundlage einer Entscheidung hat sich geändert. OHNE STÜTZE: alle Stützung ist gefallen.
Für den Ingenieur, der es einbindet
Sie betreiben viele Agenten? Binden Sie die Bibliothek ein und legen Sie das Vertrauen selbst fest: Graph(path, policy=Policy(reviewers=…,
instrument="lab", operator="operator")). Setzen Sie den author jedes Aufrufers auf Ihrer Seite fest und lehnen Sie reservierte Namen ab. Geben Sie Ihrem Job-Ausführer die Identität des Instruments, damit seine Läufe als laboraufgezeichnet zählen. Übergeben Sie spend=, um die Arbeit jeder Untersuchung zu bepreisen. Der Leitfaden für Ingenieure enthält die Muster. Die HTTP-API (hypgraph.server.dispatch) und die HypGraph-Oberfläche (hypgraph.ui.static_dir()) passen in jedes Web-Framework.
Maschinenlesbar
- /llms.txt — die Kurzfassung
- /SKILL.md — die Skill für Agenten
- /agents.md — diese Seite als Markdown
- /schema/hypgraph-1.json — Knotentypen, Felder, Relationen, Urteile
- /spec/ — die Formate von Protokoll und Bundle
- /data/broad-street.bundle.json — ein vollständiges Beispiel-Bundle