- Version: CrewAI 1.14.4 (MIT, gratuit) — Python 3.10 à 3.13 requis
- Ce qu'il faut faire: Installer uv, puis crewai CLI, créer un projet avec
crewai create crewet configurer agents.yaml + tasks.yaml - Piège fréquent: Oublier le fichier.env avec OPENAI_API_KEY → erreur
"No API key provided"au lancement - Délai: 20 minutes sur Mac M1, 30 minutes sur Intel/Windows
Introduction
Vous allez construire un système de 3 agents IA autonomes qui collaborent pour analyser un sujet, rédiger un rapport et le vérifier — le tout en Python avec CrewAI 1.14.4 (MIT, gratuit). Le projet tourne en local en 20 minutes sur n'importe quel PC avec Python 3.10+. Documentation officielle CrewAI.
Ce que vous allez construire et pourquoi en 2026
Un crew de 3 agents (researcher, writer, reviewer) qui prend un sujet en entrée, fait une recherche web, rédige un article structuré et le corrige automatiquement. Tout se passe sur votre machine, sans serveur externe. Prérequis: Python 3.10 à 3.13 (pas 3.14), 4 Go RAM minimum, 2 Go d'espace disque. Temps estimé: 20 minutes sur Mac M1, 30 minutes sur Intel/Windows.
Installation: commandes exactes à copier
# Installer uv (gestionnaire de paquets Python recommandé)
curl -LsSf https://astral.sh/uv/install.sh | sh # Installer CrewAI CLI
uv tool install crewai # Vérifier l'installation
crewai --version # Créer le projet
crewai create crew mon-crew-ia
cd mon-crew-ia # Installer les dépendances du projet
crewai install
Résultat attendu: le dossier mon-crew-ia/ contient src/mon_crew_ia/ avec les fichiers agents.yaml, tasks.yaml, crew.py et main.py. Erreur courante: "crewai: command not found" → exécuter source ~/.bashrc (ou ~/.zshrc) pour recharger le PATH après l'installation de uv.
Configuration: les fichiers et variables à définir
Créez un fichier .env à la racine du projet avec vos clés API:
# Obligatoire — au moins un fournisseur LLM
OPENAI_API_KEY=sk-votre-cle-openai # Optionnel — pour la recherche web
SERPER_API_KEY=votre-cle-serper
La clé OpenAI est obligatoire car CrewAI utilise les modèles GPT par défaut. Le modèle par défaut est gpt-4o-mini (0,15 €/1M tokens input). Pour utiliser Mistral ou Claude, ajoutez dans agents.yaml: llm: mistral/mistral-large-latest ou llm: anthropic/claude-sonnet-4-20250514. La clé Serper (gratuite, 2 500 requêtes/mois sur serper.dev) active l'outil de recherche web.
Le code du projet: construire la fonctionnalité principale
Remplacez le contenu de src/mon_crew_ia/agents.yaml par la définition de vos 3 agents:
researcher: role: > Chercheur expert en analyse de sujet goal: > Trouver des informations précises et vérifiées sur le sujet donné backstory: > Tu es un chercheur méticuleux avec 10 ans d'expérience en analyse de données. Tu vérifies toujours tes sources et ne rapportes que des faits confirmés. llm: gpt-4o-mini writer: role: > Rédacteur technique expérimenté goal: > Transformer les recherches en article structuré et lisible backstory: > Tu es un rédacteur technique qui produit des textes clairs et précis. Tu structures toujours avec des titres H2/H3 et des listes à puces. llm: gpt-4o-mini reviewer: role: > Vérificateur qualité exigeant goal: > Corriger les erreurs factuelles et améliorer la clarté backstory: > Tu es un éditeur exigeant qui repère les incohérences, les phrases vagues et les erreurs de logique. Tu ne valides que ce qui est précis et sourcé. llm: gpt-4o-mini Puis remplacez src/mon_crew_ia/tasks.yaml:
research_task: description: > Recherche des informations approfondies sur {topic}. Identifie au moins 5 sources fiables et extrais les points clés, les chiffres exacts et les citations. expected_output: > Un rapport de recherche structuré avec: - 5 points clés avec sources - Chiffres et statistiques vérifiés - Liste des sources consultées agent: researcher writing_task: description: > Rédige un article complet sur {topic} à partir du rapport de recherche. Structure avec des titres H2 et H3. Inclus des chiffres précis et des exemples concrets. expected_output: > Un article Markdown de 800 à 1200 mots avec: - Titre accrocheur - 3 sections H2 minimum - Chiffres et exemples concrets agent: writer review_task: description: > Vérifie l'article sur {topic}. Corrige les erreurs factuelles, supprime les phrases vagues, ajoute des précisions si nécessaire. expected_output: > L'article corrigé en Markdown, prêt à publier, avec toutes les erreurs corrigées et les imprécisions supprimées. agent: reviewer Enfin, modifiez src/mon_crew_ia/crew.py pour ajouter l'outil de recherche:
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task
from crewai_tools import SerperDevTool @CrewBase
class MonCrewIa: """Équipe d'agents IA pour la recherche et la rédaction""" agents_config = 'agents.yaml' tasks_config = 'tasks.yaml' @agent def researcher(self) -> Agent: return Agent( config=self.agents_config['researcher'], tools=[SerperDevTool()], verbose=True ) @agent def writer(self) -> Agent: return Agent( config=self.agents_config['writer'], verbose=True ) @agent def reviewer(self) -> Agent: return Agent( config=self.agents_config['reviewer'], verbose=True ) @task def research_task(self) -> Task: return Task(config=self.tasks_config['research_task']) @task def writing_task(self) -> Task: return Task(config=self.tasks_config['writing_task']) @task def review_task(self) -> Task: return Task(config=self.tasks_config['review_task']) @crew def crew(self) -> Crew: return Crew( agents=self.agents, tasks=self.tasks, process=Process.sequential, verbose=True ) Tester et valider que ça fonctionne
# Lancer le crew avec un sujet
crewai run
Le CLI vous demande Enter the topic — tapez un sujet, par exemple intelligence artificielle en France 2026. Résultat attendu dans le terminal: les 3 agents s'exécutent séquentiellement, chacun affiche ses pensées ([Agent]), et le résultat final est sauvegardé dans report.md. Si vous voyez "Error: No API key provided", vérifiez que .env est à la racine du projet et que OPENAI_API_KEY est renseigné. Si le crew est trop lent, passez les agents sur gpt-4o-mini (déjà par défaut) ou réduisez max_iter à 5 dans agents.yaml.
Déployer et utiliser en production
Pour exécuter le crew automatiquement (cron, CI/CD), créez un script run_crew.py:
from mon_crew_ia.crew import MonCrewIa def run(topic: str): result = MonCrewIa().crew().kickoff( inputs={'topic': topic} ) with open('output.md', 'w') as f: f.write(result.raw) print(f'Article généré: output.md') if __name__ == '__main__': import sys topic = sys.argv[1] if len(sys.argv) > 1 else 'intelligence artificielle' run(topic)
Lancez avec python run_crew.py "votre sujet ici". Pour Docker, le Dockerfile suivant fonctionne:
FROM python:3.12-slim
WORKDIR /app
COPY.
RUN pip install crewai crewai-tools
CMD ["python", "run_crew.py", "sujet par défaut"]
Pour mettre à jour CrewAI: uv tool install crewai --upgrade.
Aller plus loin: 3 extensions concrètes
1. Ajouter un agent traducteur — Créez un 4e agent dans agents.yaml avec le rôle Traducteur professionnel français-anglais, ajoutez une task translation_task dans tasks.yaml, et branchez-le après le reviewer avec Process.sequential. Coût estimé: +0,05 € par exécution.
2. Utiliser un LLM local avec Ollama — Installez Ollama (curl -fsSL https://ollama.com/install.sh | sh && ollama pull mistral:7b), puis changez le llm de chaque agent en ollama/mistral:7b dans agents.yaml. Coût: 0 €, mais nécessite 8 Go RAM minimum. Voir ollama.com.
3. Créer un Flow pour chaîner plusieurs crews — Utilisez le décorateur @start() et @listen() de CrewAI Flows pour enchaîner un crew de recherche puis un crew de rédaction: crewai create flow mon-flow. Voir docs.crewai.com/quickstart.
Étapes à suivre5
Étape 1 — Installer uv et CrewAI CLI
Installez uv aveccurl -LsSf https://astral.sh/uv/install.sh | sh(macOS/Linux) oupowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"(Windows). Rechargez votre shell avecsource ~/.bashrcousource ~/.zshrc. Vérifiez l’installation avecuv --version— vous devez voir 0.7.x ou supérieur. Puis installez CrewAI:uv tool install crewai. Confirmez aveccrewai --version— vous devez voir 1.14.4 ou supérieur. Sicrewai: command not found, ajoutezexport PATH="$HOME/.local/bin:$PATH"dans votre~/.bashrcou~/.zshrc, puis rechargez. Sur Windows sans curl, téléchargez uv manuellement depuis github.com/astral-sh/uv/releases. Installez aussi les dépendances système:sudo apt install python3-venv python3-pipsur Debian/Ubuntu. L’installation complète (uv + crewai) prend environ 2 minutes sur une connexion standard. Créez un environnement virtuel:uv venv && source.venv/bin/activateavant de continuer.Étape 2 — Créer le projet et configurer les variables
Exécutezcrewai create crew mon-crew-iapuiscd mon-crew-ia && crewai install. Le CLI génère la structure:src/mon_crew_ia/contientagents.yaml,tasks.yaml,crew.pyetmain.py. Vérifiez que tous les fichiers sont présents avecls -la src/mon_crew_ia/. Créez un fichier.envà la racine avecOPENAI_API_KEY=sk-votre-cle(obligatoire) etSERPER_API_KEY=votre-cle-serper(optionnel, pour la recherche web). La clé OpenAI s’obtient sur platform.openai.com/api-keys — sélectionnez « Create new secret key », nommez-lacrewaiet copiez-la immédiatement (elle ne sera plus affichée). Le modèle par défaut est gpt-4o-mini à 0,15 €/1M tokens input — un crew complet coûte environ 0,02 € par exécution. Pour utiliser Mistral ou Claude, modifiez le champllmdansagents.yaml: par exemplellm: mistral/mistral-small-latestoullm: anthropic/claude-3-5-sonnet-20241022. Ajoutez les clés correspondantes dans.env:MISTRAL_API_KEY=.ouANTHROPIC_API_KEY=.. Ne commitez jamais le fichier.env— ajoutez-le à.gitignore.Étape 3 — Définir les agents et les tâches
Remplacez le contenu deagents.yamlpar 3 agents: researcher (chercheur avec SerperDevTool), writer (rédacteur), reviewer (vérificateur). Chaque agent a unrole, ungoalet unbackstoryen YAML. Exemple pour le researcher:role: "Chercheur expert",goal: "Trouver les informations les plus pertinentes et récentes sur le sujet donné",backstory: "Vous êtes un analyste de recherche avec 10 ans d’expérience dans la synthèse de données complexes.". Danstasks.yaml, définissez 3 tâches: research_task, writing_task, review_task — chacune référence un agent et décrit le résultat attendu avec un champexpected_outputprécis. Danscrew.py, ajoutezfrom crewai_tools import SerperDevToolet passeztools=[SerperDevTool()]au researcher. Le crew utiliseProcess.sequential: les tâches s’exécutent l’une après l’autre, chaque agent recevant le résultat du précédent. La variable{topic}dans les descriptions est remplacée dynamiquement par l’input utilisateur. Pour un traitement parallèle, utilisezProcess.hierarchical— le manager agent distribue les tâches à plusieurs agents simultanément, ce qui réduit le temps d’exécution de 30 à 50% sur les crews complexes.Étape 4 — Tester avec un sujet et déboguer
Lancezcrewai rundans le dossier du projet. Le CLI demandeEnter the topic— entrez un sujet concret commeintelligence artificielle en France 2026. Vous voyez chaque agent s’exécuter avec ses pensées (raisonnement) et ses actions. Le résultat final est sauvegardé dansreport.md. Vérifiez le résultat aveccat report.md | head -30. Si l’erreur"Error: No API key provided"apparaît, vérifiez que.envest à la racine (pas danssrc/) et queOPENAI_API_KEYcommence bien parsk-. Si le crew est trop lent, ajoutezmax_iter: 5dansagents.yamlpour limiter les itérations de chaque agent. SiSerperDevTooléchoue avec une erreur 403, vérifiezSERPER_API_KEYsur serper.dev/dashboard ou retirez l’outil du researcher pour tester sans recherche web. Pour le debug avancé, passezverbose=Truedans le constructeur Crew et consultez les logs dans le terminal. Si un agent boucle sans finir, ajoutezmax_retry_limit: 3dans la config du crew pour forcer l’arrêt après 3 tentatives.Étape 5 — Déployer en production et automatiser
Créez un scriptrun_crew.pyqui appelleMonCrewIa().crew().kickoff(inputs={"topic": topic})et sauvegarderesult.rawdans un fichier daté:with open(f"reports/{topic}_{date}.md", "w") as f: f.write(result.raw). Lancez avecpython run_crew.py "votre sujet". Pour Docker, créez unDockerfilebasé surpython:3.12-slim, copiez le projet et installez les dépendances avecpip install crewai crewai-tools. Construisez avecdocker build -t mon-crew-ia.et lancez avecdocker run --env-file.env mon-crew-ia. Pour un cron quotidien, ajoutez dans crontab:0 8 * * * cd /chemin/vers/mon-crew-ia && python run_crew.py "sujet du jour". Pour mettre à jour:uv tool install crewai --upgrade. Pour monitorer les coûts, consultez platform.openai.com/usage — un crew de 3 agents coûte environ 0,02 € par exécution avec gpt-4o-mini. Pour les crews intensifs (plus de 10 exécutions/jour), ajoutez un budget limite danscrew.pyavecmax_rpm: 10(requests per minute) etcost_limit: 1.0(en USD) pour éviter les surprises de facturation.
Conseils pratiques
- Utilisez gpt-4o-mini (0,15 €/1M tokens) par défaut — un crew complet coûte environ 0,02 €. Passez à gpt-4o (4,00 €/1M tokens) uniquement si la qualité du researcher est insuffisante.
- Ajoutez
max_iter: 5dans agents.yaml pour chaque agent — cela évite les boucles infinies et réduit les coûts de 40% en moyenne. - Activez SerperDevTool uniquement sur le researcher — les autres agents n'ont pas besoin de recherche web et cela économise vos crédits Serper (2 500 gratuits/mois).
Points d'attention
- Erreur
"crewai: command not found"→ exécutezsource ~/.bashrcousource ~/.zshrcpour recharger le PATH après l'installation de uv. Si cela ne suffit pas, ajoutezexport PATH="/Users/user/.local/bin:/Users/user/Documents/Paperclip-src/server/node_modules/.bin:/Users/user/Library/pnpm/.tools/pnpm/9.15.4/node_modules/pnpm/dist/node-gyp-bin:/Users/user/Documents/Paperclip-src/node_modules/.bin:./node_modules/.bin:/Users/user/Documents/Paperclip-src/node_modules/.bin:/Users/user/Documents/Paperclip-src/node_modules/.bin:/Users/user/Library/pnpm/.tools/pnpm/9.15.4/node_modules/pnpm/dist/node-gyp-bin:/Users/user/Documents/Paperclip-src/node_modules/.bin:/Users/user/Library/pnpm/.tools/pnpm/9.15.4/bin:/Users/user/.rvm/gems/ruby-3.1.0/bin:/Users/user/.rvm/gems/ruby-3.1.0@global/bin:/Users/user/.rvm/rubies/ruby-3.1.0/bin:/Users/user/.bun/bin:/Users/user/.antigravity/antigravity/bin:/usr/local/bin:/Users/user/.nvm/versions/node/v22.22.2/bin:/opt/homebrew/bin:/Users/user/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/user/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Applications/nmap.app/Contents/Resources/bin:/Applications/ncat.app/Contents/Resources/bin:/Applications/zenmap.app/Contents/Resources/bin:/Applications/nping.app/Contents/Resources/bin:/Library/Apple/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Users/user/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/user/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Users/user/.rvm/gems/ruby-3.1.0/bin:/Users/user/.rvm/gems/ruby-3.1.0@global/bin:/Users/user/.rvm/rubies/ruby-3.1.0/bin:/Users/user/.bun/bin:/Users/user/.antigravity/antigravity/bin:/Users/user/.nvm/versions/node/v22.22.2/bin:/opt/homebrew/bin:/opt/anaconda3/condabin:/Users/user/.cargo/bin:/Users/user/Library/Android/sdk/emulator:/Users/user/Library/Android/sdk/platform-tools:/Users/user/.rvm/bin:/Users/user/Library/Android/sdk/tools:/Users/user/Library/Android/sdk/tools/bin:/Users/user/.lmstudio/bin:/Users/user/.turso:/Users/user/.vscode/extensions/ms-python.debugpy-2026.6.0-darwin-arm64/bundled/scripts/noConfigScripts:/Users/user/Library/Android/sdk/emulator:/Users/user/Library/Android/sdk/platform-tools:/Users/user/.rvm/bin:/Users/user/Library/Android/sdk/emulator:/Users/user/Library/Android/sdk/tools:/Users/user/Library/Android/sdk/tools/bin:/Users/user/Library/Android/sdk/platform-tools:/Users/user/.lmstudio/bin:/Users/user/.turso:/Users/user/.claude/plugins/cache/claude-plugins-official/vercel/0.42.1/bin"à votre shell. - Erreur
"chroma-hnswlib build error"sur Windows → installez Visual Studio Build Tools avec le workload "Desktop development with C++" depuis visualstudio.microsoft.com. - Erreur
"No API key provided for OpenAI"→ vérifiez que le fichier.envest à la racine du projet (pas dans src/) et queOPENAI_API_KEYcommence parsk-.
Questions fréquentes3
Quest-ce que CrewAI et comment fonctionne-t-il ?
CrewAI est un framework Python qui permet de créer des agents IA autonomes capables de collaborer. Chaque agent a un rôle, un objectif et un outil. Les agents communiquent entre eux pour accomplir des tâches complexes.
Quels sont les prérequis pour utiliser CrewAI ?
Il faut Python 3.8+, une clé API OpenAI ou un modèle local via Ollama, et pip install crewai. Un environnement virtuel est recommandé pour isoler les dépendances.
CrewAI est-il gratuit ?
CrewAI lui-même est open source et gratuit. Cependant, lutilisation de modèles comme GPT-4 via lAPI OpenAI est payante. Vous pouvez utiliser des modèles locaux gratuits avec Ollama.
Guides Technologie & IA
Voir toutConstruire un chatbot local avec Ollama et Python en 30 minutes
Utiliser DeepSeek V4 en 2026 pour améliorer la recherche
Utiliser Claude Opus 4.7 en 2026 pour améliorer la productivité
Comment créer et gérer ses mots de passe de manière sécurisée en 2026
Comment utiliser Ollama en 2026
Poursuivez votre lecture
Multi-catégoriesTransmission d'entreprise 2026 : dispositifs fiscaux et étapes clés pour vendre ou céder son affaire
Utiliser Qwen 3 en local avec Ollama : guide complet 2026
"Impôts du Cœur" : les agents des finances publiques proposent leur aide à la déclaration de revenus sur le marché
Comment refuser un loyer supérieur à 30 % du revenu en 2026 ?
Automatiser ses emails avec Python et l'API Gmail en 2026
Comment créer et utiliser son identité numérique avec FranceConnect en 2026
Équipe éditoriale GuidePratiquefr
Rédacteurs spécialisés en droit, fiscalité et finances
Rédigé et vérifié par notre équipe de rédacteurs spécialisés. Sources officielles consultées : service-public.fr, legifrance.gouv.fr, impots.gouv.fr, ameli.fr. Dernière vérification : 16 mai 2026.
Sources officielles consultées
Les informations contenues dans ce guide sont fournies à titre indicatif et ne remplacent pas un conseil professionnel personnalisé.