Introduction
Il y a quelques jours, un autre agent d'IA a frappé. Il est magnifiquement nommé "Intelligent Internet" ou II-agent, prétendant être le plus intelligent au monde mais pleinement open source!Un agent autonomecomment il s'accorde avec d'autres agents de l'IA tels queRecherche en profondeur, àManusetGénéral?
Dans cet article, nous répondrons non seulement aux questions ci-dessus, mais effectuerons également quelques cas de test dans le monde réel pour voir si de tels agents d’IA livrent vraiment.
Selon l’agent IILe blog officiel, il dépasse les autres agents d'IA à source fermée dans le score GAIA.
Notes de l'auteur: GAIA est un critère de référence pour les assistants généraux d'IA qui proposent des questions du monde réel nécessitant des compétences fondamentales telles que le raisonnement, la gestion de la multi-modalité, la navigation sur le web et la maîtrise de l'utilisation des outils - des questions qui sont conceptuellement simples pour les humains mais difficiles pour la plupart des AI avancées, avec des répondants humains atteignant une précision de 92% contre seulement 15% pour le GPT-4 équipé de plugins.
Qu’est-ce que l’agent II
Caractéristiques et réalisations uniques
II-Agent est un framework d'assistant intelligent open-source qui atteint les niveaux de référence pour les agents disponibles tout en maintenant une transparence et une audibilité complètes. Ses capacités de base couvrent la recherche et la vérification des faits avec la recherche web en plusieurs étapes, la génération de contenu, y compris les projets de blogs et les manuels techniques, l'analyse des données avec des rapports automatisés, le développement de logiciels dans plusieurs langues, l'automatisation des flux de travail et la résolution de problèmes avancés.
Le système dispose d'une architecture sophistiquée avec le Claude 3.7 Sonnet d'Anthropic au cœur, une gestion de contexte intelligente pouvant gérer jusqu'à 120 000 jetons, une automatisation avancée du navigateur avec des capacités de vision et une communication WebSocket en temps réel pour des cas d'utilisation interactifs.
Position concurrentielle par rapport aux cadres de premier plan :
II-Agent se positionne comme une alternative open-source supérieure aux principaux agents clos-source tels que Manus (qui a atteint 65% sur le score GAIA) et GenSpark AI. Alors que les précédentes tentatives open-source telles que OpenManus par Foundation Agent et Suna par Kortix-AI « ont essayé de reproduire les capacités de Manus et GenSpark », aucune « n’a été proche de correspondre à leurs performances ou d’obtenir des résultats de référence comparables ».
II-Agent résout cette lacune en non seulement correspondant mais en dépassant les performances de référence tout en conservant les avantages critiques d’être open-source, transparent et extensible – qualités considérées comme essentielles pour les industries réglementées et l’adoption maximale.
Exemple de cas d’utilisation
architecture technique
Vous pouvez trouver le dépôt GitHub de l'agent IIici.
Architecture de haut niveau
II-Agent fournit deux interfaces principales: un outil de ligne de commande (cli.py) pour les interactions directes basées sur le terminal et un serveur WebSocket (ws_server.py) qui alimente un frontend basé sur React vivant dans le frontend / répertoire (GithubDans son cœur se trouve un noyau d'agent modulaire en src/ii_agent/, qui orchestre les appels LLM (via les llm/clients), gère la planification et la logique de réflexion, et envoie des tâches d'exécution (définis dans les outils/) tout en tirant parti des utilitaires partagés à partir d'utils/ (GithubLa communication en temps réel est réalisée via WebSockets, avec des instances isolées d'agent qui diffusent des événements à l'interface du navigateur pour une expérience utilisateur réactive (Github) de
Architecture interne détaillée
Permettez-moi d’examiner de plus près les modules spécifiques au sein de la structure du repository II-Agent.
Agents Module (src/ii_agent/agents/)Ce module contient les implémentations d'agent de base qui servent de composant d'orchestration central, gérant le cycle opérationnel de l'agent à travers le raisonnement itératif et la sélection des capacités.Les agents gèrent les demandes de système avec un contexte dynamiquement adapté, maintiennent un historique d'interaction complet et coordonnent avec le LLM pour interpréter les instructions de l'utilisateur et décider comment procéder aux tâches.Chaque instance d'agent fonctionne dans des espaces de travail isolés et gère le flux de l'entrée de l'utilisateur à travers l'exécution de l'outil jusqu'à la livraison de la réponse finale.
LLM Interface Module (src/ii_agent/llm/)Ce module fournit la couche d'interface pour interagir avec de grands modèles de langue, spécifiquement optimisée pour le Claude 3.7 Sonnet d'Anthropic. Il gère à la fois l'accès direct à l'API Anthropic et le routage de l'IA de Google Cloud Vertex, la gestion de l'authentification, de la mise en forme des demandes et du traitement des réponses. Le module met en œuvre une gestion de contexte intelligente avec l'estimation de l'utilisation des jetons et des techniques de truncation stratégiques pour gérer les conversations jusqu'à 120 000 jetons tout en maintenant la qualité et la pertinence de la conversation.
Tools Module (src/ii_agent/tools/)Ce module comprend le riche ensemble de capacités d'exécution qui permettent à l'agent d'interagir avec son environnement, y compris les opérations du système de fichiers avec l'édition de code intelligent, l'exécution de ligne de commande dans des environnements sécurisés, l'interaction web avancée et l'automatisation du navigateur, et des capacités spécialisées pour diverses modalités. Les outils prennent en charge l'extraction de texte PDF, la transcription audio, la synthèse de la parole, la génération d'image, la génération de vidéo et l'intégration de la recherche approfondie.
Utilities Module (src/ii_agent/utils/)Ce module fournit une infrastructure de soutien, y compris le système de gestion de contexte qui gère l'estimation et l'optimisation des jetons, les mécanismes d'archivage basés sur des fichiers pour les grandes sorties, les protocoles de communication WebSocket pour l'interaction en temps réel et diverses fonctions d'aide pour le traitement des données et les opérations du système.
Dépendance à d’autres frameworks open-source
II-Agent s'intègre étroitement avec plusieurs services et bibliothèques open source. Pour ses backends LLM, il prend en charge Anthropic Claude via le SDK Anthropic Python et l'IA Vertex de Google via le client google-cloud-aiplatform, tout en offrant des fournisseurs de recherche plug-and-play tels que Tavily, Jina, Firecrawl et SerpAPI (GithubSur le frontend et le côté des outils, il construit au-dessus d’une pile React/Node.js (conventions Next.js) et exploite des projets communautaires – principalement AugmentCode pour l’orchestration des tâches d’ingénierie logicielle, les modèles d’architecture de prompt de Manus et l’Index Browser Use toolkit pour les interactions web avancées (Github) de
Cas d'essai facile
Tout d'abord, je voulais essayer un cas de test simple pour établir une ligne de base. Et il n'y a pas de meilleur cas de test simple que le jeu Nokia Snake. Bien qu'il ait été mentionné dans ses cas d'exemple, j'ai ajouté un petit tournant qu'il devrait être un jeu mobile html5.
[Prompt] :Recréer le jeu Nokia Snake en tant que jeu Web HTML5
And it was a success from the first attempt!Non seulement le jeu est prêt à jouer, il a ajouté des éléments de design spécifiques au téléphone Nokia qui ont rendu le jeu rétro authentique.
Author’s Notes: À titre de référence, la même prompt dans Claude Sonnet 3.7 produit une application semblable, mais il affiche immédiatement "Game Over" quand un utilisateur essaie de jouer.
Maintenant, jetons un coup d’œil plus détaillé à la façon dont l’agent II a réalisé cela:
First the II-agent created a plan(Toujours important pour les agents autonomes):
- Définir la structure HTML de base avec un élément canvas
- Créer des styles CSS pour la mise en page du jeu
- Implement the core Snake game logic in JavaScript:
- Snake movement and controls
- Food generation
- Collision detection
- Score tracking
- Game over handling
- Snake movement and controls
- Ajouter des éléments visuels de style Nokia (pixel art, schéma de couleurs)
- Mettre en œuvre des contrôles mobile-friendly
- Testez le jeu en profondeur
- Déployez le jeu pour que vous puissiez le jouer
Ensuite, il a créé les fichiers pertinents et mis en œuvre le code. Et enfin il le déploie comme une application web afin que je puisse le tester. Le webui de l'agent II est similaire à Claude, où vous pouvez voir trois onglets principaux sur le côté droit: navigateur, code, terminal.
Un cas de test difficile
Étant donné que le jeu Nokia Snake est bien documenté et testé dans de nombreux LLM de codage et agents d'IA différents, il serait bon de faire un cas de test qui va au-delà de la simple codage.
L’objectif est de permettre à l’agent II debuild a website for Nokia’s historical feature phonesCe qui inclut intrinsèquementresearch(Nokia propose des modèles de téléphones)design(conception de site web)codingetbrowser use(surfer sur Internet pour des images et des spécifications de produits, tester le site final).
Les résultats montrent que nous avons encore un long chemin à parcourir.
Première tentative
[Prompt] àCréez un site Web pour le musée des téléphones portables Nokia, présentant tous les téléphones portables Nokia dans un format de galerie de produits. Pour chaque modèle de téléphone, affichez l'image du produit, l'année de lancement, les unités vendues et une brève description des principales caractéristiques d'un paragraphe.
Il a créé un plan décent pour relever ce défi
- Research Nokia feature phone models to collect information on:
- Product images
- Launch years
- Units sold
- Key features for descriptions
- Design the website layout:
- Create a responsive main page with an introduction to Nokia feature phones
- Implement a product gallery section to display all phone models
- Include individual phone detail sections
- Add navigation and search functionality
- Develop the website using:
- HTML for structure
- Tailwind CSS for styling
- JavaScript for any interactive elements (if needed)
- Test the website for:
- Responsiveness
- Proper display of information
- Navigation functionality
- Déployer le site Web et vous fournir l'URL finale
Puis il a continué à faire des recherches, beaucoup de recherche. Je peux voir de l'onglet « Browser » qui est naviguer sur Internet depuis très longtemps,But eventually it failed and stoppedL'une des tâches de navigation est programmée sur un site Web particulier lent.
The AI agent’s plan did not include any exception handling and error recovery mechanism.
Deuxième tentative
Puisque dans la première tentative, l'agent a trop essayé d'obtenir des informations sur TOUS les téléphones Nokia, Ma deuxième tentative visait à réduire la portée aux 5 meilleurs téléphones Nokia.
[Prompt] :Créez un site Web pour le musée des téléphones Nokia, présentant les téléphones Nokia Top 5 des téléphones portables Pour chaque modèle de téléphone, afficher l'image du produit, l'année de lancement et une brève description des principales fonctionnalités d'un paragraphe.
Top 5 des téléphones portablesCette fois, l'agent a échoué et s'est arrêté à nouveau, pour une raison différente. La limite de taux anthropique se déclenche et jette une erreur.
En outre, il y a une autre erreur éclatante. l'agent AIdid NOT follow user instructionDe « limiter la recherche à seulement les « Top 5 téléphones », et au lieu de cela aller à la recherche de tous les téléphones fonctionnels.
Troisième tentative
Pensant que la troisième fois pourrait être un charme, je pensais pourquoi ne pas laisser l'agent de créer le site de mockup d'abord, puis de rechercher les modèles de téléphone? De cette façon, nous pouvons avoir au moins une preuve de concept dans le cas où la recherche de modèle de téléphone est coincé à nouveau.
[Prompt] :Créez un site Web pour le musée des téléphones portables Nokia, présentant les cinq meilleurs téléphones portables de Nokia dans un format de galerie de produits. Pour chaque modèle de téléphone, affichez l'image du produit, l'année de lancement et une brève description des caractéristiques clés d'un paragraphe.
1) à Créer un site Web sans données réelles
Créer un site Web sans données réelles2) Lors de la recherche sur les modèles de téléphones Nokia, seulement la recherche sur les cinq premiers modèles, seulement 5
Donc, la première partie de la création du site mock-up semble aller bien:
Mais quand il est temps de tester le site, il y a un problème. Il utilise le port 8000 pour les conflits de serveur http avec le serveur de back-end propre de ii-agent. Puisqu'il n'y a aucun moyen d'interrompre l'agent II et de changer le numéro de port sur le fly, je dois démarrer une nouvelle session pour ajouter des instructions sur les changements.
Quatrième tentative
[Prompt_Make a website for Nokia feature phone museum, showcasing Nokia's top five feature phones in a product gallery format.Pour chaque modèle de téléphone, afficher l'image du produit, l'année de lancement, et un paragraphe brève description des caractéristiques clés.
- Tout d'abord, construisez un site Web de simulation sans données réelles, utilisez le port 8888 pour le serveur Web
- Lors de la recherche sur les modèles de téléphones Nokia, seuls les cinq premiers modèles de recherche, seulement 5
Le site mock-up fonctionne vraiment, et il a l'air décent.
Le test automatisé du site Web n'a pas fonctionné, probablement en raison d'une certaine gestion de processus dans l'onglet Terminal.
"J'ai essayé de démarrer un serveur Web local sur le port 8888, mais j'ai quelques problèmes avec cela. cela n'affecte pas le développement réel du site Web, car je vais maintenant procéder à la recherche des 5 meilleurs téléphones fonctionnels de Nokia pour ajouter les données réelles."
"J'ai essayé de démarrer un serveur Web local sur le port 8888, mais j'ai quelques problèmes avec cela. cela n'affecte pas le développement réel du site Web, car je vais maintenant procéder à la recherche des 5 meilleurs téléphones fonctionnels de Nokia pour ajouter les données réelles."
I felt a glimpse of hope for AI agents now.
Finalement, le cas d’essai a encore échoué, à nouveau en raison de la limite de taux d’Anthropic.
Fantaisie vs réalité : mes leçons
We have always wanted very intelligent AI Agents that can be truly autonomous and do wonderful things on our behalf. But the reality is that we are quite far from it.Ce n’est pas une critique spécifique de l’agent II, mais des agents d’IA en général.
Il y a certaines choses que les humains font extrêmement bien et presque sans effort, tandis que tous les agents de l'intelligence artificielle luttent.
- Plannng : décomposer les objectifs complexes en tâches plus petites, effectuer une étude de faisabilité de chaque tâche, compiler l'ordre des tâches
- Raisonner : analyser ce qui s’est passé bien et ce qui s’est passé mal, effectuer une analyse des causes racines, rechercher des défauts dans les hypothèses et les conditions externes
- Réaction: réduire la portée, changer l'ordre des tâches, essayer une solution alternative, exécuter la preuve des concepts, demander de l'aide lorsque cela est nécessaire, arrêter et redémarrer à nouveau
Donc, avec les modèles et les agents SOTA d'aujourd'hui, nous avons quelques options en ce moment:
- Co-Pilot : cela s’avère très réussi à la fois conceptuellement et commercialement. par exemple, codage avec Cursor et GitHub Co-Pilot; Microsoft Co-Pilot pour Office 365.
- Un modèle de conception appelé Agent Inbox de LangChain, où l'agent peut interrompre les humains lorsqu'ils sont coincés ou ont besoin d'aide.
Donc là, vous l'avez, la deuxième vague de l'agent d'IA entièrement autonome: de la recherche profonde d'OpenAI, Manus, GenSpark, et maintenant à l'agent II.
Posté par
Un jour après que j'ai fait les premiers tests et écrit l'article, j'ai décidé de donner le test difficile une nouvelle chance.Cette fois, il a fonctionné (99%): il a créé le site de mock-up, a suivi avec succès les instructions pour rechercher les 5 meilleurs téléphones, a recueilli toutes les informations et images, et a finalement mis à jour le site!
Pourquoi 99% au lieu de 100%? La dernière étape après la modification du site Web: le lancement pour le test a échoué. Après un débogage manuel, il semble que l'agent II a créé une nouvelle session et ne peut plus trouver les fichiers du site Web d'origine.
Cela ressemble à un petit bug qui peut être corrigé.