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

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.
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
👀 See Also

Utiliser les Cron Jobs d'OpenClaw pour les Tâches Planifiées au Lieu de la Surveillance par Heartbeat
Un post Reddit explique comment utiliser la fonctionnalité de tâches cron d'OpenClaw pour des tâches planifiées comme les briefings matinaux et le tri des emails, avec le drapeau critique --session isolated pour éviter la contamination du contexte, et met en garde contre les bogues potentiels dans les sessions isolées entre les versions.

Correction des Hallucinations Temporelles de Claude dans le Code Claude avec des Hooks
Un utilisateur a découvert que Claude Code n'a pas accès à une horloge en temps réel, ce qui l'amène à suggérer incorrectement des actions comme 'va te reposer' à des moments inappropriés. La solution consiste à ajouter un crochet d'une ligne dans ~/.claude/settings.json qui injecte l'heure actuelle dans le contexte de Claude à chaque message.

Utilisez CLAUDE.md pour conserver les conventions de projet entre les sessions Claude AI
Déposez un fichier CLAUDE.md à la racine de votre projet et Claude le lit au début de chaque session, retenant vos règles TypeScript, l'absence d'exports par défaut, les conventions de test et le contexte architectural sans avoir à les réexpliquer.

Modèle AGENTS.md pour React Native : Claude Code génère un code plus conscient du projet
Un utilisateur de Reddit partage son fichier AGENTS.md pour les projets React Native/Expo, qui inclut la structure des dossiers, les tokens de thème, les hooks personnalisés et les patterns de composants. Résultat : Claude Code et Cursor génèrent du code utilisant les conventions exactes du projet au lieu du code React Native générique.