Synthèse de Code Autonome dans Macaron AI : Construire en Sécurité des Mini‑Apps pour les Modes de Vie en Asie

Blog image

Auteur : Boxu Li chez Macaron


Introduction

L'une des caractéristiques les plus remarquables de Macaron AI est sa capacité à générer des mini-applications personnalisées à la volée. Lors d'un chat ordinaire, un utilisateur peut décrire un besoin—suivi d'un budget familial, planification d'un itinéraire de festival, apprentissage d'une nouvelle langue—et Macaron assemblera un outil complet en quelques minutes. Certaines de ces mini-apps dépassent 100 000 lignes de code, pourtant elles sont générées sans intervention humaine. Pour les utilisateurs japonais et coréens, cela signifie recevoir des outils personnalisés adaptés aux coutumes et réglementations locales. Ce blog dissèque le pipeline de synthèse de code autonome qui alimente les mini-apps de Macaron, couvrant la compréhension de l'intention, la synthèse de programme, l'exécution en bac à sable, la gestion des erreurs et les mesures de sécurité. Nous examinons comment le système gère la complexité, s'intègre aux API externes, respecte les lois régionales et s'appuie sur l'apprentissage par renforcement pour affiner ses résultats.

1 Du Langage Naturel à la Spécification de Programme

1.1 Analyse de l'intention et extraction de slot

Lorsqu'un utilisateur demande une application, Macaron commence par analyser l'entrée en langage naturel pour construire une spécification d'intention structurée. Cela implique d'identifier des éléments tels que le domaine (finance, éducation, cuisine), les fonctionnalités souhaitées (catégories budgétaires, alertes), les contraintes (devise, langue) et le calendrier. Pour les langues japonaise et coréenne, le parseur gère les honorifiques et les ellipses. Par exemple, une demande japonaise comme « 家計簿を作りたいんだけど、食費を細かく分けて » (Je veux créer un registre de ménage avec des dépenses alimentaires détaillées) donne le domaine « budgétisation », la fonctionnalité « catégories alimentaires détaillées » et la contrainte « yen japonais ». Une demande coréenne « 가족 여행 일정을 계획해줘, 한식 식당 추천도 » (Planifie un itinéraire de voyage familial et recommande des restaurants coréens) donne le domaine « planification de voyage », la fonctionnalité « recommandations de restaurants » et une contrainte culturelle.

Macaron utilise une architecture de double encodeur : un encodeur traite la conversation actuelle, et un autre traite la mémoire de l'utilisateur. Les deux vecteurs sont combinés via l'attention pour produire une représentation unifiée de l'intention. L'apprentissage par renforcement ajuste le parseur pour extraire les bons éléments. Le retour d'information provient de savoir si la mini-application résultante répond aux attentes de l'utilisateur ; sinon, les paramètres du parseur sont mis à jour.

1.2 Synthèse de programme avec des bibliothèques de domaine et des modèles

Une fois l'intention structurée, le moteur de synthèse de Macaron génère du code en composant des fonctions à partir d'une bibliothèque de modules spécifiques au domaine. Les modules incluent des fonctions de budgétisation (calcul des dépenses, génération de graphiques), des fonctions de planification (intégration de calendrier, résolution de conflits), des algorithmes d'apprentissage des langues (répétition espacée) et une assistance culinaire (conversion d'ingrédients, analyse nutritionnelle). Le moteur sélectionne les modules, les configure et les assemble en un programme cohérent. Les modèles contiennent des structures de graphes (DAGs) qui définissent le flux de données entre les modules, permettant la concurrence et les opérations asynchrones. Par exemple, une application japonaise de budgétisation pourrait exécuter des tâches de synthèse mensuelle et des alertes hebdomadaires en parallèle.

Le moteur de synthèse utilise des modèles de synthèse de programmes neuronaux entraînés sur du code open-source et des exemples propriétaires. Il exploite également le raisonnement symbolique : des contraintes telles que « Ne pas dépasser le budget total » sont représentées par des inégalités linéaires et introduites dans un solveur de contraintes. Cette approche hybride améliore la fiabilité par rapport à la génération purement neuronale. L'apprentissage par renforcement surveille la satisfaction des utilisateurs et les taux d'erreur pour ajuster la sélection et l'ordre des modules.

1.3 Exigences localisées et contraintes réglementaires

Les réglementations japonaises et coréennes imposent des exigences spécifiques sur la gestion des données financières et personnelles. Par exemple, la loi japonaise sur la vie privée stipule que les données comptables des ménages ne peuvent pas être transmises à des tiers sans consentement. La loi coréenne sur la protection des informations personnelles impose des exigences strictes sur l'anonymisation des données. Lors de la création d'un outil de budgétisation, Macaron consulte ses règles de liaison de politique pour s'assurer que les données sensibles sont stockées localement et jamais envoyées à des serveurs externes. Le générateur de code insère des appels aux bibliothèques de chiffrement et désactive par défaut l'accès au réseau. Pour les applications de santé, Macaron vérifie avec la Loi sur le cadre de l'IA pour s'assurer que les décisions impliquant des conseils médicaux sont accompagnées d'une supervision humaine.

2 Environnement d'exécution sécurisé

Blog image

2.1 Bac à sable et limites de ressources

Exécuter du code arbitraire généré à la demande présente des risques de sécurité significatifs. Macaron exécute donc les mini‑applications dans un environnement sandbox rappelant les interpréteurs de code modernes. Le sandbox limite l'accès au système de fichiers à un répertoire virtuel, restreint l'utilisation du CPU et de la mémoire, et bloque les connexions réseau sauf si elles sont explicitement autorisées. Les programmes sont exécutés dans des conteneurs avec des images de base en lecture seule. Lorsqu'une application de cuisine coréenne demande à récupérer des données nutritionnelles, la requête est acheminée via un proxy qui vérifie les domaines autorisés. Si le programme tente d'accéder à un site externe sans permission, le sandbox interrompt l'opération et retourne un message d'erreur à l'utilisateur.

2.2 Analyse statique et vérification des types

Avant l'exécution, Macaron effectue une analyse statique sur le code synthétisé pour détecter les vulnérabilités telles que les boucles infinies, les attaques par injection, et les appels système non autorisés. Un vérificateur de types s'assure que les modules sont correctement composés : une fonction retournant un nombre ne peut pas être connectée à un module de traitement de texte. Le vérificateur vérifie également la conformité avec les types de données locaux; par exemple, les valeurs monétaires sont représentées en utilisant des types décimaux pour éviter les erreurs de virgule flottante. Si l'analyse statique échoue, Macaron propose de simplifier les fonctionnalités demandées ou suggère de diviser l'application en modules plus petits.

2.3 Surveillance en temps réel et auto‑réparation

Pendant l'exécution, Macaron surveille les indicateurs de performance (utilisation du CPU, empreinte mémoire), la correction fonctionnelle (cas de test, affirmations) et les interactions utilisateur (clics, temps passé). Si le programme s'écarte du comportement attendu—comme dépasser les limites de temps ou lancer des exceptions—le module auto-guérison de Macaron intervient. Il peut revenir à l'état stable précédent, appliquer un correctif généré à la volée ou dégrader gracieusement la fonctionnalité. Par exemple, si l'API météo d'une application de jardinage japonaise échoue, le programme peut basculer vers une source de données de secours ou informer l'utilisateur de la panne temporaire.

3 Apprentissage par renforcement et amélioration continue

3.1 Signaux de récompense provenant des retours utilisateurs et du succès des tâches

Chaque session de mini-application fournit une mine de retours. Les utilisateurs signalent implicitement leur satisfaction en continuant à utiliser l'application ou évaluent explicitement l'expérience. Macaron agrège ces signaux dans une fonction de récompense qui guide la génération future de code. La récompense pénalise les bugs, les interfaces confuses et les performances lentes tout en récompensant la fiabilité, la pertinence culturelle et la nouveauté. Au fil du temps, le moteur de synthèse apprend que les utilisateurs japonais apprécient le minimalisme et la facilité d'utilisation, tandis que les utilisateurs coréens pourraient apprécier les options de personnalisation et les visuels vibrants. Ces préférences sont encodées dans la politique RL qui sélectionne les modules et les modèles d'interface utilisateur.

3.2 Apprentissage par curriculum et méta-apprentissage

Pour gérer la complexité croissante des demandes des utilisateurs, Macaron utilise l'apprentissage par curriculum : le moteur de synthèse commence par générer des programmes simples (par exemple, des calculatrices, des listes de tâches) et aborde progressivement des tâches plus complexes (par exemple, des plateformes de budgétisation multi-utilisateurs). Au fur et à mesure que le système rencontre de nouveaux domaines, il utilise le métapprentissage pour accélérer son adaptation. Lorsque le moteur reçoit des demandes similaires de la part d'utilisateurs japonais et coréens—comme planifier des événements scolaires ou gérer les soins aux personnes âgées—il peut généraliser à travers les tâches. Le métapprentissage aide également l'agent à s'adapter aux changements de lois ou de culture; si la Loi de promotion de l'IA introduit de nouvelles exigences de conformité, Macaron les intègre rapidement dans ses modèles de code.

3.3 Contributions communautaires et marché de modules

Macaron encourage l'implication de la communauté. Les développeurs peuvent contribuer de nouveaux modules à un marché. Les modules sont vérifiés pour la sécurité et la conformité avant d'être inclus. Cela favorise un écosystème local : les développeurs japonais pourraient créer des modules pour la planification de cérémonies de thé ou des recommandations d'anime, tandis que les développeurs coréens pourraient contribuer des modules pour apprendre la chorégraphie de K-pop ou gérer les cérémonies familiales. Les contributeurs sont récompensés avec des Almonds (la monnaie intégrée de Macaron), incitant à l'amélioration continue de la plateforme.

4 Intégration avec les API et services externes

Blog image

4.1 Localisation des sources de données

Les utilisateurs japonais et coréens s'appuient sur différents fournisseurs de données. Macaron s'intègre aux API bancaires japonaises (par exemple, via J‑Debit) pour les applications financières, aux calendriers japonais pour les jours fériés (Golden Week, Obon) et aux sources d'actualités locales pour la planification d'événements. En Corée, l'agent se connecte aux API boursières KOSPI, au service météo de Naver et à l'API de messagerie KakaoTalk. Chaque intégration est encapsulée dans un module qui applique des limites de taux, de la mise en cache et la gestion des erreurs. Le générateur de code insère automatiquement ces modules lorsque cela est pertinent.

4.2 Interface en langage naturel pour la configuration des API

Au lieu de demander aux utilisateurs de saisir manuellement les clés API, Macaron les guide à travers une conversation. Si un utilisateur japonais souhaite importer des transactions depuis sa banque, l'agent explique le processus de consentement, obtient les jetons nécessaires et les stocke en toute sécurité. De même, un utilisateur coréen pourrait demander à Macaron de se connecter à l'emploi du temps scolaire de son enfant ; l'agent utilise OAuth pour autoriser l'accès et s'assure que l'application ne lit que les données requises. Ces interactions sont enregistrées et peuvent être examinées, conformément au principe de transparence différenciée.

4.3 Informatique de périphérie et support hors ligne

Dans de nombreuses régions du Japon et de la Corée, les utilisateurs s'attendent à une fiabilité même avec une connectivité intermittente. Les mini-applications de Macaron prennent en charge le edge computing, exécutant des calculs localement lorsque c'est possible. L'agent peut générer des applications web progressives (PWA) qui mettent en cache les données et se synchronisent avec les serveurs lorsque le réseau devient disponible. Par exemple, un randonneur coréen utilisant un planificateur de sentiers de montagne peut continuer à suivre les itinéraires hors ligne et se synchroniser avec le cloud après la descente. La capacité hors ligne est particulièrement importante pour la confidentialité; les données sensibles restent sur l'appareil jusqu'à ce que l'utilisateur choisisse de les partager.

5 Sécurité, Conformité et Sensibilité Culturelle

5.1 Alignement réglementaire dans la génération de code

Les mini-applications doivent respecter les réglementations locales. La Loi de Promotion de l'IA du Japon met l'accent sur la transparence; par conséquent, les applications de budgétisation incluent des journaux clairs des flux de données et fournissent aux utilisateurs une explication de la manière dont les dépenses sont catégorisées. Les réglementations sur l'IA en Corée exigent une supervision humaine pour les décisions à fort impact; les applications liées à la santé incitent donc les utilisateurs à consulter des professionnels avant de suivre les conseils. Le générateur de code de Macaron insère des avertissements et obtient un consentement explicite pour les opérations sensibles. Si un utilisateur tente de générer une application de déclaration fiscale, Macaron lui rappelle les mises à jour de la législation fiscale locale et suggère de consulter un comptable certifié.

5.2 Normes culturelles et localisation de l'interface utilisateur

L'esthétique culturelle influence la conception des interfaces utilisateur. Au Japon, le minimalisme et le respect de l'espace blanc sont valorisés ; Macaron utilise donc des couleurs subtiles et des icônes simples pour les utilisateurs japonais. Les interfaces coréennes peuvent être plus vibrantes et inclure des animations. Les modules d'interface utilisateur de Macaron adaptent automatiquement ces styles en fonction des préférences des utilisateurs déterminées lors de l'onboarding. L'agent personnalise également les messages d'aide en fonction des normes culturelles : les écrans d'aide japonais peuvent inclure des explications contextuelles, tandis que les écrans d'aide coréens peuvent privilégier des instructions étape par étape.

5.3 Résilience face aux catastrophes et considérations éthiques

Le Japon et la Corée sont sujets à des catastrophes naturelles telles que les tremblements de terre et les typhons. Les agents personnels générant des applications de réponse d'urgence doivent être fiables. Macaron inclut un module de résilience face aux catastrophes qui s'intègre aux systèmes d'alerte gouvernementaux et veille à ce que les instructions d'urgence soient à jour. Sur le plan éthique, le système évite les conceptions manipulatrices telles que les "dark patterns" dans les outils financiers et respecte les directives d'équité. Par exemple, lorsqu'il recommande des restaurants, l'agent prend en compte les restrictions alimentaires et évite de favoriser certaines régions ou chaînes, à moins que l'utilisateur n'exprime une préférence.

5.4 Études de cas : Planificateur de Hanami et gestionnaire de fans de K-pop

Deux études de cas illustrent la puissance et la nuance de la synthèse de code de Macaron. Hanami Planner est une application saisonnière demandée par des familles japonaises souhaitant vivre l'expérience de la floraison des cerisiers. L'utilisateur demande : « 桜の見頃と混雑を避けるプランを作って » (Créer un plan pour voir les cerisiers en pleine floraison tout en évitant la foule). Macaron récupère les prévisions météorologiques et de floraison à partir des API météorologiques japonaises, croise les données historiques et prédit les dates de floraison maximale pour les parcs à proximité. Il synthétise ensuite une application multi-modules : un planificateur de calendrier pour bloquer les dates ; un planificateur d'itinéraire tenant compte du trafic et des transports publics ; un suivi de budget pour les fournitures de pique-nique (intégrant les catégories kakeibo) ; et un guide d'étiquette culturelle rappelant aux utilisateurs les règles concernant l'élimination des déchets et les règles des parcs. L'apprentissage par renforcement personnalise les suggestions : si la famille a des membres âgés, l'agent privilégie les parcs avec des chemins accessibles ; s'ils ont des enfants, il recommande des attractions adaptées aux familles. L'application génère également des invitations bilingues pour que les amis parlant uniquement coréen ou anglais puissent se joindre, mettant en valeur les capacités interlinguistiques de Macaron.

Le cas du K‑pop Fan Manager cible les utilisateurs coréens qui suivent plusieurs groupes de musique. Un utilisateur pourrait dire : « 다음 커백 스케줄과 팬미팅 일정 관리 앱을 만들어줘 » (Créer une application pour gérer les plannings des retours et les rencontres de fans à venir). L'agent récupère les plannings de sortie des API des compagnies de divertissement, calcule les objectifs de streaming basés sur des algorithmes de classement, et affiche des widgets de compte à rebours. Les modules incluent un assistant d'achat de billets (vérifiant les lois locales sur la revente), un album numérique pour collecter des cartes photo, et un module social pour coordonner les projets de fans. Pour éviter de surcharger l'utilisateur avec des notifications, le modèle de récompense RL équilibre l'urgence (par exemple, les délais des billets de rencontre de fans) avec la charge cognitive. Les fonctionnalités multilingues interviennent lorsque les fans coordonnent avec des amis japonais : l'application traduit automatiquement les plannings et les messages en japonais et en anglais, et les balises mémoires assurent que le contexte est préservé entre les langues. Ces études de cas démontrent la capacité de Macaron à intégrer culture locale, sensibilisation réglementaire et sophistication technique dans des outils personnalisés.

5.5 Défis techniques : concurrence, gestion des versions et débogage

Générer de grands programmes à la volée présente des défis d'ingénierie. La concurrence survient lorsque les mini-apps doivent effectuer plusieurs tâches simultanément, comme récupérer des données tout en mettant à jour l'interface utilisateur. Le générateur de code de Macaron construit des graphes acycliques dirigés (DAGs) qui définissent les relations de dépendance et utilise des constructions de programmation asynchrone (par exemple, les promesses JavaScript ou Python asyncio) pour éviter les opérations bloquantes. La gestion des versions devient cruciale car la bibliothèque de modules de Macaron évolue constamment. Les applications générées incluent des fichiers manifestes qui enregistrent les versions des modules ; lorsqu'une mise à jour est disponible, Macaron compare les versions et invite les utilisateurs à mettre à jour ou à rester sur une version stable connue. Le débogage est peut-être le plus difficile : le code généré automatiquement peut contenir des bugs subtils ou des cas particuliers. Macaron aborde cela avec des tests basés sur les propriétés—en générant des entrées aléatoires pour tester les invariants des programmes—et l'exécution symbolique pour explorer les chemins d'exécution. Lorsque des bugs apparaissent dans la nature, l'agent collecte des traces d'erreurs anonymisées et applique des techniques de réparation de programme, intégrant les correctifs dans les futures synthèses. Ces pratiques d'ingénierie garantissent que la promesse de programmation sans code se traduit par des mini-apps fiables et maintenables.

Diplômé de l'Université Emory avec un baccalauréat, il a vécu et travaillé aux États-Unis pendant dix ans. Il a successivement travaillé pour des institutions de capital-investissement et de capital-risque aux États-Unis, puis a rejoint l'équipe d'investissement en phase de démarrage de Qiji ZhenFund, où il a été impliqué dans des recherches à long terme sur les orientations AIGC et Agent. En 2025, Macaron AI sera lancé avec l'équipe fondatrice, dédiée à améliorer l'expérience quotidienne grâce à la technologie.

Postuler pour devenir Les premiers amis de Macaron