← Retour aux projets Projet 04 / 04
Homelab · IA locale

Un agent IA 100 % local

Le modèle open source Qwen3 tourne sur ma propre carte graphique avec Ollama, et OpenCode lui donne des outils : lire des fichiers, lancer des commandes, proposer des modifications. Le tout sans qu'aucune donnée ne sorte de la machine.

Voir le schéma →
Type
Projet personnel · homelab
Matériel
NVIDIA RTX 4060 Ti · CUDA
Modèle
Qwen3 8B / 14B via Ollama
Harness
OpenCode, en terminal
Architecture de mon IA locale Dans le terminal, je donne une tâche à OpenCode. OpenCode envoie la demande et la liste de ses outils à l'API locale d'Ollama, qui fait tourner Qwen3 sur la carte graphique RTX 4060 Ti. Le modèle répond par un texte ou un appel d'outil ; OpenCode exécute l'outil sur les fichiers du dossier de travail et renvoie le résultat au modèle, jusqu'à la réponse finale. Aucune requête ne part vers Internet. MA MACHINE · TOUT RESTE EN LOCAL INTERNET aucune donnée envoyée 01 · MOI Terminal je décris la tâche 02 · HARNESS AGENTIQUE OpenCode gère le contexte, les outils et la boucle demande + outils le modèle choisit exécute l'outil renvoie le résultat boucle lire / écrire commandes shell recherche fichiers confirmation possible avant une commande DOSSIER DE TRAVAIL Fichiers logs · scripts · configs requête réponse 03 · SERVEUR DE MODÈLES Ollama API locale compatible OpenAI charge le modèle en mémoire 04 · MODÈLE OPEN SOURCE Qwen3 · 8B / 14B quantisé 4 bits · appels d'outils 05 · CARTE GRAPHIQUE RTX 4060 Ti · CUDA VRAM
01 — Objectif

Comprendre ce qu'il y a
derrière un agent IA.

Les assistants IA dans le cloud sont pratiques, mais on ne peut pas leur envoyer n'importe quoi : des logs de production, des configurations ou des données clients ne doivent pas sortir de l'entreprise. Je voulais savoir ce qu'on peut faire avec un modèle qui tourne entièrement en local.

L'autre objectif était de comprendre le fonctionnement d'un agent de bout en bout : un modèle seul ne fait que produire du texte. C'est le harness, le programme autour du modèle, qui lui donne des outils, exécute ses demandes et lui renvoie les résultats.

100 %Inférence sur ma carte graphique
0Donnée envoyée au cloud
0 €Coût par requête
02 — Architecture

Quatre couches,
une seule machine.

Le schéma en haut de page se lit de gauche à droite. Chaque couche a un rôle précis :

  • OpenCode (le harness) : reçoit ma demande, garde le fil de la conversation, décrit ses outils au modèle et exécute ceux que le modèle demande.
  • Ollama (le serveur de modèles) : charge le modèle sur la carte graphique et expose une API locale compatible OpenAI, celle qu'utilise OpenCode.
  • Qwen3 (le modèle) : lit le contexte et répond soit par du texte, soit par un appel d'outil structuré.
  • La RTX 4060 Ti : fait les calculs via CUDA. La taille de sa mémoire vidéo (VRAM) détermine quels modèles je peux faire tourner.

Le trajet d'une demande

  1. Je décris la tâchePar exemple : « analyse ce fichier de logs et résume les erreurs ».
  2. OpenCode prépare la requêteIl envoie à Ollama ma demande, l'historique et la liste des outils disponibles.
  3. Qwen3 décideIl répond directement, ou demande un outil : lire un fichier, lancer une commande, chercher dans un dossier.
  4. OpenCode exécute l'outilSur les fichiers du dossier de travail ; il peut demander ma confirmation avant une commande.
  5. Le résultat repart vers le modèleLa boucle continue jusqu'à ce que le modèle ait assez d'éléments pour donner sa réponse finale.

Pas d'interface web : tout se passe dans le terminal. Aucun service supplémentaire n'est exposé sur le réseau.

03 — Choix techniques

Des briques simples
et open source.

Ollamaserveur de modèles
Installation simple, gestion automatique de la carte graphique, téléchargement des modèles en une commande et API compatible OpenAI : la plupart des outils savent s'y brancher.
Qwen3modèle
Modèle open source qui gère bien les appels d'outils, indispensable pour un agent. Les tailles 8B et 14B tiennent sur une carte graphique grand public une fois quantisées.
8B ou 14Bcompromis
Le 8B répond plus vite et laisse plus de mémoire pour le contexte ; le 14B raisonne mieux sur les tâches en plusieurs étapes. Je choisis selon la tâche.
OpenCodeharness agentique
Agent open source en terminal qui se branche sur n'importe quelle API compatible OpenAI, donc sur Ollama. Il fournit les outils (fichiers, shell, recherche) et la boucle agentique.
04 — Limites

Ce que j'en retiens.

  • Un modèle local reste plus limité qu'un grand modèle dans le cloud : sur les tâches longues, il se perd plus vite et ses appels d'outils sont parfois mal formés. Je relis toujours ce qu'il propose.
  • La mémoire vidéo est la vraie contrainte : elle limite à la fois la taille du modèle et la longueur du contexte.
  • Le harness compte autant que le modèle : c'est lui qui rend le modèle utile, en lui donnant des outils et en encadrant ce qu'il peut faire.

Pistes

  • Brancher l'agent sur les logs de mon homelab pour l'aide au diagnostic.
  • Comparer d'autres modèles open source sur les mêmes tâches d'administration.

Compétences mobilisées

  • Ollama
  • Qwen3
  • OpenCode
  • CUDA
  • LLM & quantisation
  • Agents & appels d'outils