100 000 lignes de Rust avec l'IA : contrats, développement piloté par les spécifications et performance

✍️ OpenClawRadar📅 Publié: May 20, 2026🔗 Source
100 000 lignes de Rust avec l'IA : contrats, développement piloté par les spécifications et performance
Ad

Cheng Huang a passé environ 6 semaines à construire un moteur de consensus multi-Paxos en Rust destiné à moderniser la Replicated State Library (RSL) d'Azure. Le projet implique plus de 130 000 lignes de code Rust (~100 000 écrites en 4 semaines par des agents IA, plus 3 semaines d'optimisation) et a réalisé un bond de débit de 23 000 à 300 000 opérations par seconde.

Huang a utilisé plusieurs agents de codage IA : GitHub Copilot, Claude Code, Codex CLI, Augment Code, Kiro et Trae. Sa configuration principale est désormais Claude Code + Codex CLI depuis le terminal, avec VS Code uniquement pour les diffs et les modifications mineures. Il maintient deux abonnements ChatGPT pour gérer les limites de débit (un du lundi au mercredi, un du jeudi au dimanche).

Contrats de code — écrits par l'IA

La stratégie de correction fondamentale : des contrats de code générés par IA qui spécifient les préconditions, postconditions et invariants pour les fonctions critiques, convertis en assertions d'exécution lors des tests. Huang a constaté que GPT-5 High écrit d'excellents contrats ; Opus 4.1 est bon mais nécessite plus de révision. Par exemple, la méthode process_2a (gérant les messages de la phase 2a de Paxos) a 16 contrats. Les contrats sont ensuite utilisés pour générer des cas de test ciblés et des tests basés sur les propriétés qui explorent des entrées aléatoires — un contrat a détecté une subtile violation de sécurité Paxos qui aurait pu causer des problèmes de cohérence de réplication.

Ad

Développement dirigé par spécifications léger

Huang a d'abord essayé une approche rigide dirigée par les spécifications : cahier des charges en markdown → conception en markdown → liste de tâches en markdown. Il l'a trouvée trop inflexible pour les changements itératifs. Il utilise désormais une approche SDD plus légère : commencer par une spécification concise, laisser l'IA générer le code, puis affiner les contrats et les tests de manière itérative. Le système complet comprend plus de 1 300 tests couvrant des tests unitaires, d'intégration et d'injection de pannes multi-répliques.

Optimisation des performances

La phase d'optimisation (3 semaines) a augmenté le débit de 23 000 à 300 000 opérations par seconde. Changements architecturaux clés : ajout du pipelining (les requêtes n'attendent plus les votes en cours), prise en charge de la mémoire non volatile (NVM) pour réduire le temps de validation, et sensibilité à RDMA pour le matériel moderne des datacenters Azure.

Prochaines étapes

Huang souhaite un meilleur support IA pour la génération de tests basés sur les propriétés à partir des contrats et une gestion plus transparente des changements cassants dans les bases de code de plus de 100 000 lignes.

📖 Read the full source: HN AI Agents

Ad

👀 See Also

🦀
Tips

5 commandes terminal Claude Code que vous pourriez manquer

Un développeur senior partage cinq commandes cachées de Claude Code pour le terminal : barre d'état personnalisée, commandes shell, mentions de fichiers, contexte multi-dépôt et conversations parallèles.

OpenClawRadar
Cinq erreurs courantes de configuration d'OpenClaw qui gaspillent de l'argent et créent des risques de sécurité
Tips

Cinq erreurs courantes de configuration d'OpenClaw qui gaspillent de l'argent et créent des risques de sécurité

Après avoir examiné plus de 50 configurations OpenClaw, les mêmes cinq problèmes réapparaissent constamment : utiliser Opus comme modèle par défaut au lieu de Sonnet pour la plupart des tâches, ne jamais démarrer de nouvelles sessions, installer des compétences sans lire le code source, exposer la passerelle au réseau, et ajouter un deuxième agent avant de réparer le premier.

OpenClawRadar
llama.cpp Retraitement massif de prompts avec des agents de codage : Débogage du cache KV et de l'échange de contexte
Tips

llama.cpp Retraitement massif de prompts avec des agents de codage : Débogage du cache KV et de l'échange de contexte

Un utilisateur signale que llama.cpp retraite 40 000+ tokens sur des prompts similaires lorsqu'il utilise opencode + pi.dev, malgré une forte similarité LCP. La configuration détaillée et les causes suspectées sont partagées.

OpenClawRadar
Comment un non-codeur a construit un workflow Claude réutilisable pour le marketing de contenu fondateur
Tips

Comment un non-codeur a construit un workflow Claude réutilisable pour le marketing de contenu fondateur

Ancien rédacteur en chef sans aucune expérience en codage raconte comment il a accidentellement créé un workflow Claude reproductible pour le marketing de contenu de fondateur solo : jeter les idées brutes, puis les restructurer avec Claude en formats spécifiques à chaque plateforme.

OpenClawRadar