Codage IA : Un spectre de collaboration homme-IA

2025-08-02
Codage IA : Un spectre de collaboration homme-IA

Cet article explore les stratégies de codage assisté par IA, décrivant le processus comme un spectre de collaboration homme-IA. De la dépendance minimale à l'IA (similaire à la discussion de problèmes avec des collègues d'une autre entreprise) à la dépendance maximale (délégation de tâches à un programmeur junior), l'auteur détaille les différents niveaux d'interaction et souligne l'importance de choisir la bonne stratégie en fonction du contexte, en équilibrant la profondeur d'apprentissage et l'efficacité.

Lire plus
Développement Collaboration de code

Une comédie d'erreurs : ma bibliothèque de recherche amateur contre Elasticsearch

2025-06-06
Une comédie d'erreurs : ma bibliothèque de recherche amateur contre Elasticsearch

L'auteur compare sa bibliothèque de recherche de texte intégral basée sur Pandas, SearchArray, à Elasticsearch en utilisant le benchmark BEIR. Les résultats sont humiliants : SearchArray est significativement moins performant qu'Elasticsearch dans tous les domaines. L'article explore les raisons de cette différence, en soulignant les optimisations des moteurs de recherche de production, telles que l'algorithme WAND et les index inversés efficaces. L'absence de ces optimisations dans SearchArray entraîne de mauvaises performances. L'auteur conclut que SearchArray convient au prototypage sur des ensembles de données plus petits, mais pas aux systèmes de recherche à grande échelle.

Lire plus
Développement

Surcharger la recherche avec les LLMs : une approche peu coûteuse et rapide

2025-04-09
Surcharger la recherche avec les LLMs : une approche peu coûteuse et rapide

Cet article montre comment construire un service de recherche rapide et économique à l'aide de grands modèles de langage (LLMs). L'auteur déploie une application FastAPI qui appelle un LLM léger (Qwen2-7B), en tirant parti de Google Kubernetes Engine (GKE) Autopilot pour la gestion automatisée des clusters afin d'obtenir une analyse structurée des requêtes de recherche. La création et le déploiement d'images Docker, combinés à un mécanisme de cache Valkey, améliorent considérablement les performances et l'évolutivité. Cette approche évite les appels fréquents aux API cloud coûteuses, réduisant ainsi les coûts et montrant le potentiel d'exécution des LLMs sur une infrastructure locale, offrant une nouvelle perspective sur la construction de moteurs de recherche plus intelligents et plus rapides.

Lire plus
Développement

Vaincre les Juges de Recherche LLM Nuls avec le ML Classique

2025-01-24
Vaincre les Juges de Recherche LLM Nuls avec le ML Classique

L'auteur explore l'utilisation d'un LLM local comme juge de pertinence de recherche, une alternative économique à OpenAI. Les jugements individuels de LLM sont peu fiables, donc l'article propose de combiner les évaluations de plusieurs attributs de produits (nom, classification, description, etc.) de plusieurs LLMs en utilisant l'apprentissage automatique classique (par exemple, les arbres de décision) pour améliorer la précision. Les expériences montrent que cette approche peut prédire les préférences humaines et révéler la logique derrière les étiquettes humaines, aidant à l'optimisation des moteurs de recherche.

Lire plus
Développement Moteur de Recherche

Privilégier le code jetable aux documents de conception : une approche de développement logiciel plus efficace

2024-12-15
Privilégier le code jetable aux documents de conception : une approche de développement logiciel plus efficace

En développement logiciel, la méthode traditionnelle consistant à utiliser un document de conception suivi d'un développement incrémental n'est pas toujours efficace. L'auteur Doug Turnbull propose une approche de "binge coding" : implémenter rapidement un prototype à l'aide d'une PR temporaire, obtenir rapidement des retours de l'équipe, affiner la conception, puis la décomposer progressivement en PRs déployables. Cette méthode encourage l'itération rapide, la détection précoce des problèmes et considère le code lui-même comme la meilleure documentation. Même si les documents de conception restent utiles dans certaines situations, l'auteur préconise de "montrer plutôt que de raconter", en utilisant des prototypes de code pour une validation et une itération rapides afin d'obtenir un développement logiciel plus efficace.

Lire plus
Développement prototype de code