Manus’ ex-lead dropped function calling — what it changes for e-commerce

Summarize this article with AI

Last updated: 3 April 2026 · Reading time: 11 min

Quick summary The Manus backend lead replaced function calling with eval code after 2 years of developing AI agents. Son post sur r/LocalLLaMA a recueilli 1 927 upvotes et 409 commentaires. This technical shift is transforming the way agents interact with e-commerce catalogs. Here’s what that means in practice for your stack.

Why did an AI agent expert abandon function calling?

Le 12 mars 2026, le backend lead de Manus — un des projets d’agents IA les plus suivis — a publié un post sur r/LocalLLaMA qui a secoué la communauté technique. Après 2 ans à construire des agents avec function calling, il a expliqué pourquoi il abandonne cette approche. Résultat : 1 927 upvotes et 409 commentaires en quelques jours.

Pour comprendre l’ampleur de ce pivot, il faut comprendre ce qu’est le function calling. C’est le mécanisme standard par lequel un LLM (modèle de langage) interagit avec le monde extérieur. Le modèle dispose d’un catalogue de fonctions prédéfinies — par exemple search_product(query, category, price_max) — et génère un appel structuré avec les bons paramètres.

Ce modèle domine l’écosystème depuis 2023. OpenAI, Anthropic, Google : tous les fournisseurs de LLM proposent le function calling comme méthode principale pour construire des agents. Les frameworks comme LangChain, CrewAI et AutoGen sont bâtis autour de ce paradigme.

Les limites identifiées par le lead de Manus

L’observation du développeur est précise : après des milliers d’itérations en production, le function calling présente des frictions structurelles :

  • Rigidité du schéma : chaque nouvelle capacité exige la définition d’une nouvelle fonction, avec ses paramètres typés, sa documentation, ses tests. L’agent est limité au catalogue de fonctions que le développeur a anticipé
  • Explosion combinatoire : quand un agent e-commerce doit gérer filtrage, tri, comparaison, calcul de remise, vérification de stock et recommandation, le nombre de fonctions nécessaires croît de façon exponentielle
  • Latence cumulée : chaque appel de fonction représente un aller-retour entre le LLM et le système hôte. Un parcours complexe peut exiger 8 à 12 appels séquentiels
  • Perte de contexte : entre deux appels, le LLM doit reconstruire le contexte de la conversation. Les résultats intermédiaires sont sérialisés puis désérialisés, avec une perte d’information à chaque étape

Le mot-clé de son analyse : le function calling transforme le LLM en dispatcher. Il choisit quelle fonction appeler et avec quels paramètres, mais il est incapable de composer des actions originales. C’est un standardiste téléphonique dans un monde qui exige un développeur.

1 927 upvotes sur r/LocalLLaMA pour le post du backend lead de Manus (12 March 2026)

Comment fonctionne l’alternative : le code eval ?

L’alternative proposée par le lead Manus est radicale par sa simplicité : au lieu de définir un catalogue de fonctions, on laisse le LLM générer du code qui s’exécute directement. Le modèle écrit en Python (ou JavaScript), le code tourne dans un environnement contrôlé, le résultat revient au LLM.

Un exemple concret : la recherche produit

Avec le function calling classique, un agent e-commerce doit appeler une série de fonctions :

// Classic function calling: 3 sequential calls
search_products(query= »waterproof coat », category= »men »)
filter_results(min_rating=4.0, max_price=150)
sort_results(field= »price », order= »asc »)

With the eval code, the LLM writes directly:

# Eval code: one execution
results = db.query(« SELECT * FROM products
  WHERE category = ‘homme’
AND description LIKE ‘%waterproof%’
  AND rating >= 4.0
  AND price <= 150
  ORDER BY price ASC »)

Un bloc de code remplace trois appels de fonction. Le LLM compose sa logique librement au lieu de la découper en appels atomiques.

Validation communautaire

La réaction sur r/LocalLLaMA a été immédiate. Massive. Le commentaire le plus upvoté (211 upvotes) rapportait une expérience convergente :

“I experimented with Python code eval as my only tool… it worked remarkably well. » r/LocalLLaMA · 211 upvotes · Top comment

Another very popular comment went further:

“JIT natural language to sed awk regex was the real superpower all along. » r/LocalLLaMA · Top comment

Les LLMs excellent à générer du code. Leur demander d’écrire du code exécutable est plus naturel que de les forcer à piocher dans un menu de fonctions prédéfinies. On exploite leur force première : la génération de texte structuré.

Why it works: The theory behind code eval

Function calling enferme le LLM dans un espace d’actions discret : il choisit parmi N fonctions. Le code eval ouvre un espace d’actions continu : il compose librement ses instructions. La différence est fondamentale. Un agent avec 50 fonctions prédéfinies exécute 50 actions. Un agent avec un interpréteur Python ? Combinaisons infinies.

Concrètement, un agent e-commerce en code eval peut :

  • Combiner des filtres que tu n’avais pas prévus : « Tous les manteaux avec un ratio avis/prix au-dessus de la médiane catégorie »
  • Générer des analyses dynamiques : calculer un score de pertinence personnalisé pour chaque produit en temps réel
  • Adapter sa stratégie au contexte : écrire un workflow différent selon la complexité de la requête utilisateur

Quels avantages pour les agents e-commerce ?

Pour un e-commerçant, le passage de function calling au code eval change directement la qualité de l’expérience agent et la vitesse de développement.

1. Des recommandations produit radicalement plus fines

Un agent function calling recommande un produit parce qu’il correspond à des critères prédéfinis — catégorie, prix, note. Un agent en eval code compose une logique de recommandation sophistiquée en temps réel : pondère la note par la fraîcheur des avis, croise la disponibilité avec le délai de livraison, intègre l’historique de navigation du client. Le tout dans un seul bloc de code généré à la volée.

2. Une réduction massive de la latence

Au lieu de 8 à 12 appels séquentiels pour un parcours de recommandation complet, l’agent génère un seul bloc de code qui exécute toute la logique. La latence perçue par l’utilisateur chute. Pour un chatbot e-commerce, c’est la différence entre une réponse en 3 secondes et une réponse en 800 millisecondes.

3. Coût de maintenance réduit

Function calling impose de maintenir un catalogue de fonctions documentées, testées, versionnées. Chaque nouvelle fonctionnalité — un nouveau filtre, un nouveau critère de tri, une nouvelle règle promo — exige du code côté serveur. Avec le code eval, le LLM s’adapte au contexte disponible. Tu exposes les données et une API basique ; il invente le reste.

4. Adaptation instantanée aux demandes imprévues

Cas classique : un client demande « Compare ces 3 produits en tenant compte des retours gratuits et de l’éco-responsabilité des matériaux ». Avec function calling, cette requête échoue si aucune fonction compare_products_with_return_policy_and_sustainability n’existe. Avec eval code, l’agent écrit le code de comparaison à la volée, en interrogeant les données structurées disponibles.

409 comments on the post r/LocalLLaMA — proof of the intensity of the debate in the AI ​​community

Quels sont les risques de cette approche ?

Sur r/LocalLLaMA, 409 commentaires. Le débat était vif. La communauté a pointé des risques réels. Un commentaire très partagé résumait tout :

“The OP’s post is a psyop to give your LLM agent full rights to your terminal. » r/LocalLLaMA · Warning comment

Le ton provoque. Le fond compte.

Sécurité : surface d’attaque élargie

Avec le function calling, l’agent appelle des fonctions que vous avez écrites, testées, validées. Le périmètre d’action est défini à l’avance. Avec l’eval code, le LLM génère du code que vous n’avez jamais vu. Les risques sont concrets :

  • Injection de code malveillant : un utilisateur manipule le prompt, l’agent génère du code destructeur
  • Accès non autorisé : le code tente d’atteindre des ressources système (fichiers, réseau, bases) hors périmètre
  • Exfiltration de données : prix fournisseurs, marges, données clients expédiés vers un endpoint externe

La réponse : sandboxing

La solution technique est le sandboxing : exécuter le code généré dans un conteneur isolé, permissions strictes. Bonnes pratiques identifiées par la communauté :

  • Conteneur éphémère : chaque exécution tourne dans un conteneur détruit après usage
  • Permissions minimales : lecture seule sur les données produits, aucun accès réseau sortant
  • Timeout strict : 5 secondes maximum pour bloquer les boucles infinies
  • Validation de l’output : le résultat du code est validé (type, taille, format) avant renvoi au LLM
  • Allowlist d’imports : seuls les modules autorisés (pandas, json, math) peuvent être importés

Fiabilité : le LLM peut se tromper

Un LLM génère du code qui semble correct mais contient des erreurs subtiles. Un calcul de remise avec arrondi incorrect, un filtre qui exclut des produits valides, une requête qui ignore les précommandes. En function calling, les fonctions sont testées individuellement. En eval code, chaque exécution est potentiellement unique.

La mitigation : des tests de validation automatiques sur l’output du code. Si le résultat d’une recommandation produit est vide alors que le catalogue contient 2 000 références, le système bascule sur une logique déterministe.

Observabilité : déboguer l’imprévisible

Un avantage du function calling : chaque appel est tracé, loggé, reproductible. Avec l’eval code, le code généré diffère à chaque exécution. Déboguer un problème signalé par un client revient à chercher du code qui n’existe plus. La solution : logger systématiquement le code généré, ses entrées, ses sorties, son temps d’exécution.

Sur r/ArtificialIntelligence, un post avec 532 upvotes et 419 commentaires alertait sur les risques des agents IA autonomes en général : « AI agents today are far more dangerous than you think. » Ce message de prudence concerne directement l’eval code en production e-commerce.

Que signifie « construire des apps pour un monde qui change » ?

Pendant que la communauté débat du function calling, un autre thread Reddit explose sur r/vibecoding : 234 upvotes, 521 commentaires. La question posée frontalement : « We’re building apps for a world that’s about to stop using them. »

« We’re building apps for a world that’s about to stop using them. » r/vibecoding · 234 upvotes · 521 commentaires

Les interfaces classiques du e-commerce — pages catégorie, filtres à facettes, fiches produit, panier — sont conçues pour des humains qui naviguent. Quand un agent IA s’intercale entre le consommateur et le catalogue, ces interfaces deviennent secondaires. L’agent dialogue directement avec la donnée, pas avec la mise en page.

L’interface invisible : quand l’agent remplace le navigateur

Un agent IA en eval code interroge votre catalogue d’une manière radicalement différente d’un visiteur humain :

  • Il interroge votre API REST ou votre flux de données structurées (Schema.org, flux Google Merchant)
  • Il écrit ses propres requêtes de filtrage et d’agrégation — il compose la logique métier au lieu de subir les filtres que vous avez prévus
  • Il synthétise avis, spécifications et conditions de vente en une seule réponse pour l’utilisateur

L’investissement dans le design de pages produit, aussi crucial soit-il pour le trafic humain, se double désormais d’un investissement dans la couche data. Les deux comptent. Les e-commerçants qui exposent des données structurées riches, des API bien documentées et des flux produit complets sont ceux que les agents recommandent.

Le parallèle avec le SEO : du visible à l’exploitable

L’histoire se répète. En 2010, les e-commerçants qui pensaient « mon site est beau, donc il va ranker » ont été dépassés par ceux qui maîtrisaient la technique SEO : balisage sémantique, maillage interne, performance. En 2026, même basculement : les sites structurés pour les agents prennent l’avantage sur les sites conçus seulement pour les yeux.

Le post r/vibecoding a généré 521 commentaires — le double du thread sur Manus. La question touche un nerf : une partie significative de la communauté technique réalise que l’architecture logicielle va être redessinée autour de l’interaction avec les agents, et que ce shift est déjà en cours.

How can you apply these lessons to your e-commerce stack?

Le passage de function calling à code eval change la donne pour tout e-commerçant qui intègre — ou prévoit d’intégrer — des agents IA dans son parcours client. Cinq actions concrètes.

Action 01
Expose full structured data

An agent in eval code composes its own requests. The more complete and structured your data is (Schema.org Product, Offer, AggregateRating), the more the agent can build relevant recommendations. Each missing attribute is a comparison criterion lost to a competitor who provides it.

Action 02
Documenter votre API pour les agents

Si vous disposez d’une API REST (WooCommerce, Shopify, PrestaShop), documentez-la clairement dans votre fichier llms.txt. Specify endpoints, response formats, and filter settings. An agent who understands your API can write optimal code to query your catalog.

Action 03
Secure agent interactions

Adoptez une approche hybride : function calling for critical operations (paiement, modification de commande, gestion de stock) et code eval pour les exploratory operations (research, comparison, recommendation). Financial transactions remain within a controlled perimeter.

Action 04
Enrichir le flux produit

Eval code agents use data feeds (Google Merchant Center, Meta Product Feed) as a priMayre source. Enrich your feeds with tous les attributs disponibles: material, certifications, delivery time, return policy, standardized size. A comprehensive feed is the best investment for agentic visibility.

Action 05
Monitorer les interactions des agents

AI agents leave traces: specific user-agent (GPTBot, ClaudeBot, PerplexityBot), characteristic request patterns, rapid access sequences. Set up dedicated monitoring to understand comment les agents utilisent votre catalogue: what pages, what data, what frequency.

L’approche hybride : la stratégie recommandée

Le débat sur Reddit n’est pas binaire. La réalité en e-commerce production, c’est un spectre :

  • Opérations critiques (paiement, stock, données client) : function calling avec validation stricte
  • Opérations exploratoires (recherche, recommandation, comparaison) : eval code en sandbox
  • Opérations analytiques (reporting, tendances, segmentation) : eval code batch, hors temps réel

Cette segmentation exploite la flexibilité d’eval code là où elle crée de la valeur. Elle maintient le contrôle là où la sécurité l’exige.

Ce que ça change pour votre stratégie digitale

Le virage du lead de Manus est un signal fort : les agents IA gagnent en autonomie. Ils génèrent leur propre logique d’interaction avec votre catalogue. Les e-commerçants qui se préparent prennent un avantage structurel : leurs données sont exploitées en profondeur, leurs produits recommandés en priorité, leur catalogue devient la référence que les agents consultent en premier.

Function calling a dominé 3 ans. Eval code ouvre un nouveau chapitre. Pour l’e-commerce, la leçon reste la même qu’en SEO : la meilleure stratégie consiste à rendre vos données si complètes et structurées que n’importe quel agent, quel que soit son fonctionnement interne, trouve ce qu’il cherche chez vous en premier.

Prepare your catalog for AI agents

Free audit of your e-commerce stack: structured data, product flow, API, agent visibility. Results in 48 hours.

Book a free audit

Frequently asked questions

Qu’est-ce que le function calling en IA ?

Function calling is a mechanism where a language model (LLM) generates a structured call to a predefined function with typed parameters. The agent has a catalog of available functions and chooses which to call depending on the context. This is the dominant mode of building AI agents since 2023.

Qu’est-ce que le code eval comme alternative ?

The eval code consists of letting the LLM directly generate executable code (Python, JavaScript) instead of calling predefined functions. The code is then executed in a controlled environment (sandbox). This approach offers more flexibility because the agent freely composes its actions.

Is code eval riskier than function calling?

Code eval introduces a broader attack surface: LLM can potentially generate malicious or unexpected code. Sandboxing (isolated containers, restricted permissions) is essential. In e-commerce production, additional validation layers make it possible to control each execution.

How does this development impact e-commerce SEO?

AI agents become more autonomous in the way they interact with catalogs. An agent in eval code can write its own filtering and aggregation queries. Sites with complete structured data (Schema.org, REST API, product feed) are better leveraged by these agents.

Faut-il reconstruire ses agents e-commerce avec du code eval ?

The hybrid approach is recommended: keep function calling for critical operations (payment, stock management) and use the eval code for exploratory tasks (product comparison, trend analysis). The choice depends on the level of control required by each operation.

Que signifie « construire des apps pour un monde qui change » en e-commerce ?

A post on r/vibecoding (234 upvotes) warned: classic interfaces (category pages, faceted filters, shopping carts) could be bypassed by AI agents that interact directly with the data. E-retailers benefit from exposing their data via APIs and structured formats, in addition to the visual interface.

Stéphane Jambu

Stéphane Jambu

SEO & AI Engineer

Je forge des systèmes de croissance / IA / Neurosciences | 650+ clients · 80 témoignages LinkedIn · 30 ans d’expertise · 15 ans de systèmes qui tournent sans moi.

Follow on LinkedIn