Contexte et enjeux économiques
Spotify a développé Portal, une plateforme d’orchestration d’agents IA. Le problème identifié était la consommation excessive de tokens par Claude Code, le modèle de génération de code de Claude, lorsqu’il lisait ou écrivait de gros fichiers. En 2028, les coûts d’IA pour le codage devraient dépasser le salaire moyen d’un développeur, avec 25 % des responsables techniques dépensant entre 200 $ et 500 $ par développeur chaque mois, certains dépassant 2 000 $. Réduire la facture tokenique devient donc une priorité.
Architecture des modes AiKA
Portal introduit les AiKA Modes, des agents déclaratifs exécutés sur un runtime éphémère similaire à AWS Lambda. Chaque mode spécifie un model (exemple : gemini-2.5‑flash), des paramètres comme la température, et une série d’instructions. Deux modes ont été créés :
name: bulk-reader
description: Bulk file reader for code analysis - delegates I/O from Claude Code
instructions: You are a precise code analyst. Read the provided files and answer the question concisely. Output structured bullets only.
visibility: public
model: gemini-2.5-flash
resourceLimits:
temperature: 0.2
Le premier, bulk-reader, intercepte les lectures de fichiers volumineux (plus de 350 lignes par défaut) et renvoie un résumé structuré. Le second, code-writer, génère du code boilerplate à partir d’un spécimen et d’un fichier de référence, en renvoyant uniquement le code brut sans balises markdown.
Mécanisme de routage et hooks
Le plugin shunt s’intègre à Claude Code via des PreToolUse hooks. Le hook check-file-size bloque toute lecture Read dépassant le seuil configuré (SHUNT_MIN_LINES, valeur par défaut 350, modifiable dans .claude/settings.json). Lorsqu’un blocage survient, le message d’erreur indique à Claude d’appeler le skill /bulk-reader. Un second hook, check-bash-read, filtre les commandes cat, head, tail, less et more sur les gros fichiers. Les scripts bash qui enveloppent les appels CLI de Portal construisent la requête, invoquent le mode approprié, désencapsulent les erreurs et redirigent la consommation de tokens vers le modèle de travail, qui est nettement moins cher que le modèle frontier utilisé par Claude.
Résultats mesurés et limites
Des tests sur un monorepo Java ont comparé la consommation de tokens de Claude lorsqu’il lisait les fichiers directement à celle observée avec le mode bulk-reader. La réduction moyenne est d’environ 90 %. Le scénario code-writer montre des économies plus difficiles à quantifier, car il élimine à la fois les tokens d’entrée (lecture des références) et de sortie (génération de code). La solution ne nécessite aucune infrastructure supplémentaire : les modes sont exécutés de façon éphémère, aucune clé API n’est stockée, et les données transitent uniquement entre le client et le modèle de travail. Cependant, la précision du résumé dépend de la capacité du modèle de travail à extraire les informations pertinentes, et le seuil de lignes doit être ajusté selon la taille typique des fichiers du projet. Enfin, la méthode repose sur la bonne implémentation des hooks ; si Claude ignore les messages de blocage, le routage ne s’applique pas.