Magpie — eine Programmiersprache, die dafür entwickelt wurde, dass LLMs Code im ersten Versuch perfekt schreiben können
(magpie-lang.com)Projektvorstellung
Magpie ist ein Open-Source-Projekt, das sich als „die erste Programmiersprache, die für AI-Agenten entwickelt wurde“ versteht. Während bestehende Sprachen auf den Tippkomfort für Menschen optimiert sind, ist Magpie auf die Codegenerierung durch LLMs optimiert. Die Kernphilosophie ist die „Beseitigung von Mehrdeutigkeit“. In Rust oder TypeScript muss etwa bei a + b erschlossen werden, ob es sich um eine Integer-Addition oder eine String-Verkettung handelt und ob bei einem Overflow ein Panic ausgelöst wird. In Magpie hingegen werden alle Operationen explizit beschrieben, etwa als i.add { lhs=%a, rhs=%b }. Auch für Verzweigungen gibt es nur eine Methode, nämlich cbr/br, und die Übertragung von Speicherbesitz wird ebenfalls als explizite Operation ausgedrückt. Die zentrale Aussage lautet: „Je weniger Auswahlmöglichkeiten es gibt, desto weniger Entscheidungspunkte haben LLMs und desto weniger Fehler entstehen.“
Erklärung
Intern verwendet die Sprache eine SSA-(Static Single Assignment)-Syntax und wird über LLVM in nativen Maschinencode kompiliert. Das Speichermanagement kombiniert ARC (Automatic Reference Counting) mit expliziten Ownership-Regeln im Rust-Stil und gewährleistet so Sicherheit ohne GC. Laut den veröffentlichten Benchmarks beträgt die Kompilierzeit 155 ms und ist damit schneller als bei Rust (234 ms) und TypeScript (268 ms). Die Ausführungsgeschwindigkeit liegt mit 32 ms auf demselben Niveau wie Rust, und der Speicherverbrauch beträgt 1,6 MB, was gegenüber TypeScript (69,2 MB) deutlich niedriger ist. Besonders bei der Kennzahl für die Vorhersagbarkeit durch LLMs, der Vocabulary Complexity, erreicht Magpie 0,107 und liegt damit etwa bei der Hälfte von Rust (0,225) und TypeScript (0,231).
Allerdings weist Magpie selbst darauf hin, dass „im Vergleich zu bestehenden Sprachen etwa 2,3-mal mehr Tokens verwendet werden“. Im Hinblick auf die Kosten von LLM-Aufrufen gibt es also einen Trade-off. Wie praxisnah das ist, kann unterschiedlich bewertet werden – je nachdem, ob bei der Erzeugung komplexen Codes durch AI-Agenten die Reduzierung von Wiederholungsversuchen oder die Token-Effizienz wichtiger ist. Magpie wird mit Rust gebaut und kann mit cargo build installiert werden.
git clone https://github.com/magpie-lang/magpie.git
cd magpie
cargo build -p magpie_cli
7 Kommentare
Hm … Wenn ich nach Magpie suche, erscheint eine andere Sprache (magpie-lang.org, deren Entwicklung bereits 2013 begonnen hat). Ob es in Bezug auf den Namen wohl keine urheberrechtlichen Probleme gibt …?
Soweit ich weiß, heißt auch ein Laser-Entfernungsmesser, den ich kenne, Magpie, haha.
Wenn es eine andere Branche wäre, könnte man es vielleicht noch durchgehen lassen. Weil das Produkt anders ist?
Aber bei derselben Programmiersprache, haha ... Wenn ich eine neue Sprache entwickeln und sie C++ oder Rust nennen würde, hätte ich das Gefühl, dafür Ärger zu bekommen ...?
Interessant. Haben Sie Pläne für die weitere Entwicklung in der Zukunft?
Es gibt keine Ergebnisse, bei denen der tatsächliche Token-Verbrauch für eine einzelne Aufgabe gemessen wurde, und es ist letztlich nur die Vermutung, dass sich bei Verwendung von Magpie die Zahl der Wiederholungsversuche in diesem Maß verringern würde.
Der Vergleich der Compilation Time wirkt seltsam. Warum vergleicht man ms/token?
Liegt das nicht vielleicht daran, dass es eine AI-native(?) Sprache ist?
Da sie nicht als Sprache gedacht ist, die Menschen direkt schreiben sollen, ist es letztlich bedeutungslos, wie lang der eigentliche Code ist oder sonst was,
und ich glaube, die Idee ist eher, die Kompilierzeit für einen Prompt zu messen, der eine bestimmte Funktion implementieren soll ... haha