PROJEKTEINBLICK ·
Er sollte sich etwas merken
Mit den Widgets konnten Informationen sichtbar bleiben. Aber damit war noch nicht geklärt, was mein Assistent behalten sollte. Ein Gespräch fortzusetzen, mich später an etwas zu erinnern und mir einen Überblick über den Tag zu geben, waren unterschiedliche Aufgaben. Ich musste ihnen jeweils einen eigenen Platz geben.

Eine Information auf dem Bildschirm ist praktisch. Wenn ich später darauf zurückkommen möchte, brauche ich allerdings mehr als eine sichtbare Fläche. Mein Assistent musste mit Informationen über den einzelnen Moment hinaus umgehen können.
Dabei steckten hinter dem Wort „merken“ mehrere Wünsche. Im Gespräch sollte eine Rückfrage nicht völlig ohne Zusammenhang dastehen. Eine gesetzte Erinnerung sollte zum passenden Zeitpunkt ausgelöst werden. Und für einen kurzen Tagesüberblick wollte ich vorhandene Informationen zusammenführen können.
Das klang zunächst nach einem gemeinsamen Thema. Bei der Umsetzung waren es aber verschiedene Aufgaben, die ich getrennt behandelte.
Ein Gespräch braucht Zusammenhang
Wenn ich auf eine Antwort eingehe, möchte ich nicht jedes Mal wieder alles erklären. Dafür bekam mein Assistent einen Gesprächsspeicher. Vorherige Eingaben und Antworten konnten bei einer Fortsetzung wieder als Kontext dienen.
Dieser Speicher blieb begrenzt. Ich wollte nicht einfach jede Unterhaltung endlos an die nächste Anfrage anhängen. Mit der lokalen JSON-Datei gab es außerdem einen Weg, Gesprächsverlauf über einen Neustart hinaus aufzubewahren, soweit das Speichern erfolgreich war.
Eine frühere Antwort wiederzufinden macht sie noch nicht automatisch richtig.
Gerade nach den Erfahrungen mit Halluzinationen war diese Unterscheidung wichtig. Auch im Gesprächsverlauf konnte eine falsche Aussage stehen. Der gespeicherte Kontext half beim Anschluss an ein Gespräch; er war keine geprüfte Wissensdatenbank.
Der Verlauf ließ sich auch wieder löschen. Das passte für mich zu einem persönlichen Assistenten: Ich wollte verstehen können, was er behielt, und diesen Zustand zurücksetzen können.
Eine Erinnerung braucht einen Zeitpunkt
Bei einer Erinnerung ging es um etwas anderes. Hier genügte es nicht, dass eine Bitte irgendwo im Gesprächsverlauf stand. Aus ihr musste ein Eintrag mit einer Fälligkeit werden.
Die Anwendung bekam dafür einen eigenen Erinnerungsdienst. Er verwaltete die Einträge, konnte sie auflisten und wieder abbrechen. Die Zeitsteuerung lag damit im Programm und musste nicht bei jeder Nachfrage vom Sprachmodell neu eingeschätzt werden.
| Gesprächskontext | Erinnerung |
|---|---|
| Hält vorherige Eingaben und Antworten bereit | Hält eine Aufgabe mit einer Fälligkeit fest |
| Hilft beim Fortsetzen einer Unterhaltung | Löst zum vorgesehenen Zeitpunkt ein Ereignis aus |
| Bleibt in seinem Umfang begrenzt | Hat einen eigenen Lebenszyklus bis zur Ausführung oder zum Abbruch |
Auch die Erinnerungen wurden lokal gespeichert. Beim Start konnte der Dienst noch ausstehende Einträge wieder einplanen. Das war eine andere Art von Beständigkeit als der Gesprächskontext: Hier ging es um eine Aufgabe, auf deren späteren Zeitpunkt sich die Anwendung vorbereiten musste.
Damit war auch klar, warum diese Funktion einen eigenen Dienst brauchte. Speichern, Warten und Abbrechen gehörten zum normalen Programmablauf. Sie sollten nicht davon abhängen, wie überzeugend ein Modell eine Erinnerung formulierte.
Aus vorhandenen Informationen wurde ein Briefing
Daneben kam das Daily Briefing dazu. Der Name klingt schnell nach einem großen persönlichen Tagesplan. Der vorhandene Anfang war deutlich überschaubarer: eine passende Begrüßung, Datum und Uhrzeit sowie das Wetter, wenn es erfolgreich abgerufen werden konnte.
Interessant war daran für mich vor allem die Zusammensetzung. Für das Wetter musste ich keine zweite Funktion schreiben. Der Briefing-Handler konnte den vorhandenen Wetterweg aufrufen und dessen Ergebnis ergänzen.

Das war wieder ein Moment, in dem die bisherigen Bausteine zusammenpassten. Eine neue Funktion konnte aus vorhandenen Fähigkeiten entstehen. Dafür musste ich nicht jeden Bestandteil erneut entwickeln.
- Der Gesprächsspeicher lieferte Kontext für die Unterhaltung.
- Der Erinnerungsdienst verwaltete zukünftige Aufgaben.
- Das Briefing stellte einen kurzen Überblick aus Datum, Uhrzeit und Wetter zusammen.
Diese Trennung hielt die Aufgaben überschaubar. Das Briefing war damit noch kein vollständiger Kalender und auch keine Zusammenfassung sämtlicher Erinnerungen. Es war ein Anfang, auf dem sich weiter aufbauen ließ.
Persönlicher wurde es durch den Zusammenhang
Meine Instruktionen hatten dem Assistenten bereits eine Rolle und eine Art zu sprechen gegeben. Mit Kontext und Erinnerungen kam eine andere Seite dazu: Informationen konnten über eine einzelne Antwort hinaus Bedeutung behalten.
Dabei blieb für mich dieselbe Frage wichtig wie bei den Skills und Widgets. Wo liegt die Information? Welcher Teil der Anwendung ist dafür zuständig? Und was passiert, wenn ich sie nicht mehr brauche?
Ich konnte diese Fragen jetzt für die einzelnen Funktionen beantworten, statt alles unter einem großen Begriff wie „Gedächtnis“ zusammenzufassen.
Mit dem Briefing zeigte sich außerdem, wie nützlich es war, vorhandene Informationen zusammenzuführen. Auch auf der Oberfläche wollte ich neben Wetter und Uhrzeit weitere Daten übersichtlich anzeigen. Das technische Log konnte ich in einer Seitenleiste ein- und ausblenden. So hatte ich direkt im Blick, was mein KI-Assistent gerade tat.













