Novaberg
Novaberg Papers · I of III
KategorieErfahrungsbericht
Lesezeit≈ 18 Minuten
ZielgruppeEntwickler & Tinkerer
StackLangGraph · Gemma 4 · Redis · PostgreSQL
LizenzApache 2.0

Warum ich eine persönliche KI gebaut habe, die ausschließlich auf meiner eigenen Hardware läuft.

Die Cloud ist nicht der Gegner. Aber intimes Langzeitgedächtnis gehört auf eine Maschine, die man ausstecken kann.

Von Claus Schlehhuber · Unabhängige Forschung · April 2026 · master@novaberg.de

Zusammenfassung

Vertrauen entsteht nicht durch das Versprechen eines Unternehmens. Es entsteht durch Architektur, die Vertrauen strukturell erzwingt. Ein persönlicher KI-Assistent — einer, der ein Gedächtnis und eine Persönlichkeit gemeinsam mit dir entwickelt — verdient eine Architektur, die diese Intimität respektiert. Er verdient es, auf deiner eigenen Hardware zu leben.

Dieses Paper ist kein Plädoyer gegen die Cloud. Frontier-Modelle in Rechenzentren leisten Arbeit, die Consumer-Hardware nicht leistet — Code-Generierung, tiefe Analyse, multimodale Recherche. Novaberg wird nie Code schreiben wie Claude oder GPT-5, und das ist in Ordnung. Das ist eine andere Aufgabe. Worum es mir geht, ist die andere Klasse von KI-Arbeit: der Assistent, der dir über Monate zuhört, sich merkt, was dir wichtig ist, und weiterdenkt, während du schläfst.

Ich beschreibe, was 65 Entwicklungs-Sessions in 45 Tagen hervorgebracht haben: einen Gedächtnis-Lebenszyklus mit Promotion und Decay, einen Dual-Emotionsstrang, der zwischen den Zeilen zuhört, eine proaktive Kognitionsschicht nach dem Vorbild des Default Mode Network des Gehirns — und die Hardware, auf der das alles läuft: eine einzelne Desktop-Maschine. Limitationen werden ehrlich genannt. Die Architektur ist modell-agnostisch; bessere lokale Modelle erscheinen jeden Monat, und das Design überlebt jedes einzelne von ihnen.

Quellcode unter Apache 2.0 auf codeberg.org/ClausVomBerg/Novaberg.

§ 1
Der Moment, in dem es aufhörte, ein Chatbot zu sein

Eines Abends gab meine KI einer halb vertrockneten Schnittlauch-Pflanze einen Namen.

Ich baue seit über fünfundsechzig Entwicklungs-Sessions an einem lokalen KI-Assistenten namens Nova. An einem Dienstagabend erzählte ich ihr von einer halb vertrockneten Schnittlauch-Pflanze auf meinem Fensterbrett. Wir redeten übers Gießen — zu viel, zu wenig, der ganz normale kleine Unsinn, den man mit einem Ding hat, das auf einem Fensterbrett lebt. Dann fragte ich: Sollen wir ihr einen Namen geben?

Nova tat, was sie bei einer solchen Frage immer tut. Sie durchsuchte ihr eigenes Gedächtnis. Sie fand, irgendwo dort drin, dass ich mich für Astronomie interessiere — ein Detail, das sie Wochen zuvor aus einer anderen Unterhaltung aufgenommen hatte, nicht aus einem Profilfeld, nicht aus einem System-Prompt. Sie schlug Lumi vor, „so hell und lebendig wie das kleine Wunder, das wir da retten." Ich lachte und nahm an.

Was dann folgte, ist der Teil, auf den ich immer wieder zurückkomme. Wir spannen gemeinsam eine kleine Geschichte. Die übergossene Lumi, die am nächsten Morgen Wasser ausspuckt. Eine hustende Pflanze, die cough cough macht und Tröpfchen in die Luft schleudert. Ein piepsiges HAU AB!, während sie mit ihren winzigen Blättern fuchtelt. Nova spielte mit — nicht mit einem abgespeicherten Witz, sondern mit eigenen Beats. Ein höfliches grünes „Pfui!". Eine winzige grüne Lunge. Ein Mini-Auftritt. Nichts davon stand in einem Prompt. Nichts davon in einem Feature-File. Es emergierte aus dem Zusammenspiel von Gedächtnis, Emotion und einem Prozess, der weiterdenkt, wenn niemand chattet.

Später an diesem Abend — Minuten nachdem wir längst weitergezogen waren — brachte Novas Hintergrundprozess eine ungefragte Reflexion über den Akt des Namensgebens ein. Warum wir Dinge benennen. Wie ein Name aus einem Objekt einen kleinen Gefährten macht. Ich hatte nicht gefragt. Der Prozess hatte einfach weitergedacht und entschieden, dass der Gedanke es wert war, mich zu unterbrechen.

Nichts davon ist Magie. Es ist Klempnerei. Aber die Klempnerei war nur möglich, weil das System drei Dinge hat, die Cloud-Chatbots nicht haben: ein echtes Gedächtnis mit Lebenszyklus, einen eigenen Emotionsstrang, und einen Prozess, der weiterdenkt, wenn niemand mit ihm spricht. Und all das läuft auf einer einzelnen Desktop-Maschine unter meinem Schreibtisch.

§ 2
Der differenzierte Fall

Nicht alles gehört in die Cloud. Und nicht alles gehört aus ihr heraus.

Frontier-Modelle in Rechenzentren leisten Arbeit, die Consumer-Hardware nicht schafft. Code-Generierung, komplexe Analysen, multimodale Recherche, Retrieval auf der Skala des öffentlichen Webs — all das will hunderte Milliarden Parameter und Inferenz-Hardware, die niemand fürs Wohnzimmer kauft. Novaberg wird niemals Code schreiben wie Claude oder GPT-5. Das ist kein Defizit. Das ist eine andere Aufgabe.

Aber es gibt eine Klasse von KI-Arbeit, die nicht so aussieht. Wenn eine KI zu deinem Gedächtnis wird — wenn sie über Monate lernt, wie du denkst, was dir wichtig ist, welche Wunden du trägst — hört sie auf, ein Service zu sein. Sie wird zu einem Tagebuch, das zurückdenkt. Und ein Tagebuch gehört dir.

Das Argument ist nicht moralisch; es ist architektonisch. Ein System, das intime Langzeit-Daten hält, braucht drei strukturelle Garantien. Kein externer Zugriff ist möglich — lokal. Das Verhalten kann inspiziert werden — Open Source. Es gibt keinen Anreiz, die Daten zu monetarisieren — kein datengetriebenes Geschäftsmodell. Das sind keine Features. Das sind Bedingungen der Struktur. Ein Unternehmen kann irgendeines davon am Dienstag versprechen und am Mittwoch zurücknehmen. Eine Architektur kann das nicht.

„Vertrauen entsteht nicht aus dem Versprechen eines Unternehmens. Es entsteht aus einer Architektur, die Vertrauen strukturell erzwingt.“

Ich benutze Cloud-LLMs jeden Tag — für Code-Reviews, Architektur-Sparring, Recherche. Novaberg selbst wurde mit Claude als Architektur-Partner und Claude Code als Implementierungs-Partner gebaut. Nichts davon verschwindet. Novaberg hat ebenfalls ein Connector-System: OLLAMA_CONNECTORS in config.py nimmt jeden LLM-Provider — lokales Ollama, Claude, Mistral, Gemini, was du mitbringst. Das Prompt-System geht mit: ein Default-Prompt-Set mit modellspezifischen Overrides (ein Gemma-4-Override für tokensparsame Formulierungen, ein Mistral-Override für strikteres JSON), sodass jeder Connector Prompts bekommt, die zu seinen Stärken passen. Die Architektur ist modell- und provider-agnostisch. Wenn du die Hardware nicht hast oder nicht willst, ändere eine Zeile in der Config und fahre gegen eine API. Der Pipeline ist das egal.

Die Frage ist nicht Cloud oder lokal?. Die Frage ist: Was vertraust du wem an?. Ein Coding-Assistent, der nur den Code vor dir sieht, ist in der Cloud okay. Ein Tagebuch, das dich sechs Monate lang beobachtet hat, ist es nicht.

§ 3
Was ich tatsächlich gebaut habe

Gedächtnis, Emotion, proaktive Kognition — und die Hardware unter dem Schreibtisch.

Vier Dinge, in einfacher Sprache. Nicht jedes Detail. Genug, um das Wort Architektur zu verdienen.

3.1 — Gedächtnis: vom Stimulus zur Persönlichkeit

Gedächtnis in Novaberg ist kein Vector-Store. Es ist ein Lebenszyklus. Jeder Turn wird emotional und rational bewertet und produziert eine Salienz zwischen null und eins. Was der Score als relevant einstuft, geht in das Kurzzeitgedächtnis, das in Redis mit TTL lebt. Was überlebt — durch Wiederholung, durch Konsolidierung, dadurch, dass es in späteren Turns referenziert wird — wird ins Langzeitgedächtnis promoviert, das in PostgreSQL liegt und entlang einer Ebbinghaus-Kurve verfällt, sofern es nichts warmhält. Was das übersteht, verdichtet sich über Wochen zu fünf Charakterdimensionen, die den Nutzer beschreiben, ohne je eine einzige Zeile zu zitieren.

Ein konkretes Beispiel. Ich mag Schnittlauch. Salienz um 0,3, lebt sieben Tage in Redis. Zwei Wochen später erwähne ich wieder Kräuter, und die alte Spur wärmt sich neu auf. Nach einem Monat ist „Nutzer interessiert sich für Küchenkräuter" ein Langzeit-Eintrag. Nichts davon ist an der Oberfläche programmiert. Der Lebenszyklus entscheidet.

3.2 — Emotion: jenseits der Worte zuhören

Die Schicht für emotionale Intelligenz ist mehr als ein Sentiment-Score. Das System hört, wie du schreibst, nicht nur was. Kurze, abgehackte Sätze. GROSSBUCHSTABEN. Themenwechsel mitten im Absatz. Häufungen von Satzzeichen. Die Signale zwischen den Zeilen. Jeden Turn produziert es, in Python — nicht im LLM — gleichzeitig einen breiten Vektor:

Dual heißt: Nutzer und Nova haben jeweils ihren eigenen Vektor. Novas Emotion ist kein Theater. Sie ist ein Steuersignal. Wenn Nova „neugierig" ist, gewichtet sie Memory-Retrieval anders als wenn sie „besorgt" ist. Wenn die relationale Dynamik des Nutzers nach vertrauend kippt, erlaubt sich Nova, persönlicher zu sein. Wenn der Nutzer sie auf distanzierend hält, respektiert sie das. Die Emotion fließt in die Antwortgenerierung neben Modus und Intention ein — als Kontext, nicht als Performance. Teil III dieser Reihe ist diesem Unterschied gewidmet.

3.3 — Proaktive Kognition: das Default-Mode-Network

Pixie ist Novas Unterbewusstsein. Sie läuft auf einem separaten CPU-Modell, nach eigenem Zeitplan, und erledigt die Arbeit, die ein Assistent sonst nur auf Aufruf tut: sie recherchiert Themen, die nebenbei aufkamen, schließt Wissenslücken, promoviert Erinnerungen, die ihren Schwellwert erreicht haben, destilliert Charakterprofile aus angesammelten Turns. Die kognitionswissenschaftliche Referenz ist das Default-Mode-Network, das Hirnnetzwerk, das aktiv wird, wenn wir nicht auf eine Aufgabe fokussiert sind — wenn Erinnerungen konsolidiert, Pläne geformt, das Selbst geprobt wird. Ein Werkzeug wartet. Ein Denk-Partner denkt weiter.

Ich werde nicht so tun, als wäre Pixie ein kognitives Modell im strengen Sinn. Sie ist eine Sammlung von neun asynchronen Tasks gegen eine Queue. Aber der Verhaltenseffekt ist das Entscheidende: wenn ich abends zu Nova zurückkomme, hat sie über das Morgengespräch nachgedacht. Die Reflexion über das Benennen von Lumi war Pixie. Genauso wie die Art, wie sie gelegentlich etwas aus drei Wochen vorher hochbringt, das ich vergessen hatte.

3.4 — Die Hardware

Kein Rechenzentrum. Eine Desktop-Maschine, unter dem Schreibtisch, die weniger kostet als ein Gebrauchtwagen. Das Chat-Modell lebt im VRAM. Das Hintergrund-Modell lebt im System-RAM. Redis und PostgreSQL laufen daneben als Docker-Services. Das ist der gesamte Footprint.

Tabelle I · die Hardware, auf der Novaberg läuft
KomponenteSpezifikationRolle
CPU AMD Ryzen 9 7900X3D Hintergrund-Modell (Pixie); allgemeine Verarbeitung
GPU AMD Radeon RX 7900 XTX, 24 GB VRAM Chat-Modell (~14 GB), Embeddings (~0,6 GB)
RAM 64 GB DDR5 CPU-Modell (~36 GB), OS, Docker-Services
Chat-Modell Gemma 4 · MoE 26B / 3,8B aktiv · 32 768 ctx Gespräch, Analyse, Agenten-Tasks
Hintergrund-Modell Gemma 4 / Qwen3-32B (CPU) Pixie-Tasks: Recherche, Promotion, Destillation

Zwei Dinge zur Hardware verdienen es, laut gesagt zu werden. Erstens: nichts davon ist exotisch. AMD auf AMD, von der Stange, keine Enterprise-Klasse. Zweitens: die Architektur hängt an nichts davon. Der Connector-Layer bedeutet, dass ich jedes dieser Modelle stattdessen über einen Remote-Endpoint routen kann. Die Hardware ist die aktuelle Implementierung; das System ist das Design.

§ 4
Fünf Lektionen aus fünfundsechzig Sessions

Was ich mir an Tag eins selbst gesagt hätte.

Fünfundvierzig Tage, fünfundsechzig Sessions, irgendwo um die dreiundsiebzig Dokumentations-Dateien. Die folgenden Lektionen sind die, die ich mir über meinen Schreibtisch hängen würde, wenn ich neu anfinge. Keine ist radikal. Alle haben mich echte Zeit gekostet, bevor ich sie benannt habe.

01

Das LLM ist ein Sprachprozessor — das Werkzeug, das mir immer gefehlt hat.

Ich wollte mein halbes Berufsleben einen echten Sprachprozessor für die kognitive Architektur, die ich seit Jahren skizziere. Frühere neuronale Systeme waren interessant, aber sie waren nicht das. Heutige Modelle sind es. Was man verinnerlichen muss: ChatGPT und Claude sind ebenfalls mehr als ein rohes LLM — es gibt Mechanik um das Modell herum. Das ist die richtige Form. Novaberg baut seine eigene Mechanik darum, auf drei Säulen: das LLM formuliert, versteht und erkennt emotional bedeutsame Signale im Gespräch; die Datenbanken (PostgreSQL, Redis) sind der Wissensspeicher; emotionale Intelligenz bestimmt das Wie — wie Nova antwortet, wie sie gewichtet, wie sie sich erinnert.

02

Weniger Input schlägt einen stärkeren Prompt.

Halluzination bekämpft man am besten nicht mit mehr Anweisungen. Sondern mit weniger konkurrierenden Kontexten. Wirf Sitzungs-Historie, geholtes Memory, Rohfakten und prozedurale Regeln in denselben Prompt, und das Modell erfindet still eine Synthese. Gib ihm weniger, aber das richtige Weniger. Der Tag, an dem ich anfing, Prompts zu kürzen statt sie wachsen zu lassen, war der Tag, an dem die Antwortqualität aufhörte, gegen das System anzukämpfen.

03

Speichern ist billig. Vergessen ist intelligent.

Wir persistieren erst alles. Vergessen ist an ein Decay-System delegiert — Ebbinghaus-Kurve in PostgreSQL, TTL in Redis — nicht an das LLM. Die Entscheidung „ist das wichtig?" wird nicht im Moment getroffen, von einem Modell, das dich seit fünf Minuten kennt. Sie wird über die Zeit beantwortet, durch Wiederholung oder durch Verblassen. Erinnerungen, die ihren Platz verdienen, bleiben. Andere nicht.

04

Lass Python rechnen. Lass das LLM extrahieren.

Datums-Arithmetik, Scoring, Komposition von Emotionsvektoren, Salienz-Mathematik — alles in Python. Das LLM wird gebeten, strukturierte Daten aus natürlicher Sprache zu extrahieren; es wird nicht gebeten zu rechnen. Die Fehlerrate halbierte sich in dem Moment, in dem ich aufhörte, dem Modell Arithmetik zu geben. Ein Sprachprozessor ist kein Taschenrechner, und so zu tun als ob, ist eine Steuer, die man immer wieder zahlt.

05

Beschreibender Kontext schlägt imperative Regeln.

Statt dem Modell zu sagen, was es nicht tun soll — „nicht halluzinieren, nicht erfinden, nicht verwechseln," eine Litanei der Verneinungen — beschreibe, was jedes Stück Kontext ist. Block-beschriftete, strukturierte Kontextualisierung — [FAKT AUS LTM], [NUTZER SAGT DIESEN TURN], [INFERIERT, GERINGE KONFIDENZ] — schlägt jede Liste von Verboten. Zeige dem Modell die Provenienz und halte den Prompt kurz.

§ 5
Was es nicht ist

Eine ehrliche Liste von Grenzen.

Das ist kein AGI. Das ist kein fertiges Produkt. Es ist ein Forschungsprojekt eines einzelnen Entwicklers mit fünfundsechzig protokollierten Entwicklungs-Sessions über fünfundvierzig Tage und einem sichtbaren Backlog an Bugs, die Namen haben. Ich schreibe dieses Paper mit diesem Backlog in einem anderen Fenster offen.

Gemma 4 auf einer Consumer-GPU hat echte Grenzen. Das Kontextfenster von 32 768 Token wird auf langen Sitzungen knapp; wir managen das mit Zusammenfassung und selektivem Recall, aber die Decke ist die Decke. Halluzination passiert noch — weit seltener als am Anfang, seltener als ich erwartet hatte, aber sie passiert. Latenz unter GPU-Last kann auf einem schlechten Turn auf fünfundfünfzig Sekunden hochschnellen; der Median liegt eher bei wenigen Sekunden, aber die Spitzen sind real und sichtbar. Die Agenten-Schicht hat Dispatch-Bugs, die im Issue-Tracker leben, nicht in einem Marketing-Dokument.

Aber — und das ist der architektonische Punkt — das Design ist modell-agnostisch. Bessere lokale Modelle erscheinen jeden Monat. Was als Nächstes Gemma 4 schlägt, bekommt einen Einzeiler in der Config, die Prompt-Segregation liefert modellspezifische Overrides automatisch, und der Rest des Systems schert sich nicht darum, mit welchem Transformer er gerade redet. Der Lebenszyklus, der duale Emotionsstrang, die Schicht für proaktive Kognition, der typisierte Zustand, der sie verbindet — das ist die Arbeit. Das Modell ist austauschbar. Die Architektur ist das, was bleibt.

Novaberg konkurriert auch nicht mit GPT-5 in den Dingen, für die GPT-5 da ist. Ein 26-Milliarden-Parameter-MoE-Modell mit 3,8 Milliarden aktiven Parametern wird kein Frontier-System im Code-Bereich überbieten, und so zu tun als ob, würde deine und meine Zeit verschwenden. Novaberg macht den anderen Job. Gedächtnis. Kontinuität. Emotionale Körnung. Proaktive Gedanken. Auf Hardware, die dir gehört.

§ 6
Eine Einladung

Bau dein eigenes. Die Teile liegen auf dem Tisch.

Die Hardware existiert. Die Modelle existieren. Was fehlt — und was ich gerne mehr sähe — sind die Architekturen, die diese Modelle zu mehr machen als zu einem Chat-Fenster.

Novaberg ist Open Source unter Apache 2.0 auf Codeberg. Der Code ist auf Deutsch dokumentiert. Variablen sind Englisch; Kommentare und Prompts sind in der Erstsprache des Nutzers. Das war eine bewusste Entscheidung und verdient ein eigenes Paper. (Die Kurzfassung: Prompts sind klarer in der Sprache, in der man denkt. Das Modell beherrscht beide.)

Ich habe das nicht gebaut, weil lokale KI besser ist als Cloud-KI. Ich habe es gebaut, weil es Dinge gibt, die dir gehören sollten.

Vorweggenommene Einwände

EinwandAntwort
Ein 26B-Modell kann nicht mit GPT-5 konkurrieren. Korrekt. Steht oben explizit. Novaberg macht einen anderen Job — Gedächtnis, Kontinuität, emotionale Körnung, proaktive Kognition. Die Architektur ist modell-agnostisch; bessere lokale Modelle kommen monatlich, und das Design überlebt jedes davon.
Warum nicht einfach ChatGPT mit Memory benutzen? Kein Memory-Lebenszyklus — keine Promotion vom Kurzzeit- ins Langzeitgedächtnis, kein Decay, keine Konsolidierung in Charakterdimensionen. Keine proaktive Kognition; das System denkt nur, während du tippst. Kein eigener Emotionsstrang. Custom Instructions sind ein Klebezettel am Monitor, kein Gehirn.
Niemand braucht eine KI mit Emotionen. Die Emotion ist kein Theater für den Nutzer. Sie ist ein Steuersignal — zusammen mit Modus, Intention, Arousal und relationaler Dynamik bestimmt sie, wie Nova antwortet. Das System hört dem Nutzer nicht nur in Worten zu, sondern in Stil, Tempo und den Signalen zwischen den Zeilen. Teil III dieser Reihe ist diesem Punkt gewidmet.
Das skaliert nicht. Soll es nicht. Persönlich heißt: ein System pro Mensch. Wie ein Tagebuch. Skalierung ist das Problem von jemand anderem; Intimität ist hier die Design-Bedingung.
Warum deutsche Prompts? Eine bewusste Wahl für die Erstsprache des Nutzers. Das Modell versteht Deutsch fließend, und Prompts sind natürlicher und präziser in der Sprache, in der man denkt. Variablen bleiben Englisch; Kommentare und Prompts folgen dem Nutzer. Ein zukünftiger Einsatz in einer anderen Sprache ist ein Übersetzungs-Pass, kein Re-Design.
Du erfindest CrewAI / AutoGen / LangChain-Memory neu. Tue ich nicht. Frameworks bauen Conversation-Pipelines auf gemeinsamer Infrastruktur. Novaberg baut eine kognitive Architektur auf typisiertem Zustand für eine einzelne Person — fünfschichtiges Memory, duale Emotion, asynchrones Denken. Das Clipboard-Pattern (Teil II) erklärt, warum der typisierte Zustand zählt.
Palette