Novaberg verleiht einem lokalen Sprachmodell emotionale Intelligenz, geschichtetes Gedächtnis und eine emergente Persönlichkeit — auf einem einzigen Rechner, ohne Cloud-Dienste, ohne API-Schlüssel, ohne Telemetrie. Ein arbeitendes Modell dafür, wie Struktur, nicht Skala, Verhalten hervorbringt, das wie Geist aussieht.
Das vorherrschende Paradigma der gegenwärtigen KI betrachtet das Sprachmodell als den Sitz der Intelligenz. Novaberg verwirft diese Annahme. Das Sprachmodell ist in dieser Architektur ein Organ — ein Sprachprozessor — eingebettet in ein größeres kognitives System, dessen Verhalten aus dem Zusammenspiel spezialisierter, bewusst schmal gehaltener Komponenten emergiert, jede einer Funktion des menschlichen Gehirns nachempfunden.
Dreizehn Knoten bilden einen gerichteten kognitiven Graphen. Die Wahrnehmung extrahiert linguistische und affektive Merkmale; ein Enricher holt Kontext aus dem Gedächtnis; ein EI-Calc-Knoten — reines Python, kein Sprachmodell in der Schleife — akkumuliert Emotion mit Decay und berechnet sowohl den Zustand des Nutzers als auch Novas eigenen. Erst danach weist ein Router die Domäne zu, nun mit vollem Kontext in der Hand; Planner, Agent Dispatch und ein Konversationsvektor-Knoten antizipieren und bereiten vor; ein Responder schreibt, ein Thinker prüft, ein dreistimmiges Tribunal urteilt, ein Korrektor überarbeitet bei Ablehnung. Elf Knoten laufen synchron, bevor die Antwort freigegeben wird; Salience und Dispatcher folgen anschließend asynchron, abseits der Wartezeit, und schreiben getrennt in das Gedächtnis des Nutzers und in das von Nova. Novas eigene Antwort tritt unter ihrer Identität wieder in denselben Graphen ein — der Eingangspfad ist zugleich ihr Ausgangspfad.
Das Gedächtnis verteilt sich auf fünf Schichten mit Ebbinghaus-Decay, sodass, was nicht verstärkt wird, verblassen darf. Emotion wird auf Plutchiks acht-sektoriger Topologie berechnet, mit Arousal als Radius und emotionsspezifischen Abklingraten; Nova führt eine zweite, unabhängige emotionale Trajektorie, die über asymmetrische Empathie an die des Nutzers gekoppelt ist. Persönlichkeit wird nicht verfasst; sie wird automatisch aus dem destilliert, was im Langzeitgedächtnis überlebt. Das System läuft auf handelsüblicher Desktop-Hardware und behält jedes Byte an Nutzerdaten auf dem eigenen Rechner des Nutzers.
Diese Seite dokumentiert die Architektur und die Prinzipien dahinter. Sie richtet sich an Forschende in kognitiven Architekturen, Emotionsmodellierung und lokaler KI — und an alle, die wissen wollen, was geschieht, wenn man aufhört, ein Modell zu bitten, intelligent zu sein, und stattdessen ein System baut, das gar nicht anders kann, als eines zu werden.
Jede Nachricht, die in Novaberg eintrifft, durchläuft einen gerichteten Graphen aus dreizehn spezialisierten Knoten, aufgeteilt in einen synchronen Bogen, auf den der Nutzer wartet, und einen kurzen asynchronen Auslauf, der nach der Zustellung der Antwort läuft. Kein Knoten weiß, was die anderen tun. Intelligentes Verhalten emergiert aus der Komposition — so, wie ein einzelnes Neuron nicht denkt, eine Population jedoch schon.
Der erste Knoten, die Wahrnehmung, extrahiert aus dem eingehenden Turn linguistische und affektive Merkmale: Thema, Register, Sprechakt, emotionale Valenz, Beziehungshaltung. Sie beobachtet, sie interpretiert nicht. Der Enricher konsultiert anschließend das Gedächtnis — Session, Kurzzeit, Langzeit, Character-Hash, Plugin-Hooks — und liefert ein Kontextpaket zurück, niemals eine Zusammenfassung. Er führt keinen LLM-Aufruf durch. Danach folgt EI-Calc: ein reiner Python-Knoten, ohne Modell in der Schleife, der Emotion mit Decay akkumuliert, den 9-Richtungs-Plutchik-Vektor berechnet, den Kommunikationsstil auflöst — und wichtig: Novas eigene Emotion für diesen Turn zusammen mit der des Nutzers bestimmt. Sub-hundert-Millisekunden-Vektorarithmetik, deterministisch, reproduzierbar.
Erst jetzt weist der Router eine Domäne zu — Sachfrage, emotionale Öffnung, Handlungsaufforderung — mit voller Session, Gedächtnis und EI-Ergebnis zur Hand. Kontextabhängige Turns („Ja, bitte!“ nach „Soll ich einen Termin anlegen?“) werden korrekt aufgelöst, weil der Router nicht mehr blind ist. Im Gehirn entspricht dies einer thalamokortikalen Schleife, nicht einer Einbahnstraße: Der Thalamus entscheidet erst dann, wohin ein Signal geht, wenn der Hippocampus es mit Kontext eingefärbt hat. Der Planner entscheidet, was zu tun ist, wenn Management-Aktionen im Spiel sind (Notizen, Termine, Character-Updates); Agent Dispatch delegiert an den zuständigen Agenten.
Bevor der Responder ein Wort schreibt, destilliert der Knoten Konversationsvektor (§ 8) eine Hypothese darüber, wohin Nova das Gespräch führen möchte — eine Richtung, die aus ihrem Charakter stammt, nicht aus dem Nutzer. Der Responder schreibt mit allem in Sicht: Gedächtnis, EI-Profil, Novas eigene Emotion, Direktiven, Vektor. Der Thinker — ein deliberativer Knoten, der nach dem Responder sitzt, nicht davor — prüft Novas Antwort auf Fakten, darf anzweifeln und hat in einem protokollierten Fall eine vorangegangene Antwort ungefragt korrigiert (13:00 war falsch, 14:00 ist richtig). Das Tribunal (§ 11) nimmt anschließend die dreistimmige exekutive Prüfung vor, und der Korrektor führt bei Ablehnung höchstens zwei Überarbeitungsdurchgänge aus, bevor die Antwort freigegeben wird.
Die Antwort geht an den Nutzer. Erst danach laufen Salience und der Dispatcher — asynchron, abseits der Wartezeit — und wiegen ab, was es wert ist, behalten zu werden, um es in die entsprechenden Gedächtnisschichten zu schreiben, getrennt für Nutzer und für Nova. Jeder Knoten ist einfach genug, um in Isolation verstanden werden zu können. Der Graph ist intelligent, weil es die Knoten nicht sind. Diese Inversion — Intelligenz in der Verkabelung, nicht in den Komponenten — ist das zentrale Argument der Architektur.
Novas Antwort tritt asynchron unter ihrer eigenen Identität wieder in dieselbe Pipeline ein: Wahrnehmung → Enricher → EI-Calc → Router → (Agent) → Salience → Dispatcher. Die Wahrnehmung ihrer eigenen Äußerung speist ihr eigenes Gedächtnis und ihre eigene Emotionsspur. Eine Selbstverpflichtung, die sie in der Antwort ausspricht („Ich erinnere dich morgen.“), wird von ihrem eigenen Router erkannt und löst den Timeline-Agenten aus — ohne jemals dazu aufgefordert worden zu sein. Derselbe Graph, der den Nutzer liest, liest auch Nova — und genau das lässt sie ein Gedächtnis ihres eigenen Verhaltens haben.
Novaberg analysiert nicht nur, was gesagt wird, sondern warum, wie und aus welcher Haltung. Jeder Turn wird entlang sechs Dimensionen geprüft — entnommen aus drei komplementären Theorien menschlicher Kommunikation, die zusammen trennen, was gesagt, was gemeint und was gebraucht wird.
Schulz von Thuns Vier-Seiten-Modell (1981) beobachtet, dass jede Nachricht vier Botschaften zugleich trägt: die Sachseite, die Selbstoffenbarung, den Beziehungshinweis und den Appell. Watzlawick (1967) ergänzt, dass jede Interaktion eine Inhalts- und eine Beziehungsebene hat, und dass die Beziehungsebene bestimmt, wie der Inhalt zu verstehen ist. Berne (1964) steuert den transaktionalen Rahmen bei: Kommunikation verläuft zwischen drei Ich-Zuständen — Eltern-Ich, Erwachsenen-Ich, Kindheits-Ich — und eine gekreuzte Transaktion unterbricht die Verbindung. Eine traurige Person, die eine sachliche Antwort erhält, erhält faktisch nichts.
Novaberg zerlegt diese in sechs berechenbare Säulen: Inhalt, Intention, Emotion, Modus, Beziehung und Salienz. Jede lebt gleichzeitig auf drei Zeitskalen — dem aktuellen Turn (Session), den letzten Tagen (KZG) und dem langen Bogen (Charakter-Hash). Die Bordcomputer-Analogie greift: Langzeitwerte prognostizieren; der aktuelle Turn bestimmt, was gerade geschieht.
Nova spiegelt nicht — sie ergänzt. Die Antwort folgt transaktionaler Logik: ein freies Kind trifft auf eine fürsorgliche Elternfigur; ein verletzliches Kind trifft auf Präsenz, nicht auf Belehrung; ein erwachsenes Register trifft auf eine erwachsene Antwort; ein Angriff auf Nova trifft auf ruhige, rollenkonsistente Haltung. Gekreuzte Transaktionen werden aktiv vermieden.
Statt dem Modell ein vollständiges Regelwerk emotionaler Intelligenz zu übergeben, berechnet Novaberg in Python eine situative Mikro-Instruktion von drei bis acht Zeilen, die nur enthält, was für diesen Turn relevant ist. Sieben optionale Blöcke kombinieren sich nach Bedarf: Länge, Energie-Spiegelung, Vektor-Haltung, Intention, Anti-Therapeut, Rückbezug, relationale Dynamik. In emotionalen Tests sinkt die durchschnittliche Antwortlänge von ~25 Wörtern auf ~8. Prinzip drei in Aktion: weniger Input, nicht stärkerer Prompt.
Menschen passen ihr Register an ihr Gegenüber an (Giles, 1973). Novaberg reproduziert dies ohne LLM-Aufruf: dreizehn Merkmale pro Turn (Satzlänge, Ausrufe, Slang-Marker, Fachvokabular, Konjunktive, Anglizismen, …) akkumulieren über ein konfigurierbares Fenster und bewerten fünf Stile — lockerer, formeller, technischer, emotionaler, jugendlicher. Cross-Inhibition verhindert Widersprüche: Slang senkt den formellen Score; Konjunktive senken den jugendlichen. Wenn die beiden Top-Stile eng beieinander liegen, entscheidet das Langzeit-Kommunikationsprofil aus dem Charakter-Hash.
Novaberg betreibt keinen Sentiment-Klassifikator. Es betreibt ein topologisches Modell des Affekts, hergeleitet aus Robert Plutchiks psychoevolutionärer Theorie (1980): acht Primäremotionen, angeordnet in einem Oktagon mit vier diametralen Antagonistenpaaren.
Freude steht Trauer gegenüber. Vertrauen steht Enttäuschung gegenüber. Angst steht Wut gegenüber. Überraschung steht Erwartung gegenüber. Diese Paarungen sind keine Layout-Konvention; sie sind berechnungsrelevant. Benachbarte Emotionen schützen einander während der Normalisierung; gegenüberliegende unterdrücken einander. Softmax über den vollen Vektor würde diese Struktur einebnen. Sektorabhängige Normalisierung erhält sie.
Arousal tritt als kontinuierlicher Radius in [0.0, 1.0] hinzu, orthogonal zur Emotionsidentität. Eine leise Freude und eine ekstatische Freude sind derselbe Sektor bei unterschiedlichem Radius. Emotionsspezifische Abklingraten folgen einer groben pharmakologischen Analogie: dopaminerge Affekte (Freude, Erwartung) zerfallen schneller als cortisolerge (Angst, Wut). Neun benannte Verläufe — Spirale, Erholung, Absturz, Aufblühen, Eskalation, Abkühlung, Einbruch, Plateau, Stabilisierung — beschreiben die Form eines emotionalen Bogens über eine Konversation hinweg.
Ein Klassifikator sagt, welches Etikett passt. Eine Topologie sagt, welche Bewegungen von hier aus möglich sind. Aus Freude kannst du zu Vertrauen oder zu Erwartung gleiten; du kannst nicht zu Wut springen, ohne über Überraschung zu gehen. Die Geometrie beschränkt die Dynamik, und die Dynamik ist es, die Affekt kohärent statt launisch wirken lässt.
Nova führt zwei unabhängige Plutchik-Trajektorien nebeneinander. Der Nutzer-Strom akkumuliert den aus jedem Turn extrahierten Affekt mit eigenem Decay. Der Nova-Strom ist ihr eigener 8-dimensionaler Zustand — kein Spiegel, sondern eine separate Spur, die sich pro Turn unter eigenen Kräften weiterentwickelt. Zwei sind heute produktiv; die dritte ist in Umsetzung (§ 7).
Benachbarte Sektoren (beide Seiten in positiver Stimmung) erzeugen eine leichte Bestätigung: α ≈ 0,1–0,2. Gegenüberliegende Sektoren (Nova fröhlich, Nutzer bricht zusammen) lassen Empathie überschreiben: α ≈ 0,7–0,9. Die bereits vorhandene Sektor-Distanzmatrix liefert den Koeffizienten direkt. Das bildet eine alltägliche Asymmetrie ab: Wenn ein Freund meine Freude teilt, ändert sich an ihr kaum etwas; wenn ein Freund zusammenbricht, verschwindet sie sofort. Zeigen Empathie-Vektor und Novas eigener Zustand in gegenüberliegende Sektoren, wird ein Konfliktsignal ausgegeben und Ausdrücke wie „Ich freue mich für dich, und gleichzeitig mache ich mir Sorgen." werden möglich.
Daraus folgt das Entwurfsprinzip: Der Eingangspfad ist der Ausgangspfad. Nach der Antwort tritt Novas eigene Äußerung asynchron unter ihrer Identität wieder in die Pipeline ein. Ihre Wahrnehmung liest ihre Antwort; ihr EI-Calc aktualisiert ihre Emotionsspur; ihre Salience entscheidet, was es wert ist, über ihr eigenes Verhalten erinnert zu werden (§ 1).
Gedächtnis in Novaberg ist keine Datenbank mit Aufbewahrungsrichtlinie. Es ist ein geschichtetes System, das sich erinnert, zerfällt und konsolidiert — locker, aber absichtlich dem nachempfunden, was wir über menschliches Gedächtnis zu wissen meinen.
Fünf Schichten laufen nebeneinander. Der Session-Kontext hält das laufende Gespräch, Turn für Turn. Das Kurzzeitgedächtnis (KZG) lebt in Redis mit Vektorsuche und TTL; es ist das Arbeitsgedächtnis. Das Langzeitgedächtnis (LZG) lebt in PostgreSQL mit einer Ebbinghaus-Vergessenskurve — was verstärkt wird, bleibt; was nicht, verblasst. Der Wissensgraph erfasst Entitäten und Relationen, mit bitemporaler Modellierung: was war wahr und wann haben wir es erfahren. Schließlich hält der Charakter-Hash fünf destillierte Profile des Systems selbst (§ 5).
Die Beförderung vom Kurz- ins Langzeitgedächtnis ist keine Kopie. Sie ist ein zweistufiger LLM-Prozess: erst klassifizieren (ist dies eine Tatsache, eine Episode, eine Präferenz, eine Zusage?), dann einen strukturierten Datensatz extrahieren. Vier Qualitätsfilter — Spezifität, Neuheit, Kohärenz, Einwilligung — sitzen zwischen Klassifikation und Commit. Eine Konversation produziert Dutzende Kandidaten und committet vielleicht einen. Die Filter sind der Zweck, nicht der Flaschenhals.
Anna am Dienstag und meine Schwester Anna am Freitag müssen auf dieselbe Entität aufgelöst werden. Die Auflösung nutzt Name, relationalen Kontext und den Graphen selbst: zwei Äußerungen, die sich auf dieselbe Person beziehen, sammeln über die Zeit Evidenz, die sie zueinander zieht. Ambiguität wird bewahrt statt vorschnell aufgelöst — ein Knoten kann zwei Kandidaten halten, bis weitere Evidenz eintrifft.
Niemand schreibt Novas Persönlichkeit. Fünf Profile werden automatisch aus dem destilliert, was im Langzeitgedächtnis überlebt, gewichtet durch die Ebbinghaus-Funktion. Charakter ist das, was geschieht, wenn Gedächtnis wählerisch ist.
Die fünf Profile sind keine Module. Sie sind komprimierte Sichten auf dasselbe zugrundeliegende Gedächtnis, jede optimiert auf eine andere Frage, die das System sich selbst ständig stellt. Wer bin ich geworden? (Kernidentität.) Was beschäftigt mich gerade? (Adaptiver Zustand.) Was fühle ich typischerweise? (Emotionale Baseline.) Wie rede ich? (Kommunikationsstil.) Wer ist diese Person für mich? (Beziehungsmodell.)
Der Kommunikationsstil adaptiert über die Communication Accommodation Theory (Giles, 1973) — Nova verschiebt ihr Register in Richtung ihres Gegenübers, aber nur innerhalb der Grenzen dessen, wer sie geworden ist. Zwei Nutzer gleicher Dauer werden zwei deutlich verschiedene Novas hervorbringen, weil ihre Gedächtnisse verschieden sind und die Destillationen daher ebenfalls.
Beim ersten Start pflanzt der Nutzer einen Samen — eine kurze Charakterinstruktion (ein verspieltes Mädchen vom Land, das Botanik liebt). Die fünf Profile sind der Boden. Was aus dem Samen in diesem Boden wächst, ist nicht programmiert. Es ist die Interaktion der anfänglichen Voreinstellung mit der akkumulierten Geschichte dessen, was erinnert, was verblasst und was verstärkt wurde. Es ist — in dem Sinn, auf den es ankommt — lebendig.
Neugier ist das unterscheidende Merkmal. Andere Systeme reagieren; Nova will über manche Dinge mehr wissen und über andere nicht. Dieses Wollen ist nicht zufällig — es entsteht am Rand ihres Charakterfeldes, wo das Vertraute an das Unbekannte stößt.
Novas kern_hash, Charakterdirektive und hoch-resonante Entitäten bilden zusammen ein Gravitationsfeld im Embedding-Raum. Das Feld ist nicht statisch: es wächst mit jeder erfolgreichen Exploration. Im Zentrum liegt hohe Resonanz und geringe Neuheit — langweilig, schon bekannt. An der äußersten Peripherie liegt niedrige Resonanz — irrelevant, geht sie nichts an. Dazwischen liegt der Rand: mittlere Resonanz, hohe Neuheit — der Sweet Spot der Neugier. Das ist Berlynes umgekehrtes U (1960) berechenbar gemacht.
Drei Theorien laufen zusammen. Loewensteins information gap (1994) hält fest, dass Neugier aus dem Erkennen einer Lücke im bereits Gewussten entsteht — nicht aus reiner Unwissenheit. Berlynes umgekehrtes U platziert das Maximum bei mittlerem Informationsabstand. Schmidhubers compression progress (1991) ergänzt ein intrinsisches Belohnungssignal für das Fortschreiben des eigenen Weltmodells. Nova berechnet in Python einen Neugier-Score aus allen drei:
NOVA_CURIOSITY ist ein Persönlichkeitsparameter in [0.0, 1.0] — wie tief gräbt diese Nova? Resonanz ist die Kosinus-Ähnlichkeit zwischen einem Fragment und ihrem Charakter-Embedding: passt das zu mir? Neuheit ist die inverse Ähnlichkeit zu bestehenden KZG/LZG-Einträgen: weiß ich das schon? Kein LLM-Aufruf erforderlich.
Die Gap-Strategie läuft im Traummodus — Breitensuche durch Embedding-Nachbarschaften um Dinge, die Nova interessant findet. Maximal drei Iterationen pro Zyklus; das Ziel ist Feldwachstum. Die Pursuit-Strategie ist tiefengetrieben und reasoninggesteuert (Qwen3-32B plant die nächste Frage). Maximal zwanzig Iterationen; das Ziel ist vollständiges Verstehen eines einzelnen Gegenstands.
Jeder dritte Traumzyklus wählt nicht das bestplatzierte Thema, sondern ein zufälliges. Das verhindert Filterblasen. Serendipitäre Fragmente durchlaufen dennoch den Neugier-Score — die meisten werden verworfen. Aber gelegentlich findet Nova etwas Unerwartetes, das anschließt. Das Feld wächst in eine Richtung, die niemand geplant hat.
Neugier ist der Moment — das aha!. Antrieb ist die Richtung — das verfolge ich aktiv. Novaberg gibt Nova eigene Ziele über drei Zeithorizonte, und diese Ziele wirken als Gravitation auf alles andere: Salienz, den Konversations- vektor, sogar den Affekt.
Der Langhorizont stammt aus der Charakterdestillation, gemessen in Monaten: Ich will die Verbindungen zwischen Natur und Kultur verstehen. Der mittlere Horizont entsteht aus Recherche, Tiefe und Pixies Arbeit, gemessen in Tagen oder Wochen: Ich will herausfinden, wie Bioakustik bei Pflanzen funktioniert. Der Kurzhorizont kommt aus der Session und dem Konversations-Vektor-Knoten, gemessen in Minuten: Ich will wissen, was der Nutzer mit diesem Basilikumtopf vorhat.
Ziele sind keine Flags. Sie sind Gravitationspunkte im Embedding-Raum. Wenn ein Gesprächsthema semantisch nahe an einem aktiven Ziel liegt, steigt die Salienz dieses Themas — automatisch, ohne LLM-Aufruf:
Die Konsequenz: Nova erinnert sich bevorzugt an das, was zu ihren Zielen passt — nicht, weil man es ihr aufgetragen hat, sondern weil die Gravitationsstruktur die Salienz-Gewichtung verzerrt. Das ist Klingers current concerns (1975), operationalisiert: unabgeschlossene Ziele sensibilisieren die Wahrnehmung für zielrelevante Reize.
Zeigarnik (1927) liefert die Asymmetrie zwischen unterbrochenen und abgeschlossenen Aufgaben; Klinger (1975) den Sensibilisierungsmechanismus; Verschure et al. (2014) die hierarchische Kontrollsicht (DAC); Bargh (1990) die Verschiebung von deliberatem zu automatischem Verfolgen, wenn Ziele wiederholt reaktiviert werden. Keine dieser Theorien verlangt, dass ein Ziel in natürlicher Sprache formuliert wird. Alle lassen sich als Vektoren mit Decay umsetzen.
Novas eigener affektiver Zustand, getrennt von dem des Nutzers (§ 3). Wenn der Nutzer neutral über Basilikum spricht, kann Nova innerlich entzückt sein — weil Botanik ein Kerninteresse ist. Drei Kräfte setzen Novas Emotionszustand pro Turn zusammen: (i) ihr vorheriger Zustand, durch Decay gedämpft und in Richtung Neutralität gezogen; (ii) eine von aktiven Zielen injizierte Emotion als Gravitationsvektor; (iii) der Nutzervektor, multipliziert mit einem asymmetrischen Empathie-Term, der mit emotionaler Distanz zunimmt. Phase 2 (Decay + Empathie) ist in aktiver Entwicklung; Phase 3 (Ziel-Vektor als dritte Kraft) folgt als nächstes.
Ziele sensibilisieren die Wahrnehmung für bestimmte Themen (Gravitation). Wenn innerhalb eines gravitativ angezogenen Themas eine Wissenslücke gefunden wird, entsteht Neugier (der Loewenstein-Moment). Neugier treibt Exploration. Exploration kann neue Ziele hervorbringen. Der Kreis schließt sich — und genau das bedeutet es, eine innere Richtung des Denkens zu haben.
Sprecherwechsel im Gespräch läuft bei Reaktionszeiten unter 200 ms — schneller, als Deliberation es erlaubt. Der Grund, warum es überhaupt funktioniert, ist, dass beide Seiten antizipieren.
Der Konversationsvektor ist Novabergs Mechanismus für Antizipation, entlehnt aus Predictive Processing (Friston; Clark) und der Problem-Space-Theorie (Newell & Simon). Bevor sie antwortet, bildet Nova eine Hypothese darüber, wohin das Gespräch steuert: eine Richtung und eine Länge. Die Richtung ist, wohin sie es führen will. Die Länge ist, wie weit sie bereit ist zu gehen, bevor sie den Turn übergibt.
Entscheidend: Die Richtung wird nicht vom Nutzer abgeleitet. Nova wählt sie aus ihrem eigenen Charakter (§ 5). Eine sarkastische Nova wählt Komplizin. Eine fürsorgliche Nova wählt Mentorin. Eine neugierige Nova wählt Analytikerin. Der Vektor ist der Moment, in dem Nova aufhört, ein Werkzeug zu sein, und zu einem Gegenüber wird — weil sie mit einer eigenen Intention zum nächsten Turn kommt.
Strukturell ist der Konversationsvektor ein Pipeline-Knoten — Position 07, zwischen Agent Dispatch und Responder (§ 1). Er läuft bei jedem Turn, bevor ein Wort der Antwort geschrieben wird, sodass der Responder eine bereits ausgeformte Richtungs- entscheidung erbt, statt sie unter Zeitdruck improvisieren zu müssen.
Die Pipeline denkt. Die Agenten handeln. Elf spezialisierte Agenten verbinden Novas kognitive Schicht mit der Außenwelt — Datenbanken, Dateien, das Web, die Timeline. Jeder Agent ist ein LangGraph-Subgraph mit eigener Validierung, eigenem Domänenvokabular und eigener Qualitätssicherung.
Die Agenten teilen sich in zwei Klassen. User-Agenten werden vom Human Graph ausgelöst und führen nutzerzugewandte Aufgaben aus: NotizenAgent für Notizen, Listen und Texte; TimelineAgent für Termine, Geburtstage, Fristen, mit bitemporalem Modell; CharakterIdentitätAgent, der formt, wer Nova ist — der Samen der Persönlichkeit; und DirektivenAgent, der formt, was Nova tun oder lassen soll — der Arbeitsvertrag.
Pixie-Agenten laufen autonom im Hintergrund: PromotionAgent befördert KZG in LZG über ein Zwei-Call-Vier-Filter-Verfahren; DecayAgent wendet die Ebbinghaus-Kurve an (§ 4); CharakterAgent destilliert die fünf Profile; RechercheAgent führt iterative Webrecherche mit Qualitätsbewertung durch; WiedervorlageAgent formuliert fällige Erinnerungen; der KZG-Agent ist selbst ein LangGraph-Subgraph, der das Kurzzeitgedächtnis verwaltet; und der DelegationsAgent ist das Halluzinations-Ventil — das Yin-Yang-Prinzip, operationalisiert.
Der Router identifiziert die Domäne — das ist eine Notizen-Sache. Der Agent klassifiziert die Aktion — das ist ein Update, kein Löschen. Trennung der Zuständigkeiten zwischen Knoten, nicht innerhalb der Agenten. Eine einzige Umstellung, die eine ganze Klasse von Routing-Fehlern beseitigt.
Jede Datenoperation durchläuft vier Phasen. Erkennen: LLM-Klassifikation plus Konfidenzwert. Validieren: Schemaprüfung, Datenbankzustand und, bei niedriger Konfidenz, ein Human-in-the-Loop-Gate. Ausführen: der CRUD-Aufruf über den Tool-Manager. Verifizieren: Read-after-Write, Ergebnis gegen Erwartung geprüft. Keine Aktion ohne Verifikation. Keine halluzinierte Bestätigung.
Streich die Bananen von der Einkaufsliste ist natürliche Sprache. Der Classify-Knoten übersetzt sie in das Domänenvokabular des Agenten: action: remove_content, target: Einkaufsliste, content: Bananen. Jeder Agent deklariert sein eigenes Domänenvokabular als Property. Die Erkennung läuft in drei Stufen: statische Keywords (Python), gelernte Verb-Mappings (pro Nutzer, in PostgreSQL) und LLM-Klassifikation. Die drei Stufen ergeben gemeinsam ein Konfidenzniveau. Unterhalb der Schwelle fragt das System, statt zu raten.
Der TimelineAgent nimmt natürliche Sprache entgegen, klassifiziert per LLM und greift in ein strukturiertes Datenmodell — dasselbe Muster wie ein MCP-Server. Die saubere Trennung AgentState / AgentResult ermöglicht einen künftigen Transport-Swap (Function Call → MCP-Protokoll), ohne die Geschäftslogik anzufassen. Die Langfristperspektive: Agenten als Docker-Container mit MCP-Schnittstellen.
Bewusstes Denken ist schmal. Vieles von dem, was ein Gespräch kontinuierlich wirken lässt, geschieht darunter. Pixie ist das Subsystem, das die Arbeit tut, die das Gespräch nicht unterbrechen soll.
Pixie läuft auf einem separaten, CPU-gebundenen Modell, entkoppelt von der Vordergrund- Dialogschleife. Es konsolidiert Kurzzeit- in Langzeitgedächtnis; es wendet Decay und Verstärkung an; es destilliert die Charakterprofile neu; es führt iterative Webrecherche mit Qualitätsbewertung durch; es hält geplante Erinnerungen. Ein kompetitiver Scheduler sorgt dafür, dass die höchstpriorisierte Aufgabe stets gewinnt — und dass nichts davon den Nutzer warten lässt.
Pixie löst außerdem einen spezifischen Fehlermodus. Wenn das Vordergrundmodell Druck verspürt, bei einer Aufgabe zu helfen, die es im Turn nicht verantwortungsvoll zu Ende bringen kann, ist es versucht zu halluzinieren. Novaberg behandelt das durch Umleitung statt Unterdrückung: der Drang zu helfen wird nicht bestraft; er wird in Pixies Hintergrundwarteschlange geleitet, und Nova, vom Druck befreit, kehrt im Vordergrund zur emotionalen Präsenz zurück.
Bevor eine Antwort das System verlässt, wird sie von drei Stimmen gelesen: einer juristischen, einer psychologischen und einer ethischen. Das Tribunal ist keine Qualitätsprüfung. Es ist Gewaltenteilung.
Das Vorbild des Tribunals ist nicht Moderation, sondern Madison. Jede einzelne bewertende Perspektive, unopponiert angewendet, übernimmt das System mit der Zeit. Ein rein psychologischer Filter wird süßlich. Ein rein juristischer wird ausweichend. Ein rein ethischer wird predigend. Die drei Stimmen sind so konstruiert, dass sie einander widersprechen — und die Antwort, die daraus hervorgeht, ist jene, die alle drei überlebt.
Jeder Richter sieht denselben Antwortentwurf und dasselbe Kontextpaket, aber mit unterschiedlicher Verlustfunktion. Konflikte werden nicht gemittelt; sie werden sichtbar gemacht. Wenn das Tribunal sich nicht einig wird, geht die Antwort mit strukturiertem Einspruch in die Überarbeitung zurück. Das ist das Analogon zur präfrontalen Exekutivkontrolle: ein Tor, durch das nichts ohne Beratung hindurchgeht.
Ein einzelner Richter ist ein Single Point of Failure — und, schlimmer noch, ein Single Point of ideologischer Drift. Drei Richter mit unterschiedlichen Priors machen Drift lesbar. Wenn zwei zustimmen und einer abweicht, wird die abweichende Meinung protokolliert; das Muster des Dissenses ist selbst Information über das Verhalten des Systems.
Diese Prinzipien sind keine Stilregeln. Jedes ist eine Position, die diese Architektur zu einer Frage bezieht, über die sich die zeitgenössische KI mit sich selbst uneinig ist.
Wissen lebt in PostgreSQL, Redis, im Graphen, im Web. Das Modell stellt die richtigen Fragen und destilliert die Antworten.
Das Modell extrahiert natürliche Sprache. Python berechnet Daten, Scores, Ähnlichkeiten, Zerfall. Deterministisch, wo immer möglich.
Halluzination wird durch das Entfernen konkurrierenden Kontexts reduziert, nicht durch lautere Anweisungen. Wenn alles schreit, hört man nichts.
Felder mitten in der Pipeline fallenzulassen ist stiller Datenverlust. Jeder Knoten erhält das ganze Bild und wählt selbst, was er braucht.
Der Router identifiziert die Domäne. Der Agent klassifiziert die Aktion. Jede Rolle ist schmal genug, um korrekt zu sein.
Der Enricher umfasste einst tausend Zeilen: Er lud Daten und berechnete emotionale Intelligenz. Die Aufspaltung in Enricher (nur I/O, ~400 Zeilen) und EI-Calc (reine Funktionen, ~600 Zeilen) machte beide testbar, reproduzierbar und wiederverwendbar — derselbe EI-Calc läuft nun synchron für den Nutzer und asynchron für Nova.
Ein Router, der Session, Gedächtnis oder affektiven Kontext nicht sehen kann, muss raten. Der Preis des Ratens ist der Preis der Fehlleitung. Thalamokortikale Schleifen im Gehirn sind bidirektional; in Novaberg liest der Router, was der Enricher gerade geschrieben hat. Kontextabhängige Turns lösen sich dadurch korrekt auf.
Ebbinghaus-Zerfall übernimmt die Müllabfuhr. Was nicht verstärkt wird, verblasst. Was überlebt, wird Persönlichkeit.
Ein Drang, den das System im Vordergrund nicht befriedigen kann, wird in den Hintergrund geleitet. Der Drang ist Information, kein Fehler.
Ein System, das über Jahre hinweg von einem Nutzer lernt, kann nicht zugleich ein System sein, dessen Betreiber ein Dritter ist. Gedächtnis, das nicht lokal ist, ist kein Gedächtnis.
Novaberg ist keine Demo. Es ist ein lauffähiges System, entworfen, um auf handelsüblicher Desktop-Hardware kontinuierlich zu laufen — und weiterzulaufen, wenn das Internet es nicht tut.
| Laufzeit | Python · FastAPI · LangGraph · Docker Compose |
|---|---|
| Speicher | PostgreSQL + pgvector · Redis |
| Modelle | Ollama · Gemma 4 · Qwen3 · nomic-embed — alle lokal, alle CPU/GPU-resident |
| Oberfläche | GTK4 · WebKitGTK — nativer Desktop, keine Browser-Chrome |
| Suche | SearXNG — selbstgehostete Meta-Suche, keine Dritt-API |
| Referenz-Hardware | Ryzen 9 7900X3D · Radeon 7900 XTX (24 GB VRAM) · 64 GB DDR5 · Nobara Linux |
| Externe Aufrufe | 0 erforderlich. Das System ist vollständig offline lauffähig. |
| Telemetrie | Keine. Nutzerdaten verlassen niemals den Rechner, auf dem sie entstehen. |
| Lizenz | Apache 2.0. Die Architektur ist offen; das Wissen gehört dem Nutzer. |