Heute hat die Zeitschrift "Renwu" einen Bericht veröffentlicht:
100 Stunden "Undercover" bei Kimi
Im Artikel wird erwähnt, dass die Leute um Kimi sehr gut darin sind, Namen zu finden, und dass sie beim Benennen sehr geschmackvoll sind.
Im September 2025 hat das Unternehmen ein kleines Projekt namens "Ensoul" (Seele verleihen) gestartet.
Nach Informationen von APPSO soll Ensoul ursprünglich entwickelt worden sein, damit Produktmanager, die keine Programmierkenntnisse haben, das interne Agent-Entwicklungsframework nutzen können.
Dieses Framework heißt "YAMAHA".
Seine Basis, die Schlüsselkomponenten wie die LLM-Abstraktionsschicht und die Agent-Entwicklungsprimitive enthält, wurde "Kosong" benannt, was auf Malayisch "Leere" bedeutet – "Leere ist Form, Form ist Leere". Es enthält nichts "Reales", aber es enthält alles.
Ensoul, YAMAHA, Kosong... sie haben sich zu Kimi CLI entwickelt.
Ja, Kimi CLI ist neben Claude Code eines der besten, fortschrittlichsten und am besten funktionierenden Tools zur Interaktion mit Agenten und existiert derzeit in Form einer Befehlszeile.
Als einer der Hauptakteure in der chinesischen Open-Source-Community für Künstliche Intelligenz sind viele Produkte von "Der Dunkle Seite des Mondes", einschließlich Modelle, Algorithmen, Tools und Architekturen, Open-Source.
Zufälligerweise befindet sich auch die Entstehungsgeschichte von Kimi CLI und die Richtung, in die es möglicherweise gehen wird, im Open-Source-Repository von "Der Dunkle Seite des Mondes".
Diese Geschichte ist das Kapitel Null des KLIP – des Aktionsprogramms für die Weiterentwicklung von Kimi CLI.
Der ursprüngliche Autor der Geschichte ist einer der Hauptentwickler von Kimi CLI, A Xi/Richard Chein/@stdrc.
APPSO ist der Meinung, dass es für diejenigen, die ein CLI-Programmierungstool nachbauen möchten oder an der Interaktion mit Agenten interessiert sind, möglicherweise sinnvoller ist, diese Geschichte und weitere Kapitel des gesamten KLIP zu lesen, als die geleakten Claude Code-Codes zu interpretieren.
Heute wollen wir die Vergangenheit und Gegenwart von Kimi CLI besprechen:
Wir haben aus eigenem Antrieb mehr Zeilenumbrüche und Fettungen hinzugefügt, um die Kerninformationen besser lesbar zu machen.
Kimi CLI hat seinen Ursprung in einem Nebenprojekt namens "Ensoul", das am 1. September 2025 in der Nacht begann.
Ensoul ist ein Befehlszeilenprogramm, dessen Funktion darin besteht, eine angegebene Agent-Datei (die einen Systemprompt und eine Liste der zu aktivierenden Tools aus mshtools enthält) zu laden, in die REPL zu gelangen, um Benutzerprompts zu empfangen und die Agent-Schleife für den Benutzerprompt auszuführen.
(Hinweis: REPL steht für Read-Eval-Print Loop (Lesen-Evaluieren-Ausgeben-Schleife), eine interaktive Programmierumgebung, die von vielen Programmiersprachen angeboten wird. CLI-Versionen wie Claude Code und Kimi können als eine Art REPL verstanden werden.)
Das Projekt heißt "Ensoul", weil dieser Prozess einem "toten" Agentenfile "Seele" verleiht und es "belebt".
Das ursprüngliche Ziel von Ensoul war es, dass PMs, die keine Programmierkenntnisse haben, das damals bereits vorhandene interne Agent-Entwicklungsframework "YAMAHA" nutzen können.
YAMAHA ist ein künstlich zusammengesetzter Name. Die volle Bezeichnung lautet "Yet Another Moonshot Agent, Hallucination Avoided" (Noch ein weiterer Agent von "Der Dunkle Seite des Mondes", der Halluzinationen vermeidet). Es ist eine Neuimplementierung von "YAMA", das bereits länger existiert und speziell für die Ausführung des GAIA-Tests entwickelt wurde.
Die neu implementierte YAMAHA hat sich zu einem allgemeiner einsetzbaren Agent-Entwicklungsframework entwickelt, das einige Bausteine für die Agentenentwicklung bietet, wie "ChatProvider", "Message", "Context", "Tool", "Toolset" – "Kosong" ist daraus hervorgegangen.
"Kosong" bedeutet auf Malayisch "Leere". Es wurde so benannt, um zu signalisieren, dass es nur "Mechanismen" und keine "Strategien" bietet. Es enthält nichts "Reales", aber es enthält alles. "Leere ist Form, Form ist Leere".
Als Ensoul allmählich die Stelle von YAMAHA einnahm und sich dann zu Kimi CLI entwickelte, wurden die am besten einsetzbaren Teile von YAMAHA in Kosong integriert.
Heutige Kosong enthält die LLM-Abstraktionsschicht und die Agent-Entwicklungsprimitive (wobei die step-Funktion die wichtigste ist) und ist der wichtigste Grundstein von Kimi CLI. Ihre Existenz ermöglicht es, dass die Kernagentenschleife von Kimi CLI – "KimiSoul" – mit nur 400 Zeilen Python-Code implementiert werden kann.
Jetzt kehren wir zu Kimi CLI zurück.
CLI steht für "Command Line Interface" und ist die Bezeichnung für alle Befehlszeilenprogramme, die in der Kommandozeile laufen. Ähnlich wie alle grafischen Programme "GUI"-Programme genannt werden und alle Programme, die im Browser laufen, "Web"-Programme genannt werden.
Als wir erkannten, dass Ensoul "eigentlich" Kimi CLI war, haben wir den Befehlsnamen in kimi geändert.
Von Anfang an war es nicht nur ein Coding-Agent, sondern ein Kimi-KI-Assistent, der in der Befehlszeile läuft. Man sollte erwarten können, dass er alles tun kann, und zwar in Form einer Befehlszeile.
Wie sollte es dann aussehen?
"Niemand will in der Kommandozeile ein Chat-Interface nutzen" war unser frühes Konsens. Vor Claude Code nutzten die Leute in der Kommandozeile nur die Shell und führten andere Befehlszeilenprogramme wie npm, python und rclone aus. Die meisten Menschen haben die Kommandozeile überhaupt nie geöffnet.
Wir sind der Meinung, dass Claude Code das Chat-Interface in die Kommandozeile integriert hat, weil es am schnellsten zu entwickeln war. Die Entwicklung einer GUI erfordert Zeit und zusätzliche Ressourcen. Das Chat-Interface in der Kommandozeile scheint eine schnell zu entwickelnde Form zu sein, die niemand wirklich will, aber die man dennoch benutzen kann.
Wir waren von Anfang an der Meinung, dass die Menschen drei Arten von Agenten brauchen: einen grafischen Agenten für die breite Öffentlichkeit, eine AI-Shell für Programmierer und einen IDE-integrierten Agenten für Programmierer.
Der erste Schritt von Kimi CLI ist es, eine AI-Shell zu werden, zumindest in der Form.
Kimi CLI unterstützt den Shell-Modus und ermöglicht es, Shell-Befehle direkt in der Konversation einzugeben.
Aber die Benutzeroberfläche ist kein wesentliches Problem. Unabhängig von der Form hat es den gleichen Kern.
Ein CLI-Programm ist eine ideale Form, um den Agentenkern bereitzustellen. Genau wie das am weitesten verbreitete MCP-Tool über npx ausgeführt wird und über JSON-RPC auf stdio kommuniziert, bietet Kimi CLI neben der Shell-Benutzeroberfläche den Print-Modus und den Wire-Modus, um Benutzerprompts in einem bestimmten Format zu empfangen und Agentenaktionsevents zu senden.
Basierend auf dem Wire-Modus haben wir eine interne Web-Benutzeroberfläche und eine in Entwicklung befindliche VS Code-Erweiterung.
(Hinweis: Die Kimi VS Code-Erweiterung ist derzeit fertig entwickelt.)
Darüber hinaus bieten wir über den ACP-Modus einen ACP-Server (der ebenfalls über stdio kommuniziert) an, der die Anbindung an alle ACP-Clients unterstützt. Dies ermöglicht es Kimi CLI, an IDEs wie JetBrains und Zed sowie an lokale generische Agenten-Clients wie DeepChat und Alma anzubinden.
Die drei Formen, die wir ursprünglich vorgesehen haben, werden allmählich realisiert und nutzbar.
Das reicht aber noch nicht. Seit dem ersten Tag von Ensoul ist es anpassbar. Die Fähigkeiten des Kimi CLI-Kerns beschränken sich nicht auf die Bereitstellung eines vordefinierten Agenten. Wie am ersten Tag unterstützt Kimi CLI die Anpassung des Systemprompts und der Tool-Liste über Agentenfiles. Gleichzeitig unterstützen wir die Erweiterung der Fähigkeiten von Kimi CLI über MCP-Tools und Skills, sodass jeder Benutzer Kimi CLI auf seine eigene Weise nutzen kann.
Außer dem Befehl kimi kann Kimi CLI auch als Python-Abhängigkeit installiert werden, um die gut entkoppelten Agenten-Kern- und UI-Komponenten direkt zu nutzen und darüber Anwendungen zu entwickeln.
Als nächstes werden wir den Wire-Modus von Kimi CLI weiter verpacken und ein Kimi Agent SDK erstellen, damit Benutzer von Python, Nodejs, Go und anderen Sprachen leichter Agentenanwendungen entwickeln können.
"Führe, don't follow" war die beste Ermutigung, die wir bekommen haben.
Da wir jünger sind, sind wir zwangsläufig hinter hervorragenden Projekten wie Claude Code und OpenCode zurückgeblieben. Aber wir folgen ihnen nicht blind. Alle Ideen und Funktionen von Kimi CLI sind von Grund auf neu entwickelt worden, und alle Architekturen sind von Grund auf neu gedacht worden.
Wir haben festgestellt, dass viele Teile mit den Pionierprodukten übereinstimmen. Beispielsweise ist der Wire-Modus dem ACP sehr ähnlich, und die Architektur des Kimi Agent SDK ist der des Claude Agent SDK sehr ähnlich. Dies beeinträchtigt aber nicht unsere Fähigkeit, die Dinge von Grund auf neu zu denken. Wir glauben, dass wir eines Tages einige Dinge vorantreiben können.
KLIP: KimiCLIImprovementProposal
Das Gebäude des Kimi CLI-Kerns hat bereits eine stabile Form angenommen. Ich denke, es ist an der Zeit, einen Mechanismus einzuführen, um die Entwicklung von Kimi CLI auf eine skalierbare Weise voranzutreiben und gleichzeitig die nächste Generation der Softwareentwicklungsparadigmen zu erkunden.
"Code ist billig", das ist inzwischen allgemeiner Konsens. Das Einreichen von Pull Requests kostet heute keine Mühe mehr. Ohne viel Nachdenken kann man hunderte oder tausende von Codezeilen schreiben, Funktionen implementieren und alle Tests bestehen. Aber das bedeutet nicht, dass es wertvoll ist. Ein geistloses Sammeln von Agenten-Code führt nur zu einem unkontrollierbaren Durcheinander.
Wenn der Code selbst keinen Wert mehr hat, werden die Bedeutung der Codearchitektur, der Skalierbarkeit, der Stabilität und der Produktentscheidungen noch wichtiger. Dies sollte eigentlich nicht erst jetzt erkannt werden. Linus Torvalds, der Gründer des Linux-Kernels, hat einmal gesagt: "Schlechte Programmierer kümmern sich um den Code. Gute Programmierer kümmern sich um Datenstrukturen und ihre Beziehungen." Das ist genau der Punkt.
Wenn wir gute Datenstrukturen und Beziehungen haben, wird der Funktionscode automatisch entstehen. Dann wird auch der Code, den der Agent schreibt, schön sein.
Deshalb sollte KLIP die Veränderungen der Datenstrukturen und Beziehungen betonen. In Zukunft sollte der typische Arbeitsablauf von Kimi CLI für größere Funktionen wie folgt aussehen:
1. Gebe dem Agenten einfach eine Anforderung und siehe, was er schreibt
Du kannst es iterativ verbessern oder neu schreiben, um ein genügend nachweisbares Konzept zu erhalten.
2. Denke als Programmierer über die "wesentlichen Änderungen" nach, die für diese Funktion erforderlich sind, d.h. über die Änderungen an der Architektur, den Datentypen, den Protokollen und den Modul-Schnittstellen
3. Schreibe und iteriere gemeinsam mit dem Agenten das KLIP und beschreibe alle "wesentlichen Änderungen" im Detail
Verwende möglichst Pseudocode und Diagramme. Es sollte weder zu abstrakt noch zu detailliert sein.
4. Lasse andere das KLIP überprüfen und passe das KLIP und den Prototypcode in der Feature-Branch möglicherweise vorhandenen anhand der Rückmeldungen an