Ein KI-Agent für mein persönliches Netzwerk
Mein Netzwerk wurde zu groß, um mir zu merken, wer was braucht und wer helfen könnte. Ich habe eine Android-App gebaut, in der ich ein Gespräch in einfachen Worten beschreibe. Ein KI-Agent speichert es bei den richtigen Personen und beantwortet Fragen zu ihnen. Dabei kann er nur über Tools handeln, die auf meinem Handy laufen.
- Meine Rolle
- Ich habe das Produkt, den Agenten, seine Tools und seine Sicherheitsregeln entworfen. Den Code haben die Coding-Agenten Claude Code und Codex geschrieben.
- Status
- Ich habe im August 2026 mit der App begonnen und nutze sie für mein eigenes Netzwerk. Der Code ist öffentlich auf GitHub.
- Stack
- Android, Claude Agent SDK auf meinem privaten KI-Gateway, Tool Calling mit JSON Schema, verschlüsseltes Backup auf GitHub
- Umfang
- 17 Tools, die Datensätze lesen, sie ändern oder mich um Bestätigung bitten
Das Problem
In ganz normalen Gesprächen kommen nützliche Fakten zur Sprache: woran jemand arbeitet, was die Person braucht und was sie anbieten könnte. Als ich mehr Menschen kennenlernte, verlor ich den Überblick über diese Fakten.
Kontakt-Apps speichern Namen und Telefonnummern. Fragen wie „Wer könnte dabei helfen?“ oder „Worüber haben wir beim letzten Mal gesprochen?“ können sie nicht beantworten.
Wie die App gewachsen ist
Die erste Version im August 2026 hatte Formulare für Personen, ihre Anliegen und ihre Fähigkeiten. KI machte aus einer Notiz einen Vorschlag, und ich prüfte ihn, bevor etwas gespeichert wurde.
Ich habe KI-Modelle mit dem echten Schema der App getestet. Ein Modell brach bei strukturierten Antworten immer wieder wegen Zeitüberschreitung ab, also bin ich zu einem anderen gewechselt. Im September 2026 habe ich alle KI-Aufrufe auf Claude umgestellt, über mein privates Gateway.
Jede neue Art von Anfrage brauchte ihren eigenen Prompt, ihr Schema, ihren Parser und ihren Bildschirm. Deshalb habe ich den Assistenten Mitte September neu gebaut, als Agenten, der Tools nutzt. Jetzt bearbeitet ein einziger Chat Notizen, Fragen und Korrekturen.
So wird eine Nachricht verarbeitet
- Nachricht Ich tippe oder diktiere eine Notiz zu einem Gespräch oder stelle eine Frage.
- Claude plant Auf meinem Gateway entscheidet Claude, welches Tool als Nächstes aufgerufen wird. Claude beginnt ohne gespeicherte Datensätze.
- Gateway-Prüfung Das Gateway prüft jeden Tool-Aufruf gegen sein JSON Schema und schickt ihn dann an das Handy.
- Tool läuft auf dem Handy Die App prüft den Aufruf noch einmal, führt ihn auf der Datenbank des Handys aus und schickt nur das Ergebnis zurück. Kontaktdaten verlassen nie das Handy.
- Antwort mit Undo Die Antwort listet jede Änderung auf, und ein Fingertipp macht sie alle rückgängig. Löschungen und Zusammenführungen warten auf meinen Fingertipp.
- DatenschutzDie Datenbank bleibt auf dem Handy, und Backups werden vorher verschlüsselt
- SpracheingabeDie Spracherkennung läuft auf dem Handy, wann immer das möglich ist
- FeedbackJede Antwort lässt sich mit einer festen Kategorie melden
Screenshots von einem Testhandy mit ausgedachten Personen.
-
Eine Notiz über eine neue Person: Die Antwort listet jede gespeicherte Änderung auf, mit einem einzigen Undo
-
Eine Frage ohne guten Treffer: Die Antwort sagt das und erklärt, warum
-
Der Tab Needs: wonach Menschen im Netzwerk suchen
Designentscheidungen
- Das Handy setzt die Regeln durch. Jeder Tool-Aufruf wird zweimal geprüft: vom Gateway gegen sein Schema und danach von der App. Die App stellt sicher, dass die Datensätze existieren, der Text nicht zu lang ist, nichts doppelt vorkommt und kein Datum in der Zukunft liegt. Ein abgelehnter Aufruf speichert nichts, und das Modell bekommt eine Fehlermeldung, die es lesen kann, um den Fehler zu beheben.
- Flexibel, aber umkehrbar. Anfangs wartete jede Änderung der KI auf meine Prüfung. Stattdessen habe ich mich für Flexibilität entschieden: Neue Einträge und Änderungen werden jetzt sofort gespeichert. Zu jeder Antwort bewahrt die App eine Kopie jeder Zeile vor und nach der Änderung auf, sodass ein Fingertipp die ganze Antwort rückgängig macht. Undo lehnt ab, wenn ich die Zeile seitdem bearbeitet habe.
- Löschungen warten immer. Die App löscht eine Person, eine Notiz oder einen Datensatz erst, wenn ich die zugehörige Karte antippe. Auch zwei Personen führt sie erst dann zusammen.
- Gespeicherter Text gilt als Daten, nicht als Anweisung. Der Prompt weist das Modell an, gespeicherte Notizen und frühere Nachrichten als Daten zu behandeln, nie als Anweisungen.
- Antworten stützen sich auf gespeicherte Datensätze. Der Assistent muss sagen, wenn die Belege veraltet oder dünn sind. Er darf nie nahelegen, dass jemand zu helfen bereit ist, nur weil eine alte Notiz eine Fähigkeit erwähnt.
- Von Grund auf privat. Die App hat keine Konten, keine Nutzungsanalyse und keinen Kontaktimport. Backups werden auf dem Handy verschlüsselt, bevor sie in ein privates GitHub-Repository gehen. Ein öffentliches Repository lehnt die App als Ziel für Backups ab.
Fehler finden und beheben
Jede Antwort hat einen Button „Report a problem“ mit festen Kategorien, etwa für die falsche Person, etwas Übersehenes oder einen falschen Datensatztyp. Ein Bericht enthält die Nachricht, die Antwort, die gespeicherten Änderungen und jeden Tool-Aufruf der Reihe nach, aber keine Kontaktdaten.
Die Berichte werden im verschlüsselten Backup übertragen. Auf meinem Computer entschlüsselt ein Skript nur die Berichte. Ich behebe den Fehler und prüfe die Korrektur auf einem Testhandy mit ausgedachten Personen.
Zum Beispiel zeigten Berichte, dass Studium und Ehrenamt als Jobs gespeichert wurden. Eine Testnotiz hatte vier Jobs erzeugt. Nach der Korrektur erzeugte sie nur noch einen Job, und der Rest landete bei Ausbildung und Hintergrundfakten.
Ich messe auch die Geschwindigkeit. Jetzt darf ein einziger Tool-Aufruf eine Notiz zusammen mit ihren Fakten speichern. Dadurch sank die Dauer eines Updates zu zwei Personen von etwa 23 auf etwa 12 Sekunden.
Status
Ich nutze die App für mein eigenes Netzwerk, und sie aktualisiert sich selbst über signierte GitHub Releases. Der Code, die README und die Datenschutzhinweise sind öffentlich auf GitHub.
Die Screenshots stammen von einem Testhandy mit ausgedachten Personen. Auf dieser Seite erscheint kein echter Kontakt.