DoDone
← Alle Stories

DoDone entwickeln · 31. August 2026

Ist es wirklich gutes Design, jedes Gespräch zu merken?

Eine Frage, an der ich beim Aufbau von DoDone deutlich länger gearbeitet habe als erwartet, ist: Wie trägt man den Kontext eines Gesprächs im Chatfenster weiter? Wenn man ein AI‑Agenten‑Produkt baut, denkt man anfangs leicht vereinfacht: Kann man nicht einfach jede vorherige Nachricht in den Kontext packen?

Die Kontextfenster von Modellen wachsen weiter. Hunderttausende Tokens, inzwischen Modelle, die eine Million unterstützen. Es scheint also, als sei die beste Vorgehensweise, dem Modell so viel wie möglich von der Unterhaltung des Nutzers zu geben. Aber der Schluss, zu dem ich beim Aufbau von DoDone kam, war ein wenig anders.

Beim Gedächtnis einer KI geht es weniger darum, wie viel Sie hineinpacken können, sondern darum, zu entscheiden, was sie jetzt behalten muss.

Die intuitivste Art, mit langen Gesprächen umzugehen

Agenten wie Claude Code und Hermes nutzen eine Technik namens compaction, um lange Aufgaben am Laufen zu halten. Auch Anthropic beschreibt compaction als Kernmethode zur Verwaltung von Kontext in lang laufenden Agenten. Wenn ein Gespräch wächst, fasst man statt jeder alten Nachricht das Wichtige zusammen und baut neben den jüngsten Zügen einen frischen Kontext auf. Claude Code komprimiert ebenfalls alte Nachrichten und Arbeit, bewahrt dabei aber zentrale Designentscheidungen, offene Probleme und Implementierungsdetails.

Hermes' Implementierung ist konkreter. Sie komprimiert nicht anhand der Nachrichtenanzahl, sondern anhand eines Token-Budgets. Wenn die tatsächlich im aktuellen API-Aufruf verwendeten Prompt-Tokens einen festgelegten Bruchteil des Kontextfensters erreichen, greift die Kompaktierung automatisch. Die Standardschwelle liegt bei 50 %, und bei Modellen mit Fenstern kleiner als 512K wird sie auf mindestens 75 % erhöht, um ein zu frühes Komprimieren zu vermeiden. Einige neuere Nachrichten bleiben unverändert, während der mittlere Abschnitt zusammengefasst wird.

Es ist eine sehr vernünftige Struktur. Sie passt besonders gut, wenn ein einzelnes Ziel über längere Zeit läuft — eine Programmieraufgabe, ein Forschungsthema. Aber DoDone hatte ein etwas anderes Problem.

Warum DoDone nicht einfach das gesamte Gespräch weiter einspeist

DoDone ist ein virtuelles Büro, in dem KI-Kollegen arbeiten. Es geht nicht nur um eine KI und ein Thema, das stundenlang tief diskutiert wird. Ein Nutzer könnte mit dem Marketing-Kollegen sprechen, dann Arbeit an den Entwickler übergeben, ein Meeting in einem Projektkanal abhalten und anschließend eine Folgeaufgabe an einen bestimmten Kollegen weitergeben — und am nächsten Tag wieder nach diesem Kollegen suchen.

Mit anderen Worten: Chat in DoDone ist nicht nur ein Gesprächsfenster. Es ist die Oberfläche, in der Arbeit stattfindet. Dieser Unterschied hat das Kontextdesign verändert. Wenn Sie mitwachsend jede vergangene Nachricht dem Modell weitergeben, können Sie viel behalten — aber gleichzeitig treten drei Probleme auf.

Das erste ist die Kostenfrage. Ein LLM liest den Kontext bei jeder Anfrage erneut. Je länger das Gespräch, desto öfter senden Sie dieselben alten Nachrichten erneut. Besonders bei Modellen mit sehr großen Fenstern kann, wenn die Verdichtung spät erfolgt, die Kosten einer gesamten Sitzung stark ansteigen. Sogar bei Hermes wird diskutiert, dass sich bei einem 1M‑Modell und dem Standard‑Threshold von 50 % die erste Verdichtung erst nach 500K Tokens auslösen könnte.

Die zweite ist die Geschwindigkeit. Mehr Eingabe‑Tokens bedeuten mehr Informationen, die das Modell verarbeiten muss. Es ist nicht nötig, dass es wochenalte Gespräche neu liest, die mit der aktuellen Frage nichts zu tun haben.

Aber diejenige, die ich am stärksten gewichtet habe, war die dritte: Kontextverschmutzung.

Mehr Kontext ist nicht immer besser

Bei der Erklärung von Kontext-Engineering weist Anthropic darauf hin, dass Relevanz und Kontextverschmutzung auch bei langen Kontexten Probleme bleiben. Das ist ein wichtiger Punkt. Ein Millionen-Token-Fenster bedeutet nicht, dass es das Beste ist, es mit einer Million Tokens zu füllen.

Angenommen, ein Nutzer hatte diese Reihe von Gesprächen mit dem Marketing-Kollegen. Letzte Woche Branding für einen neuen Service. Vor ein paar Tagen Instagram-Anzeigen-Text. Gestern die Preisgestaltung des Produkts. Und heute bittet er um eine Pressemitteilung. Technisch können Sie all das dem Modell übergeben. Aber wenn die heutige Aufgabe eine Pressemitteilung ist, hilft es wirklich, die wörtlichen Hin- und Her-Änderungen der Instagram-Textbearbeitung von vor Wochen mit hineinzuziehen? Es schafft nur Platz für Informationen, die mit der aktuellen Aufgabe nichts zu tun haben, und die das Urteil des Modells beeinträchtigen können.

Deshalb ging es DoDone von Anfang an weniger darum, 'wie viel Unterhaltung einzubeziehen', und mehr darum, 'wie aktuell eine Unterhaltung vollständig behalten werden sollte'.

Die Herangehensweise von DoDone — das Aktuelle scharf im Fokus, das Ältere komprimiert

Heute behält DoDone die zuletzt 8 Aufgaben als detaillierten Kontext. Ein Gespräch mit einer Kollegin/einem Kollegen nutzt ein Detail‑Kontextbudget von etwa 20K Zeichen, der Master‑Channel ungefähr 16K. Bis zu den letzten 8 Aufgaben bleiben Details so intakt wie möglich; alles Ältere wird in eine laufende Zusammenfassung komprimiert, die den früheren Kontext mitträgt.

Vereinfacht ist die Struktur so: Vergangene Aufgaben 1–12 werden zu einer fortlaufenden Zusammenfassung, die jüngeren Aufgaben 13–20 bleiben als detaillierter Kontext, und das, woran Sie gerade arbeiten, ist die aktuelle Mission.

Der Kern ist: Alte Gespräche werden nicht gelöscht, ihre Detailauflösung wird nur reduziert. Neuere Beiträge bleiben in hoher Auflösung erhalten, ältere in niedriger. Das kommt dem menschlichen Gedächtnis ziemlich nahe. Wir erinnern uns nicht mehr an ein Gespräch von vor einer Woche Satz für Satz. Die wichtigen Kontextinfos bleiben jedoch: 'wir haben bei diesem Projekt den Preis auf $29 gesetzt', 'wir haben Solopreneure als Zielkunden gewählt', 'die nächste Aufgabe war, die Landingpage zu bauen.' Ich finde, lange KI‑Gespräche wirken mit dieser Struktur natürlicher.

Aber Zusammenfassungen haben auch ihre Grenzen

Natürlich ist eine fortlaufende Zusammenfassung kein Allheilmittel. Eine Zusammenfassung ist Kompression, und je stärker Sie komprimieren, desto mehr Details gehen zwangsläufig verloren. Und sobald sich 20, 30 oder 50 Aufgaben in einem einzigen Gespräch anhäufen, taucht ein weiteres Problem auf: Es wird unklar, ob der Nutzer überhaupt noch dasselbe macht.

Sie könnten damit beginnen, Marketingstrategie zu besprechen, mittendrin eine Homepage bauen, danach über Einstellungen reden und anschließend wieder Inhalte erstellen. Technisch kann das alles in einer Sitzung verbunden bleiben. 'Technisch möglich' und 'gute UX' sind jedoch zwei verschiedene Dinge. Deshalb hat DoDone kürzlich einen kleinen, spaßigen Mechanismus hinzugefügt.

Die KI ist die Erste, die sagt: 'Versuchen Sie, eine neue Unterhaltung zu starten'.

Wenn die Missionen in der aktuellen Sitzung 20 erreichen, informiert DoDone Sie zuerst. Das ist der Punkt, an dem sich die detaillierten letzten 8 plus etwa 12, die in die laufende Zusammenfassung gefaltet wurden, angesammelt haben. In diesem Moment erscheint diese Nachricht:

💡 Dieses Gespräch ist ziemlich lang geworden. Wenn das Thema gewechselt hat, schlage ich vor, eine neue Sitzung zu starten — die Antworten werden genauer und die KI‑Kosten sinken. Wenn Sie weitermachen, bleibt der frühere Verlauf als Zusammenfassung erhalten.

Wichtig ist: Die Sitzung wird dadurch nie zwangsweise beendet. Wenn Sie am selben Projekt weitermachen, machen Sie einfach weiter. Hat sich das Thema allerdings bereits verschoben, ist es deutlich besser, eine neue Sitzung zu starten — selbst dann bleibt der frühere Verlauf als zusammengefasster Kontext erhalten. Letztlich liegt die Entscheidung bei Ihnen.

Auch die Platzierung dieser Mitteilung war wichtig.

Ich habe mich nicht damit zufriedengegeben, die Meldung für lange Gespräche nur über die Anzahl der Nachrichten auszulösen. DoDone prüft das an zwei Stellen.

Der erste Moment ist der Eingang einer Aufgabenanweisung. Egal ob sie über ein 1:1 mit einer Kollegin/einem Kollegen, den Master‑Kanal, den All‑Hands‑Kanal, ein Meeting‑Follow‑up oder ein Projekt kommt: die Sitzungs­länge wird asynchron direkt nach Eingang der Anweisung geprüft. Ist die Bedingung erfüllt, erscheint der Hinweis natürlich unter der Anweisung, die der Benutzer gerade gesendet hat.

Der zweite Moment ist, wenn Sie einen Kanal betreten. Wenn Sie in der Office‑Ansicht auf eine Kollegin/einen Kollegen klicken, um einen Chat zu öffnen, oder einen Projektkanal betreten, wird der Zustand der aktuellen Sitzung geprüft. Ist er bereits lang genug, sehen Sie den Hinweis, bevor Sie überhaupt eine neue Nachricht senden. Innerhalb derselben Sitzung werden Sie nur einmal benachrichtigt; beim Start einer neuen Sitzung kann die Mitteilung wieder erscheinen. Das ist ein kleines UX‑Detail, aber in einem Agenten‑Produkt zählt so etwas sehr viel.

In einem KI-Agenten sind Gedächtnis und Kontext nicht dasselbe

Beim Aufbau von DoDone wird mir eines immer klarer: Gedächtnis und Kontext sollten nicht als dasselbe behandelt werden.

Gedächtnis ist das, was ein Kollege langfristig wissen muss. Nutzerpräferenzen, Unternehmensinformationen, Arbeitsweisen, wiederkehrende Regeln, wichtige Fakten aus vergangenen Projekten. Diese Informationen können Tage oder Monate später benötigt werden. Kontext ist anders — er gleicht eher dem Arbeitsgedächtnis, das für die aktuelle Aufgabe gebraucht wird. Die unmittelbar vorherige Anfrage, die Datei, an der gearbeitet wird, was gerade beschlossen wurde, das jetzt zu lösende Problem. Versucht man beides zu lösen, indem man alles in die Chat-Historie quetscht, wird das System schnell schwerfällig.

Ich denke, ein gutes Agentensystem hat am Ende mehrere Gedächtnisschichten: die aktuelle Mission (was gerade getan wird), den jüngeren Kontext (die letzten detaillierten Interaktionen), eine fortlaufende Zusammenfassung (der komprimierte Ablauf vergangener Arbeit) und Langzeitgedächtnis (Fakten und Regeln, die unabhängig von Sessions bestehen bleiben müssen). Das Kontextfenster des Modells ist nur der Raum, in dem die gerade benötigten Teile zusammengesetzt werden.

Je größer das Kontextfenster, desto wichtiger wird gutes Kontext‑Engineering.

Ironischerweise hatten Entwickler früher, als die Kontextfenster klein waren, keine Wahl und mussten Informationen stark kürzen. Als die Fenster auf 128K, 200K, 1M wuchsen, konnte man plötzlich viel aufnehmen. Und das brachte ein neues Problem mit sich: Man muss entscheiden, was man nicht mitaufnimmt.

Ein guter KI-Agent ist vielleicht nicht derjenige, der sich an alles erinnert. Was jetzt gebraucht wird, ist eine KI, die die Gegenwart scharf im Gedächtnis behält, Vergangenes angemessen komprimiert, Wichtiges ins Langzeitgedächtnis verschiebt und bei Themenwechsel einen neuen Arbeitsbereich anlegt. Letztlich ist die Arbeit, die Sie beim Aufbau eines Agenten immer mehr leisten, nicht Prompt-Engineering — sondern Kontext-Engineering.

Die Kernfrage verschiebt sich ebenfalls. Früher lautete sie: 'Was sollen wir dem Modell sagen?' Jetzt ist sie eher: 'Wie viel soll das Modell in diesem Moment eigentlich wissen?'

Genau damit habe ich mich beim Bau von DoDone am längsten beschäftigt. Nicht die KI möglichst vieles merken zu lassen, sondern dafür zu sorgen, dass sie sich im richtigen Moment an die richtigen Dinge erinnert. Ich glaube, hier entsteht der Unterschied, der künftig über die Qualität von KI‑Agenten entscheidet.

— Seungwon Go, der Solopreneur, der DoDone entwickelt