Das Problem
Du schreibst: „Schick Jan eine Zusammenfassung des Wetters von morgen.“ Hinter diesem Satz stecken drei Handgriffe: das Wetter lesen, Jan in deinen Kontakten finden, dann die E-Mail verfassen. Die Reihenfolge zählt: Die E-Mail kann nicht losgehen, bevor Wetter und Adresse da sind.
Ein Sprachmodell, das diese Handgriffe nach und nach improvisiert, kann die Reihenfolge vertauschen, ein Werkzeug erfinden, das es nicht gibt, oder von einem Werkzeug zehn Ergebnisse verlangen, das nur fünf liefert. Solange nichts losgegangen ist, kostet der Fehler nichts. Ist die E-Mail einmal gesendet, schon.
Was ich wollte
Ich wollte, dass alles, was sich prüfen lässt, vor dem ersten Aufruf geprüft wird, solange eine Korrektur noch kostenlos ist. Und dass LIA dir, sobald der Plan läuft, ehrlich sagt, was passiert ist, ohne hinter deinem Rücken Schritte zu wiederholen.
Wie ein Plan aussieht
Ein Plan ist eine Liste von Schritten. Jeder nennt das aufzurufende Werkzeug, seine Parameter und die Schritte, die er braucht. Für Jan: (1) das Wetter von morgen, (2) der Kontakt Jan, (3) der E-Mail-Entwurf, der auf die ersten beiden wartet und die in Schritt 2 gefundene Adresse übernimmt.
- Parallele Wellen. Schritte, die auf nichts warten, starten gemeinsam. Hier werden Wetter und Kontakt gleichzeitig gesucht, dann folgt die E-Mail. Eine Anfrage, die mehrere Bereiche berührt, dauert also nicht unbedingt länger.
- „Für jeden“. „Schick die Tagesordnung an jeden Teilnehmer meiner Besprechung morgen“ wird zu einem einzigen Schritt, der sich über eine Liste wiederholt, mit einer Obergrenze. Scheitert einer der Versände, behalten die anderen ihr Ergebnis. Und bevor LIA auf eine ganze Liste einwirkt, zeigt sie dir, wie viele Elemente betroffen sind, mit einer Vorschau.
- Bedingungen. Ein Schritt kann auch ein Test sein: dies nur tun, wenn das zutrifft.
Was vor dem ersten Aufruf geprüft wird
- Echte Werkzeuge. Ein erfundener Werkzeugname wird erkannt, und die häufigsten kleinen Namensfehler werden korrigiert.
- Ein machbarer Plan. Um auf eine E-Mail zu antworten, braucht man ihre Kennung, also ein Werkzeug, das E-Mails liest. LIA stellt sicher, dass jede Angabe, die ein Werkzeug verlangt, von einem anderen vorhandenen Werkzeug beschafft werden kann. Sonst gäbe es keinen gültigen Plan, und dem Modell bliebe nur das Erfinden.
- Angekündigte Grenzen. Jedes Werkzeug sagt, was es akzeptiert, zum Beispiel wie viele Ergebnisse es auf einmal liefert, und der Planer sieht das. Ein Wert, der darüber hinausgeht, wird in die Grenzen zurückgeholt, und der Plan läuft weiter.
- Erst suchen, dann sortieren. „Meine Arzttermine diesen Monat“: Dein Kalender kann nach Datum suchen; was ein „Arzttermin“ ist, weiß er nicht. Der Planer wird angeleitet, den Zeitraum abzurufen und das Sortieren der Antwort zu überlassen, und der Prüfer erkennt, wenn sich ein solches Wort in eine Suche schleicht.
- Die Stimmigkeit. Ein Plan, der weniger oder mehr tut als verlangt („alle meine Kontakte“, aber nur einer wird bearbeitet), ein Schritt, der sich auf einen nicht vorhandenen Schritt bezieht, eine riskante Aktion auf Grundlage einer vagen Angabe: Der Plan geht zurück an den Planer, eine begrenzte Zahl von Malen. Fehlt eine Angabe, die niemand erraten kann, etwa der Inhalt einer E-Mail, stellt LIA dir die Frage. Und wenn ein Plan, der etwas ändert, nach diesen Runden zweifelhaft bleibt, hält sie an und stellt dir die Frage.
Wenn ein Schritt scheitert
Sobald der Plan läuft, wird nichts hinter deinem Rücken wiederholt. Bei einer vorübergehenden Störung hat es die betroffene Verbindung bereits erneut versucht. Ein getrennter Dienst oder ein verweigerter Zugriff lässt sich nicht mit einem neuen Plan umgehen. Ein leeres Ergebnis ist eine Antwort. Jeder gescheiterte Schritt kommt vollständig bei der Antwort an, die dir sagt, welches Werkzeug gescheitert ist, warum, und was daneben funktioniert hat.
Umgekehrt kommt auch an, was ein Lesezugriff gefunden hat: Die Fahrzeiten einer Route oder die nächste Seite einer Suche bleiben nicht in den Daten des Werkzeugs stecken. Und die Ablehnung eines Dienstes wird unterwegs nicht in einen Erfolg verwandelt.
Wenn du ein Ergebnis nach Absender, Titel oder Position benennst, verwendet LIA zunächst die tatsächlich gezeigten Einträge. Passen mehrere, fragt sie nach. Auch eine geplante Suche, die den ersten von mehreren Treffern bearbeiten würde, wartet auf deine Auswahl und arbeitet dann mit diesem Eintrag weiter.
Die Grenzen
Ein Plan wird geschrieben, bevor die Ergebnisse vorliegen. Er ändert unterwegs nicht den Weg: Wenn LIA eine andere Quelle suchen soll, falls die erste nicht antwortet, ist das die Aufgabe des ReAct-Modus, den du mit der Modus-Schaltfläche oben auf dem Bildschirm aktivierst. Und die Prüfung kontrolliert die Form des Plans; Gedanken lesen kann sie nicht. Ein gut geformter Plan kann missverstehen, was du wolltest. Deshalb läuft ein Versand, eine Änderung oder eine Löschung weiterhin über deine Bestätigung, abgesehen von ein paar Handgriffen, die nur dich betreffen und sich mit einem Klick rückgängig machen lassen.
Weiterlesen: Die Kontrolle behalten, ohne gestört zu werden: Wie LIA dich um Zustimmung bittet; LIA bei der Arbeit zusehen: die Schritte, die erscheinen, während du wartest.
