Zuverlässige Spracherkennung funktioniert nur in Science fiction Serien aber nicht in der Realität. Über Jahrzehnte war es ein ungelöstes Problem der Informatik ein natürlich-sprachliches Interface zu programmieren. Mit ein Grund dürfte darin liegen, dass aus Linguistischer Perspektive unklar war, was genau natürliche Sprache eigentlich ist.
Man kann Sätze als String-array in Computern speichern und sogar Subjekt / Verb und Objekt erkennen, nur folgt daraus nichts für einen Computer. Ein Computer versteht nur eine Sprache und das ist Assemblersprache oder notfalls eine Programmiersprache wie C/C++. Natürliche Sprache funktioniert nach komplett anderen Regeln. Um den Gap zu schließen gitl es das Problem Spracherkennung zunächst einmal mathematisch zu beschreiben in Form eines Datasets. In der ersten Spalte werden natürlich sprachliche Kommandos abgelegt wie "fahre zum Regal B" während in der zweiten Spalte eine Sequenz von Bildern hinterlegt ist die Zeigen was der Roboter tun soll.
Dieser Dataset definiert was das Problem ist und zwar soll der Computer so agieren wie in dem Dataset dargestellt. Erst in einem zweiten Schritt überlegt man sich dafür passende Alogirthmen oder entwirft neuronale Netze welche die Fehlerzahl möglichst minimieren. Sprachverstehen ist nach dieser Definition also die Fähigkeiten einen vorhandenen Dataset zu imitieren. Zuerst entwirft man einen Sprachtest und dann ermittelt man die punktzahl eines Computerprograms um diesen Test zu bestehen. Das ist das Grundprinzip beim Deep Learning wie es seit den 2010er Jahren erfolgreich in der Informatik erforscht wird.
Robotics and Artificial Intelligence
June 19, 2026
Sprachverstehen durch Computer
Geschlossene Systeme und das Scheitern Künstlicher Intelligenz
In Ergänzung zu früheren Blogposts über geschlossene Systeme soll ausführlicher erläutert werden wo das Problem mit solchen Systeme besteht.
Zunächst einmal ist ein geschlossenes System etwas gutes in der Technikgeschichte weil es dabei hilft Komplexität zu senken. Ein Dieselmotor basiert auf physikalischen Prinzipien realisiert in der Anordnung der Bauteile. Alles was nichts mit der Umwandlung von fossiler Kraftstoffe in Drehbewegung zu tun hatt gehört defnitionsgemäß nicht zu einem Dieselmotor und liegt außerhalb. Es kann ignoriert werden. Dadurch kann man räumlich wie sachlich eingrenzen worum es bei einer Kraftmschine geht. Man kann Bücher darüber verfassen, man kann das Prinzip verstehen und nachbauen.
Auch Softwareentwicklung funktioinert als geschlossenes System. Ein Tetric Computerspiel realisiert in der C/C++ Sprache besteht aus dem sourcecode der ca. 500 lines of code umfasst. Alles was nicht in diesem Sourcecode definiert wurde, gehört nicht zum Projekt, liegt außerhalb und kann ignoriert werden. Folglich besteht Programmieren darin, den vorhandenen Sourcecode zu verbessern. Es gibt auch hier ein sachliches Thema auf das man fokussieren kann und was in ein erfolgreiches Projekt mündet.
Geschlossene Systeme zeichnen sich dadurch aus, dass eine scharfe Systemgrenze gezogen wird, etwas ist Bestandteil des Systems oder eben nicht. Auch sehr große umfangreiche Softwareprojekte wie ein Betriebssystem können als geschlsosene Systeme betrachtet werden. Sie bestehen aus mehreren tausend Dateien mit dem Sourcecode, und alles was darin nicht definiert wurde gehört nicht zum Betriebssystem. Diese banale Feststellung ist so allgegenwertig dass man in der Realität verinfacht nur von Systeme spricht und annimmt, dass alle Systema auf diese Weise erstellt und verbessert werden.
Genau dieser Trugschluss führte bis 2010 dazu, dass Künstliche Intelligenz nach einem ähnlichen Prinzip imaginiert wurde. Die Annahme war, dass ein Roboter oder eine KI Software als geschlsosenes System funktioniert, wo also in Software bestimmte Module und Algorithmen enthalten sind. Z.B. könnte ein Roboter eine pfadplanungs routine enthalten.
Ein solches KI System wird dadurch verbessert dass man weiteren Sourcecode anfügt und vorhandene algorithmen verbessert. Die meisten Robotikprojekte bis 2010 wurden nach dieser Prämisse entwickelt. Speziell der umfangreiche Sourcecode von selbstfahrenden Autos vor dem Jahr 2010 wurde ähnlich wie ein Softwaregroßprojekt programmiert: es gab Bugtracker, es gab versionsverwaltungssysteme und es gab eine Codebasis die in eine ausführbare Exe datei kompiliert wurde.
Leider gibt es mit geschlossenen KI systemen ein Problem. Je mehr ein solcher Roboter leisten soll, desto mehr Sourcecode wird benötigt. Und damit steigt die Fehleranzahl an. Bereits sehr kleine ingame AI projekte bei denen nur eine Spielfigur von einem NPC gesteuert wird, benötigen sehr viele Codezeilen. Will man selbstfahrende Autos programmieren steigt der bedarf an Lines of Code weiter. Vorhandene Werkzeuge um große Informatik Projekte zu organisieren, wie wikis oder bugtracker mögen für die klassische Softwareentwicklung gute Dienste leisten, bei dezidierten Robotik-Projekten versagen sie jedoch. Das problem ist eben nicht wie man die Software programmiert, sondern das Problem ist dass unklar ist welche Art von Software benötigt wird.
Der Ausweg aus dem Dilemma besteht darin die Annahme von geschlossenen Systemen in frage zu zustellen. Ein solches System bedeutet aus Software-Perspektive dass der Sourcecode für einen Computertyp geschrieben wird. Der Algorithmus wird auf der CPU ausgerührt und berechnet dort etwas. Die Berechnung wird im Sourcecode des Programms definiert. Das gegenteil sind offene Systeme. Dort wird nichts berechnet sondern es werden Nachrichten versendet. Das TCP/IP Protokoll im Internet ist ein Besipiel für ein offenes System, aber auch die DIKW pyramide, der Morse code oder die Unicode Tabelle sind offene Systeme.
Offene Systeme zeichnen sich dadurch aus dass sie als Nachrichtenübermittlung konzipiert sind. Es gibt einen Sender und einem Empfänger. Meist erfolgt die Datenübertragung über Schichten um die Komplexität zu senken. Offene Systeme wurden in der KI Geschichte bis zum Jahr 2010 meist ignoriert. Die einzige Ausnahme sind Multiagentensysteme, wo also Softwareagenten untereinander Botschaften senden, vergleichbar mit objektorientierter Programmierung. Es war jedoch unklar wie man diese Technik zur Robotiksteuerung einsetzen kann.
An dieser Stelle ein kleiner Exkurs wie vor dem Jahr 2010 selbstfahrendew Autos als geschlossene Systeme programmiert wurden. Die Idee war, dass es ein computerprogram gibt, welche die Künstliche Intelligenz ist. Dieses computerprogram besteht aus rund 500 MB Sourcecode programmiert in der Sprache C/C++ und enthält alle Module die für die Steruerung des Autos benötigt werden. Also planung, Bilderkennung, Entscheidungen treffen, Fehlerroutinen, Logging, Situationsbewertung usw. Die Intelligenz des Roboters ist in dieser 500 MB großen Datei gebündelt, es gibt keine Außenwelt die weitere Module enthält.
Aus Sicht der Informatik stellt so ein Softwareprojekt die best practice Methode da. Es wird klar definiert was Teil des Roboters ist, und es gibt Tools um die 500 MB große Sourcecode datei zu erstellen und zu verbessern. Leider funktioniert in der Realität so ein Workflow nicht. Die 500 MB Datei geschrieben in C/C++ ist eben nicht im Stande den Roboter zu kontrollieren und zwar generell nicht. Je mehr man versucht den Fehler zu finden desto mehr zusätzlicher Sourcecode muss erstellt werden, der neue Fehler enthält und der niemals im Stande ist die komplexe Realität abzubilden. Der Unterschied zwischen der internen Darstellung im Roboter und der Realität außerhalb des Roboters ist gewaltig.
Innerhalb des bekannten paradigmas geschlsosener Softwaresysteme ist es unmöglich den Fehler zu finden. es ist eben nicht so, dass der 500 MB Sourcecode für das selbstfahrende Auto veraltete algorithmen enthält oder schlecht programiert wäre. Sondern das Problem ist viel grundsätzlicher Natur und betrifft die Annahme hinter solchen Projekten. Das Ziel in der Robotik bis 2010 war es, autonome Roboter zu bauen welche keine menschliche Sprache verstehen. Dieser Bias wurde nirgendwo explizit definiert, sondern ergibt sich automatisch wenn man geschlossene Systeme entwickelt.
June 18, 2026
Nochmal: Geschlossene Systeme -- KI Forschung bis zum Jahr 2010
Über Jahrzehnte war die KI Forschung von Misserfolgen geprägt die Resultat waren einer selbstgewählten Perspektive auf Künstliche Intelligenz. Die Zielstellung der Forscher bestand darin, eine Technologie zu entwickeln welche denken kann. Also eine Maschine, oder noch besser einen Computer, der geistige Leistungen ausführen kann. Dieser Bias ist naheliegend weil es zugleich auch die Vorstellung von Robotern ist welche in Romanen von isaac Asimov transportiert wird.
Was die KI Forscher vor dem Jahr 2010 jedoch nicht wussten bzw. verdrängt haben, war die bittere Erkenntnis dass das selbstgewählte Ziel nicht erreichbar ist. KI ist zwar grundsätzlich möglich, aber nicht als geschlossenes technologische Artefakt. Um die Leistungsgrenzen geschlossener Systeme zu veranschaulichen zunächst ein kleiner Exkurs wann dieses Konzept funktioniert.
Die meisten Erfindungen der Menschheit funktionieren als geschlossenes System: dazu zählt die mechanische uhr, die Dampfmaschine, die Schnellpresse von König&BAuer, das Automobil der Mikroprozessor, und Software wie z.b. das Windows Betriebssystem. Ein geschlossenes System ist demnach historisch gesehen die beste Methode wie man eine Technologie entwickelt. Man definiert zuerst einmal was die Maschinen können soll, z.b. soll ein Auto auf einer Straße fahren, und überlegt sich dann welche Bauteile man in die Maschine einbauen muss damit die Aufgabe erfüllt wird.
Der Vorteil von geschlossener Systeme ist, dass damit die Komplexität gesenkt wird, z.b. besitzt ein Elektromotor eine Breite und eine Höhe in Centimetern und was sich innerhalb dieser Abmessungen befindet gehört zur Maschine. Auf dieses physische Artefakt fokussiert man dann die Entwicklung und überlegt welche Materialien oder physikalischen Prinzipien wirken.
Auch bei der Softwareentwicklung wird das Prinip eines geschlossenen Systems verwendet. Eine Software besteht aus einem Source code der wiederum in Dateien unterteilt wird. In diesem Sourcecode ist die Funktionsweise der Software definiert. Alles was nicht im Sourcecode steht wird ignoriert. Es liegt außerhalb des System und ist für die Funktionsweise ohne Bedeutung. Stattdessen geht es darum, besagten Sourcecode zu optimieren, also effizientere Algorithmen zu verwe4nden, weniger Codezeilen zu verbrauchen udn vorhandene Fehler zu beseitigen.
Die unreflektierte Annahme der KI Forschung vor dem Jahr 2010 lautete, dass Robotik und KI nach demselben Prinzip funktioniert. Die Idee war, dass KI eine Art von Algorithmus sei, der innerhalb des Sourcecode definiert wird. Folgerichtig wurde versucht einen Roboter in einer Programmiersprache wie C/C++ zu programmieren. Relativ spät erkannten die Forscher dass genau dieser Ansatz problematisch ist. Damit ein Roboter intelligent in einer Umgebung agieren kann, muss der Roboter mindestens so komplex sein wie diese Umgebung. Eine KI zu programmieren die den kürzesten Weg in einem Labyrinth findet ist überschaubar, aber eine KI welche einen Roboter in der physischen Realität steuert ist eine unüberwindliche Aufgabe. Das benötigte Software programm für so einen Roboter würde sehr viele Codezeilen benötigen und selbst diese könnten nicht die komplexe Realität abbilden.
Eine Zeitlang gab es innerhalb der Robotik-Forschung eine wirkmächtige Antwort auf das Phänomen, genannt Model predictive control. Die Idee war, die Realität als vereinfachte Physiksimulation in Software nachzubauen, in dieser Simulation Prognosen auszuführen und dadurch dann die beste Entsheidung zu treffen. In den 2000er Jahren gab es mehrere Projekte wo mittels Model predictive control, Dronen gesteuert wurden und sogar grasp planning realisiert wurde. Leider ist model predictive control sehr rechenaufwendig. Eine halbwegs präzise physik Simulation benötigt sehr viele CPU Taktzyklen, gleichzeitig braucht aber der KI eine Prognose mehrmals pro Sekunde um auf Veräderungen zu reagieren. Model predictive control funktioniert nur auf dem Papier, aber nicht auf echter Hardware, speziell die Vorhersage längerer Zeiträume bis Minuten in die Zukunft sind technisch nicht umsetzbar.
Abstrakt gesagt entstehen durch geschlossene Systeme in der KI Forschung zwei grundsätzliche Probleme: a) hohe Komplexität des Source codebode b) hoher Rechenaufwand bei der Ausführung von Algorithmen und der Model predictive Control Vorhersagen.
Anfangs dachten die Forscher, beide Problemen wären lösbar. Das war Wunschdenken. Es ist nicht durchführbar einen Roboter zu programmieren der hundertausende Codezeilen benötigt, und hohe Anforderungen an die CPU gleichzeitig hat. Ein solches Projekt wird in der REalität scheitern.
Betrachten wir geschlossene Systeme etwas genauer. Im wesentlichen Funktionieren diese Systeme nach Naturwissenschaftlichen Prinzipien. Ein Elektromotor verwendet einen Magneten um eine Drehbewegung zu erzeugen, während ein Mikroprozessor über elektrischen Strom kleine Transistoren schaltet. Es gibt also jeweils ein physikalisches Prinzip was in einer Maschine praktisch angewendet wird. Dadurch dreht sich ein Motor, der Computer beginnt zu rechnen oder ein Flugzeug fliegt durch die Luft. Man glaubte anfangs, dass Künstliche Intelligenz auf ähnliche Weise realisiert werden könnte, das es also ein wissenschaftlich-technisches Prinzip gibt was man in einem Softwareprogramm anwenden kann um darüber Roboter zu steuern. Was die Forscher vor dem Jahr 2010 nicht wussten war dass es ein solches Naturprinzip nicht gibt, das es also nicht möglich ist, auf diese Wweise Künstliche Intelligenz zu erzeugen.
Eine mögliche Erklärung warum die KI Forschung bis ca. 2010 sich auf geschlossene Systeme fokussierte ist, dass die Informatik insgesamt nach diesem Muster funktioniert. Definitionsgemäß untersucht Informatik die Funktionsweise von Computern, also speziell die Hardware und die Software. Damit ist zugleich definiert wofür die Informatik nicht zuständig ist. Alles was keine Computerhardware ist und nicht smit Software zu tun hat, liegt außerhalb der Informatik und entzieht sich einer wissenschaftlichen Analyse.
Diese Einschränkung ist für die klassische Informatik kein Problem und sogar erwünscht weil es dabei hilft echte Probleme zu lösen, also z.b. neue CPU zu entwickeln, bessere Programmiersprachen zu erfinden oder Betriebssysteme zu entwickeln. All diese Thmene sind entweder im Bereich Hardware oder im Bereich Software angesiedelt.
Typst als Ersatz für LaTeX
LaTeX gilt seit den 1980er als defakto Standard unter Unix um wissenschaftliche Dokumente zu formatieren. Bersonders bei sehr umfangreichen Dokumenten die ein einheitliches Layout erhalten sollen, hat LaTeX seine Stärke. Trotz der gewöhnungsbedürftigen Syntax gilt es als leicht zu erlernen und lange Zeit gab es keine wirkliche Alternative zu dieser Software.
Seit einiger Zeit hat sich die unscheinbare Typst Software zu einem ernstzunehmenden Ersatz für LaTeX etabliert. Die Syntax von Typst ist ähnlich wie markdown aufgebaut und beinhaltet Kommandos um float-Abbildungen einzufügen, Tabellen zu erstellen, preformatted Text auszugeben sowie eine automatische Gliederung zu erstellen. Die wesentlichen Verbesserungen von typst gegenüber LaTeX sind:
- es benötigt nur 50 MB auf der Festplatte anstatt 5 GB
- die Syntax ist einfacher und logischer
- das Übersetzen einer Typst datei in eine PDF Datei dauert weniger als 1 Sekunde
Der einzige Grund warum Typst bisher LaTeX noch nicht verdrängt hat ist die Gewohnheit der Nutzer. Die LaTeX Community gilt als konservativ und viele nutzen die Software seit den 1980er Jahren also seit über 40 Jahren. Das macht den Wechsel auf eine andere Plattform aufwendig.
Es gibt jedoch einen simplen Trick wie der Umstieg auf typst gelingt. Und zwar mit der selben Methode wie man auf neue Technologie generell wechselt: man löscht die veraltete Software von der Software und gewinnt so Freiraum sich auf etwas neues einzulassen. In Linux lautet der Befehl:
apt remove texlive*
Der Vorteil von typst ist dass das Projekt sehr viel aufgeräumter wirkt. Es fehlen unzählige veraltete Pakete die historisch bedingt sind, stattdessen wurden die meisten features fest in die Software einprogrammiert. Ähnlich wie bei LateX auch haben Neueinsteiger mit einer gewissen Lernkurve zu kämpfen. Man muss sich erstmalig durch die Dokumentation kämpfen um so eine Minimal Datei zu erstellen, welche die gewünschten Layout einstellungen beinhaltet. Man definiert z.b. die Seitengröße A4, legt den gewünschten Systemfont fest, definiert einige Tabellenparameter wie z.b. liniendicke und definiert die Häufigkeit der Silbentrennung. Sind diese vorarbeiten einmal erledigt, kann man die selbe Rumpfdatei nutzen um damit beliebig viele PDF Dokumente zu erstellen. Ähnlich wie bei LaTeX müssen Autoren nur den Text eingeben und die Software rendert die Darstellung auf dem Bildschirm.
Und das macht typst ausgesprochen gut, im Regelfall sind die Abbildungen sinnvoll platziert und auch der Blocksatz sieht halbwegs professionell aus. Die Qualität ist nicht ganz so optimiert wie bei pdflatex, es gibt also durchaus noch Verbesserungsmöglichkeiten. Aktuell ist derzeit die typst version 0.15 vom Juni 2026.
June 15, 2026
Geschlossene KI Systeme vor dem Jahr 2010
Auch vor dem Jahr 2010 wurde bereits an Robotik geforscht. Eine typische Robotik-Software aus dieser Epoche beinhaltete fplgenden Befehl:
if (distance_to_wall < 10) { slowdown(); }
Mit dieser und weiterer Regeln wurde die Onboard Intelligenz eines Roboters fest im Programmcode definiert. Leider waren die Roboter nicht im Imstande sinnvoll zu agieren. Deshalb wurde versucht die Anzahl der Codezeilen immer weiter zu erhöhen um für jede Eventualität ein Untermodul vorzuhalten.
Das Grundproblem wurde vor dem Jahr 2010 nicht erkannt. Es besteht darin, dass die interne Komplexität eines Roboters ansteigt wenn die äußere Komplexität erhöht wird. Industrieroboter die in einer berechenbaren Umgebung eingesetzt werden, können über obige C/C++ Programmlogik noch halbwegs sinnvoll realisiert werden, aber mobile Roboter in einem Labyrinth oder gar selbstfahrende Autos sind mit dieser Technik nicht möglich. Die Umgebung ist viel zu kompleziert, um dafür eine zuverlässige Steuersoftware zu programmieren.
Ab dem Jahr 2010 wurde deshalb eine neue Richtung in der Robotik eingeschlagen die kurz erläutert werden soll. Die Grundidee besteht darin, Intelligenz auszulagern, also weg vom Roboter hin zur Umgebung des Roboters. Damit kann die Steuersoftware des Roboter minimalistisch gestaltet werden. Die Hauptaufgabe des Roboters besteht nur noch darin, Befehle die von einem operator oder von sensoren kommen zu parsen. Der Roboter muss nicht länger Entscheidungen treffen oder gar die Umgebung intern simulieren, wie das bei Model predictive control der Fall ist. Abstrakt gesprochen verwandelt sich ein geschlossenes KI System in ein offenes KI system.
Der Ansatz die interne Logik des Roboters auszulagern war ein längerer Innovationsprozess in der KI Community. Angestoßen wurde er von Rodney Brooks mit seiner subsumption architektur. Im wesentlichen geht es darum, die komplexität eines Roboters zu senken. Die neuartige minimalistische Softwarearchitektur kann nur mittels Fernsteuerung funktionieren, das es also außerhalb des Roboters eine höhere Instanz gibt die stellvertretend für den Roboter Kamerabilder auswertet, Entscheidungen trifft und Pläne durchprobiert.
Technisch gesehen ist der Paradigmenwechsel sehr einfach: anstatt einen denkenden Roboter zu realisieren, funktioniert der Roboter als Parser der Befehle von außen ausführt. Es ist also kein Roboter im engeren Sinne sondern ein ferngesteuertes Auto das auf Kommandos reagiert. Philosophisch gesehen ist so ein Ansatz jedoch weitaus schwieriger zu realisieren, weil er mit der gängigen Vorstellung von Intelligenz bricht. Über Jahrezehnte wurde Intelligenz als die Fähigkeit verstanden eigenständig Probleme zu lösen. Das trifft auf ferngesteuerte Roboter jedoch nicht zu. Ein Ferngesteuertes Auto wo ein Mensch über Tasten oder Sprache Befehle eintippt ist definitionsgemäß nicht intelligent, fällt also nicht in den Bereich der KI Forschung.
Dennoch ist genau jenes Interaktionsmuster zur Leitdisziplin der Robotik ab dem Jahr 2010 aufgestiegen. Eigenltich jedes moderne Robotik Projekt basiert auf Vision language action modellen, instruction following und VQA Benchmarks. Es gibt keine Versuche mehr, Roboter als autonome Systeme zu konstruieren, sondern 100% aller Robotik-Projekte funktioniert über Intelligence offloading mittels natürlicher Sprache. DAs also außerhalb des Roboters eine Software oder ein Mensch Befehle eingibt die vom Roboter lediglich in Handlungen übersetzt werden.
Obwohl der Ansatz zunächst umstritten war hat er einen Entscheidenen Vorteil: er ist minimalistisch. Ein ferngesteuertes System zu realisieren ist weitaus leichter als ein autonomes System zu bauen. Besonders bei komplexen Aufgaben und unstrukturierten Umgebungen kommt dieser Vorteil zum Tragen. Das einzige Detailproblem bei semi-autonomen Systemen besteht darin die Aufgabenverteilung zwischen Roboter und menschlichen Operator auszubalanzieren, also dafür zu sorgen dass die interaktion über high level kommandos erfolgt und so die workload für den Menschen möglichst gering ist. Hier eine Rangfolge:
- hoher Workload: Fernbedienung mit Tasten ohne Befehle
- mittlerer Workload: es werden Waypoints in einer Karte vorgegeben die der Roboter abfährt
- geringer Workload: es wird ein Text prompt an den Roboter gesendet wie "fahre im Kreis".
KI von 2010 bis 2020
Bis ungefähr zum Jahr 2010 verlief die KI Entwicklung enttäuschend. Es war nicht gerade ein dezidierter AI Winter, aber insgesamt galt KI als unlösbare Aufgabe und es gab keine Technologie auf die man aufbauen konnte. Das änderte sich ab ca. 2010 schlagartig. In diesem Jahrzehnt gab es eine Vielzahl von Meilensteine, die auch heute noch relevanz haben:
2011 IBM Watson
2012 Alexnet bilderkennung
2016 Alphago
2017 GAN network
2018 BERT Sprachmodell
2019 GPT-2 text generator
Es ist nicht übertrieben die Zeit nach 2010 als den Beginn der modernen state of the Art KI Entwicklung zu beschreiben. Die neuronalen Netze, Datasets und Roboter ab diesem Zeitraum haben die Grundlagen gelegt für heutige leistungsfähigere Systeme. Zwar war in den 2010er KI noch nicht im Mainstream angekommen, aber es begann sich für Experten auf dem Gebiet abzuzeichnen dass KI grundsätzlich realisierbar ist.
June 14, 2026
Wie man Künstliche Intelligenz erneut erfindet
Die Erforschung der KI war von 1900 bis 2010 von vielen Rückschlägen und gescheiterten Projekten geprägt. Mit der gewonnenen Erfahrung lässt sich im Nachhinein ermitteln wie man das Gebiet der denkenden Maschinen hätte effizienter und früher entwickeln können. Im Zentrum steht die Beobachtung dass künstliche Intleligenz weniger in einem Algorithmus besteht sondern in der Messung der Leistungsfähigkeit besteht. Z.B. gab es in den 1990er Jahren dezidierte Datasets um Handschriften per OCR zu erkennen und seit den 2020 gibt es weitere Datasets für das Visual question answering Problem.
Ein KI Benchmark besteht üblicherweise aus einer längeren tabelle mit Frage/Antwort paaren welche von KI beantwortet werden müssen und zu einem Punktestand führen. ziel ist es, eine Software oder ein neuronales Netz zu entwickeln was den Punktestand maximiert. Es ist dabei fast egal wie genau ein neuronales Netz intern arbeitet, sondern worum es geht ist dass man den Punktestand objektiv ermittelt. Dadurch wird Künstliche Intelligenz zu einer Wissenschaft, die mit statisischer Verfahren untersucht werden kann.
Selgst ein neuraonles Netz was in einem Test scheitert, also nicht im Stande ist für ein gezeigtes Bild das passende Wort auszugeben, ist wissenschaftlich gesehen ein wertvoller Fakt weil es dabei hilft künftige Neruonale Netze zu entwickeln, die diese Aufgabe zu lösen im Stande sind.
Bis in die 2000er Jahre war weitestgehend unklar was Künstliche Intelligenz ist oder wie man es praktisch realisiert. Es gab zwar viele Bücher und mehrere Robotik-Projekte die sich der Erforschung denkender Maschinen verschrieben haben, doch es fehlt an einer zentralen Idee, einem Algorithmus oder an einer bestimmten Hardware um konkrete Fortschritte zu realisieren.
Dies änderte sich ungefähr ab dem Jahr 2010. Die Arbeitsthese lautet, dass sich die Vielzahl der Bemühungen KI zu realisieren auf einen Punkt fokussieren lassen und zwar die Entwicklung eines Benchmarks zur Ermittlung ob eine Maschine grounded language versteht. Die zentrale Idee zur Realisierung künstlicher Intelligenz ist also eine besondere Form des Turing Tests der die sprachlichen Fähigkeiten eines Computers überprüft.
Dieser Test bzw. Benchmark war vor dem Jahr 2010 nicht verfügbar. Der Test ist kein Algorithmus, kein Source code wie das Linux Betriebssystem und auch kein Computerchip wie z.B. eine Pentium CPU sondern es handelt sich um eine Idee die man schriftlich notieren kann und wozu man einen konkreten Wettbewerb entwickeln kann. Ein einfaches Beispiel ist:
"In einem Labyrinth soll ein Roboter über Sprachliche Kommandos gesteuert werden: is_obstacle, check_battery, move forward, rotate left/right. Programmiere diesen Roboter in einer beliebigen Programmiersprache".
Es handelt sich um eine überschaubare Programmieraufgabe, die Ähnlichkeit hat mit dem Karel the robot Projekt aus den 1980er Jahren. Es handelt sich aus wissenschaftlicher Sicht um einen instruction following benchmark. Das heißt der Roboter reagiert auf eine vorgegebene Anzahl von Kommandos die von einem menschlichen Operator gesendet werden. Die KI ist demnach ein Parser-Modul was die Kommandos auswertet und in Handlungen umsetzt. Wenn der Roboter alle Befehle verarbeiten kann wurde der Benchmark erfolgreich bearbeitet.
Der Clou dabei ist, dass sich der Benchmark hochskalieren lässt. Was in einem 2d Labyrinth funktioniert, funktioniert ebenso bei einem biped roboter, einem humanoiden Roboter, oder einer UAV Drone. In jedem Fall wird eine Liste von Textkommandos vorgegeben die vom Roboter ausgeführt werden. Die Kommandos haben etwas mit der Abfrage der Sensoren zu tun, genauso wie man Planung und der Motorsteuerung. So ein Benchmark ist nach der obigen These, das zentrale Element moderner KI wie sie ab dem Jahr 2010 verfügbar ist.
Der einzige Diskurs innnerhalb der KI Community erfolgt darüber wie im Detail so ein Benchmark ausgestaltet ist, also welche Robotik-Domän verwendet wird, wieviele Befehle der Roboter verstehen soll, ob die Umsetzung über ein C/C++ Programm oder ein neuronales Netz erfolgt usw. Es geht in jedem Fall darum den Benchmark zu erfüllen. Darüber demonstratiert der Roboter Intelligenz.
Diese strikte Definition des Benchmarks ist etwas neuartiges. Hätte man vor dem Jahr 2010 die These formuliert, dass Intelligenz darin besteht textuelle Komamandos auszuführen wie in dem "Karel the robot" Projekt, hätte der Autor des Papers wohl Ablehnung durch seine fachkollegen erfahren. Vor dem Jahr 2010 wurde Künstliche Intelligenz anders defninert und zwar als dessen Gegenteil, also a) Abwesenheit von natürlicher Sprache und b) Abwesenheit von Teleoperation.
June 13, 2026
Der letzte KI Winter von 2000-2010
Die Zeitepoche von 2000 bis 2010 eignet sich ausgezeichnet um das scheitern früherer Versuche zu beschreiben, Künstliche Intelligenz zu erforschen. Ähnlich wie die Jahrzehnte davor gab es mehrere KI Projekte sowohl in der Industrie als auch akademischer Natur, die ähnlich wie die Projekte in den 90er und 80er ohne Erfolg verliefen:
- semantic web von Tim Berners Lee
- Cyc von Douglas Lenat
- WordNet für maschinelle Übersetzung
- DARPA Grand Challenge
- kognitive Architektur wie SOAR
- Roboter ASIMO von Honda
Zwar wurden im Rahmen dieser Projekte lauffähige Software entwickelt und Datenbanken erstellt. Es gibt zu Cyc und zum Semantic Web viele praktische Beispiele. Auch das selbstfahrende Auto Stanley von Sebastian Thrun ist tatsächlich autonom gefahren und wurde über Software gesteuert. Nur waren die verwendeten Technologien nicht skalierbar und ohne praktische Bedeutung. Die normale Internettechnologie bestehend aus HTML funktioniert stabil genug ohne dass man eine Erweituerng namens Semantic web benötigte, und die Wordnet Datenbank hatte eine zu geringe Qualität um damit Texte zu übersetzen.
Man kann sagen, dass die Zeitspanne von 2000 bis 2010 eine verlorene Dekade für die KI Forschung war. Es wurde viel ausprobiert, es gab namenhafte Forscher die sich näher mit der Thamatik beschäftigten, aber es gab keine Durchbrüche oder anwendungsbereite Demonstrationen im eigentlichen Sinne.
Auf den ersten Blick klangen die o.g. KI Projekte vielversprechend. Der Ansatz ein selbstfahrendes Auto zu bauen was gegen andere Autos in einem Wettrennen antritt hört sich nach einer spannenden Herausforderung für die Robotik an. Und die Idee common sense knowledge in einer Cyc Datenbank zu bündeln erscheint wie der durchdachte Versuch eine denkende Datenbank zu erschaffen. Dennoch stellte sich heraus, dass die Konzepte fehlerhaft waren. Sie verkörperten Sackgassen, die einmalig beschritten wurden und dann nicht weiter verfolgt wurden.
DIe Geschichte der Künstlichen Intelligenz verkörpert wie keine andere Wissenschaft eine Abfolge von gescheiterten Bemühungen. So ähnlich als wenn wenn mehrere Bergsteiger einen Berg auf sehr unterschiedliche Weise besteigen wollen, aber keinem gelingt auch nur die erste Etappe zu meistern.
Man kann das Scheitern anhand mehrerer Parameter erklären. Entweder ist die benötigte CPU Rechenleistung um einen Algorithmus auszuführen zu groß. Dies ist bei den meisten Pfadplannungsalgorithmen in der Robotik inkl. model predictive control der Fall. In der Theorie könnte man den game tree über einen Algorithmus durchprobieren so wie man Computerschach spielt, doch in der Realität sind physische Computer des Jahres 2010 dafür zu langsam. Also ist der Ansatz nicht praktikabel. Ein weiteres objektives Kennzeichen für ein scheitern ist der hohe manuelle Aufwand der beim Erstellen von Datenbanken wie wordnet oder Cyc anfällt. Es ist schlichtweg zu teuer über Jahre hinweg manuell eine Datenbank zu erstellen die dann keinerlei Nutzen erbringt. Ein weiteres Kennzeichen für gescheiterte KI projekte ist der hohe Programmieraufwand gemessen in lines of code. So wurden für die DARPA Grand Challenge mehrere 100k lines of code erstellt und zwar von jedem teilnehmenden Team einzeln. All diesen Code in C/C++ zu erstellen und zu warten ist ein hoher Aufwand insbesondere wenn man den code nicht erneut verwenden kann sondern er stark auf ein konkretes Auto und ein konkretes Team zugeschnitten wurde.
Die genannten Probleme des hohen Rechenbedarf, des manuellen Aufwandes beim Datenbank-Erstellen und das manuelle Erstellen des Source code waren wohl von 2000 bis 2010 bekannt, aber es war unklar wie man den Aufwand senken kann.
Als kleiner Ausblick auf die Zeitpsanne ab 2010 soll kurz erläutert werden, welche Ansätze nicht verfügbar waren.
- Ferngesteuerte Roboter
- Datasets um neuronale netze zu trainieren
Beide Themen wurden als unwichtig definiert. So wurden ferngesteuerte Robotik nicht als erstrebenswert angesehen, weil laut selbstgewähltem Ziel es darum ging autonome algorithmengesteurte Roboter zu entwickeln aber keine RC cars zu bauen. Auch dem Thema Datasets und preprocessing wurde keine Aufmerksamkeit gewidmet. Es wurde angenommen dass künstliche Intelligen im neuronalen netz verortet sei und die Datenqualität unwichtig wäre mit der das NEtz trainiert wird.
Es finden sich in der Literatur vor 2010 durchaus Beispiele wo remote control roboter diskutiert wurden und wo das erstellen von größeren Datasets thematisiert wurden, aber diese Ansätze galten als Randthemen ohne Relevanz für die weitere Erforschung der Künstlichen Intelligenz. Das änderte sich ab 2010 grundlegend und zwar deshalb weil man mit den bisherigen versuchen in einer Sackgasse steckte und daraufhin die Prioritäten in der Forschung neu justierte.