Contexte et objectifs

Le projet AI‑Agent‑on‑a‑NOKIA part d’une ambition simple : rendre un téléphone bas de gamme, le Nokia 110 4G, capable d’interagir avec l’utilisateur par le biais d’un dialogue en langage naturel. Le développeur a d’abord ajouté une fonction de recherche IA dans le navigateur Opera Mini, puis a cherché à exploiter les fonctions matérielles du téléphone (appels, réveil, torche, état de la batterie) directement depuis une interface de chat.

Méthodologie de reverse‑engineering

Le firmware du Nokia 110 4G a été étudié sans documentation officielle. En analysant le processus de démarrage, l’auteur a identifié le point d’entrée du calculateur natif, qui sert de porte d’accès à la RAM. En injectant du code via ce point d’entrée, il a pu exécuter un binaire personnalisé sans flasher le firmware complet. Cette approche permet de tester rapidement, mais elle implique que l’application ne persiste pas après un redémarrage ; il faut la recharger depuis un ordinateur chaque fois.

Architecture de l’agent IA

Le cœur de l’agent repose sur une version fortement allégée du modèle de langage, exécutée à distance via l’API DeepSeek chat. Le téléphone envoie le texte saisi sur le pavé numérique à l’API, reçoit la réponse et déclenche des tool calls qui correspondent aux fonctions natives du dispositif. Les fonctions implémentées comprennent :

• Lecture du pourcentage de batterie.
• Activation/désactivation de la torche.
• Initiation d’un appel téléphonique.
• Programmation d’une alarme.
• Extraction d’informations depuis la carte SIM.

Pour tenir dans les 48 Mo de mémoire disponible, le développeur a compressé le payload, réutilisé des buffers existants et limité la taille du modèle à quelques dizaines de kilooctets. Le code a été généré avec l’aide d’OpenAI Codex, puis adapté manuellement pour respecter les contraintes de l’appareil.

Limites et perspectives

Le prototype fonctionne tant qu’il reste chargé en RAM et que le téléphone dispose d’une connexion mobile. Après une coupure d’alimentation, le code disparaît, ce qui rend l’installation permanente non résolue. De plus, la dépendance à une API externe impose une latence réseau et expose les échanges à des risques de confidentialité, surtout lorsqu’on manipule des données SIM. La taille du modèle impose également une capacité de compréhension limitée ; les réponses sont basées sur des prompts simples et ne couvrent pas de scénarios complexes.

Sur le plan technique, le projet démontre la faisabilité d’intégrer une IA conversationnelle dans un appareil à ressources très limitées, en s’appuyant sur le principe du « edge‑offloading » : le traitement lourd reste dans le cloud, tandis que le téléphone ne fait qu’interpréter les résultats et piloter le matériel. Cette architecture pourrait être généralisée à d’autres téléphones « feature‑phone » ou à des appareils IoT où la mémoire et le processeur sont contraints.