Einen Hausroboter künftig einfach per Sprache steuern? Also ihm einfach sagen, "wärme mein Mittagessen auf" und der elektronische Butler zieht los und bedient von selbst die Mikrowelle, ohne dass er für die Aufgabe zuvor programmiert werden musste? Genau an dieser Vision forscht ein Microsoft-Team und will dies laut einem Blogbeitrag mit Hilfe des KI-Sprachmodells ChatGPT von OpenAI realisieren.
Roboter per ChatGPT programmieren
Klingt in der Theorie gut, doch in der Praxis ist das Ganze doch etwas komplizierter: ChatGPT benötigt nämlich erst menschliche Hilfe, bevor die KI in der Lage ist, einen Roboter zu steuern. In einem technischen White-Paper haben die Microsoft-Forscher einige Designprinzipien vorgestellt, mit denen per Hilfe von Sprachmodellen Robotikaufgaben gelöst werden können. Dazu gehören unter anderemspezielle Prompting-Strukturen, High-Level-APIs und menschliches Feedback per Text. Allerdings betonen die Forscher, dass ihre Arbeit erst der Anfang eines Wandels in der Art und Weise sei, wie künftig Robotersysteme entwickelt werden könnten.
Die Herausforderung in der Roboterprogrammierung besteht heute darin, dass ein Ingenieur oder technisch versierter Benutzer erst die Anforderungen einer Aufgabe, die ein Roboter bewältigen soll, in den passenden Code für das Robotiksystem übersetzen muss. Danach muss er das Verhalten des Roboters beobachten und eventuell korrigieren - also seinen Code modifizieren. Ein Prozess, der langwierig und teuer ist. Es werden hierzu Experten benötigt, die nicht nur Kenntnisse in Sachen Robotik besitzen, sondern auch Low-Level-Code schreiben können.
Kommt mit ChatGPT ein Paradigmenwechsel?
Und genau hier könnte ChatGPT nach Ansicht der Microsoft-Forscher zu einem Paradigmen-Wechsel bei der Roboterprogrammierung führen. So sollen künftig auch nicht technisch versierte Nutzer das Verhalten eines Roboters beobachten und via ChatGPT per natürlicher Sprache ein mögliches Fehlverhalten des Roboters korrigieren. Dazu soll ChatGPT in der Lage sein, wenn die Designprinzipien der Forscher befolgt werden, denn damit werde die KI in die Lage versetzt, Code für verschieden Robotikszenarien zu generieren.
Das Vorgehen
Konkret definierten die Forscher hierzu eine Reihe von High-Level-Roboter-APIs oder eine Funktionsbibliothek. Diese Bibliothek kann spezifisch auf einen bestimmten Roboter abgestimmt sein und sollte zu den bestehendenLow-Level-Implementierungen des Control Stacks eines Roboters passen. Zudem raten die Forscher, beschreibende Namen für die High-Level-APIs zu verwenden, damit ChatGPT so Rückschlüsse auf die Funktion der APIs ziehen kann.
Im zweiten Schritt wurde ein Textprompt für ChatGPT geschrieben, der die Aufgabe des Roboters beschreibt und gleichzeitig explizit angibt, welche Funktionen aus der High-Level-Bibliothek hierzu verfügbar sind. Der Prompt kann auch Informationen über Aufgabenbeschränkungen enthalten, oder definieren, wie ChatGPT seine Antworten formulieren soll - etwa in einem speziellen Code oder unter Verwendung von Hilfs-Parsing-Elementen.
Der Benutzer selbst muss dabei keinen Code generieren, sondern lediglich den Code von ChatGPT bewerten. Dies geschieht entweder, indem er dies direkt am Verhalten des Roboters überprüft oder hierzu einen Robotersimulator verwendet. Sind Korrekturen erforderlich, kann der Benutzer dies ChatGPT per natürlicher Sprache mitteilen und die KI zur Änderung des Codes auffordern. Ist das Ergebnis zufriedenstellend, kann der Code endgültig auf den Roboter überspielt werden.
Praktische Beispiele
Dass das Ganze keine graue Theorie ist, zeigen die Forscher auf Github anhand von Codebeispielen. So haben sie etwa mit ChatGPT ein industriellesInspektionsszenario in Verbindung mit dem Microsoft-AirSim-Simulator realisiert. Das Modell war in der Lage, die Absicht des Benutzers und geometrische Hinweise effektiv zu analysieren, um so die Drohne präzise zu steuern.