OpenAI heeft zijn aankomende commandoregeltool voor AI-programmeren, Codex CLI, herschreven in Rust. De organisatie noemt verbeterde prestaties en veiligheid als redenen, en wil tegelijk af van de afhankelijkheid van Node.js die voor sommige gebruikers problematisch of beperkend kan zijn.
Dit meldt DevClass. Codex is een experimentele programmeerassistent die zowel via een webbrowser in ChatGPT als lokaal via Codex CLI gebruikt kan worden. De tool heeft een chat-gebaseerde interface en de CLI kan interactief gebruikt worden met commando’s voorafgegaan door codex, of in een stille, niet-interactieve modus — bijvoorbeeld in automatische processen om changelogs te genereren. Deze versie van Codex is niet te verwarren met het eerdere product uit 2021 met dezelfde naam, dat in maart 2023 is stopgezet.
Codex CLI is open source op GitHub en werkt op macOS, Linux en Windows (via WSL). Tot nu toe was de broncode grotendeels in TypeScript en draaide op Node.js, maar het team heeft nu een herschreven versie in Rust uitgebracht. Fouten in de TypeScript-versie zullen voorlopig nog worden opgelost, totdat de Rust-versie qua functies en gebruikservaring gelijkwaardig is, aldus projectonderhouder Fouad Matin.
Vier redenen voor nieuwe versie
Volgens Matin was het bouwen met React en TypeScript in het begin snel en gemakkelijk, maar er zijn vier belangrijke redenen waarom Rust volgens hem beter is:
- Installatie zonder afhankelijkheden
Waar de huidige versie Node.js 22 of hoger vereist — wat een struikelblok kan zijn — heeft de Rust-versie geen externe afhankelijkheden nodig. - Sandboxing voor meer veiligheid
Op macOS draait Codex CLI al in een sandbox via Apple’s sandbox-exec. Op Linux gebeurt dit standaard nog niet, maar OpenAI raadt aan de tool in een container te draaien. Voor de Rust-versie heeft OpenAI al een manier ontwikkeld om sandboxing toe te passen: op macOS met sandbox-exec, en op Linux met Landlock. - Betere prestaties
Rust heeft geen runtime garbage collection en gebruikt minder geheugen, wat leidt tot snellere en efficiëntere uitvoering. - Gebruik van bestaande Rust-implementatie van MCP
Codex CLI kan nu functioneren als zowel client als server voor het Model Context Protocol (MCP), dankzij een reeds bestaande Rust-implementatie.
Rust is van oorsprong een systeemprogrammeertaal en aanzienlijk efficiënter dan code die draait op de V8 JavaScript-engine van Node.js. Daar staat tegenover dat programmeren in Rust lastiger is, en dus mogelijk minder productief dan werken met TypeScript of JavaScript. Volgens de meeste onderzoeken zijn JavaScript en Python nog steeds de populairste talen, terwijl Rust een kleinere gebruikersgroep heeft. De Rust-versie van Codex CLI zal echter uitbreidbaar zijn met code in andere talen zoals JavaScript en Python — hoewel daarover nog geen details bekend zijn.
OpenAI is niet de enige organisatie die voor Rust kiest vanwege de efficiëntie. Ook Evan You, de maker van Vue.js, kondigde een nieuwe versie van de ontwikkeltool Vite aan. Dat is Rolldown-Vite. Die vervangt het huidige Rollup.js door de in Rust geschreven Rolldown. Volgens You levert dat tot 16 keer snellere builds op, en kan het geheugengebruik tot 100 keer lager liggen.