flowchart LR laptop["Notebook auf dem Laptop"] -->|"liest Sammlung"| studio["mac-studio: Notebook-Dienst und PDAI-1"] laptop -->|"lässt Block rechnen"| studio laptop -->|"holt Artefakt"| mini["mac-mini: Notebook-Dienst"] studio --> pdai["PDAI-Sammlungen"]
Famulus Notebook
Überblick
Ein Famulus Notebook ist ein Quarto-Dokument, in dem Fragen an die Sammlungen, ihre Antworten und die Prüfung dieser Antworten nebeneinander stehen; es ist die Form, in der Famulus-Arbeit festgehalten, wiederholt und mit anderen Rechnern geteilt wird.
1 Was ein Notebook enthält
Ein Notebook ist eine Datei <name>.fam mit Fließtext und Blöcken. Ein Block ist ein Codeblock der Sprache famulus. Er beginnt mit einer YAML-Präambel, die sagt, welche Sammlung gilt und welcher Plan laufen soll, und endet mit der Frage in gewöhnlicher Sprache. Der Plan heißt Partitur: eine Beschreibung der Schritte, die eine Frage beantworten, und der Bedingung, unter der die Frage beantwortet ist. Diese Bedingung ist das Ziel des Blocks.
Ein Block darf eine Erwartung mitführen, gegen die das Ergebnis geprüft wird. Diese Erwartung heißt Oracle. Ein Oracle ist eine Zahl oder Liste, die unabhängig vom Lauf bestimmt wurde, zum Beispiel durch eine SQL-Abfrage auf das Briefregister. Stimmt das Ergebnis mit dem Oracle überein, zeigt der Viewer „bestanden“. Hat ein Block kein Oracle, zeigt er „ohne Oracle“: der Lauf hat eine Antwort geliefert, aber niemand hat sie geprüft.
Oracle 75 Pirckheimer, 1520–1530
```{famulus}
---
id: briefpartner-zahl
collections: [pirckheimer]
years: {from: 1520, to: 1530}
subtask: correspondence-count
golden: golden-c782fab71c
---
Wie viele Briefpartner hatte Pirckheimer zwischen 1520 und 1530?
```Jeder Lauf schreibt eine Version: den Ablauf des Plans, das Ergebnis und das Urteil. Notebooks, Vorgaben und Versionen bilden zusammen das Projekt, einen gewöhnlichen Ordner. Wer den Ordner weitergibt, gibt Frage, Antwort und Prüfung zusammen weiter.
2 Wozu das Notebook dient
Das Notebook ist die Hauptform der Famulus-Arbeit. Drei Arten von Arbeit finden darin Platz:
Eine neue Frage wird unter Neue Frage eingegeben. Sie landet als Block im Notebook journal und läuft sofort. Die Frage bleibt damit erhalten, samt Antwort und Ablauf. Diese Oberfläche ersetzt das Chatfenster der alten ai-query-Oberfläche (Abfragen und Lernen).

Eine Frage an eine Briefsammlung bekommt keine bloße Zahl, sondern die Konklusion eines Arguments. Mit wem korrespondierte Kármán 1930–1940? Die Abfrage findet 491 Gegenparteien in 1.503 Briefen. Famulus prüft jeden Brief als Zeugen gegen das Register, verschmilzt 153 Dubletten und Registereinträge, die eine Person bezeichnen, und findet Briefe ohne aufgelöste Partei und ohne Datum. Daraus folgt: mindestens 443 Personen (1.390 Briefe), und genau 443 folgt nicht, weil das Register für den Zeitraum nicht abgeschlossen ist. Die ausführliche Ansicht zeigt jede Prämisse bis zum Registereintrag und zur Faksimileseite; Nicht überzeugend macht aus einem Einwand eine geprüfte Lektion für alle Argumente dieser Art.
Die Methode · Umsetzung · Lernen aus Begründungen · Datenmodell und Fehler · Aufsatz Famulus Reasoning (publication/arxiv/papers/famulus-reasoning/)
Die geprüften Fragen der Query-Pipeline, die Goldens, stehen als eigenes Notebook bereit: ein Block je Golden, mit Oracle. famulus-notebook goldens erzeugt es aus dem Manifest von ai-query. Ein Lauf des ganzen Notebooks zeigt, welche Fragen bestehen und welche nicht.
Ein Notebook hält auch Arbeit an Famulus selbst fest: eine Fehleranalyse, einen Vergleich zweier Instruktionen, die Gegenprobe einer Zahl. Die Beispiele unter Beispiele sind solche Arbeiten. Anmerkungen zu einem Ergebnis gehen in den Lernzyklus von ai-query; die Ansicht Lernen zeigt, was daraus geworden ist.
3 Verknüpfung mit anderen Rechnern
Die Sammlungen liegen nicht auf jedem Rechner. Ein Notebook kann deshalb einen anderen Famulus-Dienst nennen und dort lesen oder rechnen lassen. Ein solcher Dienst heißt Peer; der Eintrag, der ihn mit Namen und Adressen bekannt macht, heißt Verknüpfung. Die Adressen dürfen im lokalen Netz, in einem VPN oder im Tailnet von Tailscale liegen. Der Rechner probiert sie der Reihe nach und nimmt die erste, die antwortet.
Drei Dinge kann ein Block über eine Verknüpfung tun: eine Datenbank der fernen Sammlung lesen, den ganzen Block auf dem fernen Rechner laufen lassen, und ein Artefakt aus einem fernen Notebook übernehmen. Jede Antwort trägt den Namen des Peers, der sie geliefert hat. Einzelheiten und Sicherheitsregeln stehen unter Verknüpfung.
4 Wegweiser
| Seite | Inhalt |
|---|---|
| Installation | ein Rechner, ein Cluster, nur Notebooks |
| Ein Notebook schreiben | alle Attribute der Präambel |
| Blöcke und Partituren | was ein Block ausführt und wie die Präambel auf den Lauf abgebildet wird |
| Projekt | der Ordner einer Arbeit, Notebooks, Versionen, Aktualität |
| Referenzen | wie ein Block das Ergebnis eines anderen nennt |
| Verknüpfung | peers.yaml, Transportwege, Zugang |
| Viewer und Lektor | die Oberfläche, Anmerkungen, Diagnose |
| Abfragen und Lernen | Neue Frage, Goldens, Lernen; Ablösung der ai-query-Oberfläche |
| Betrieb | Dienst, Ports, Proben |
| Entwicklung | Tests, Build, Aufbau des Codes |

