mirror of
https://github.com/Ladebeze66/coffreobsidian.git
synced 2025-12-16 23:37:44 +01:00
5.9 KiB
5.9 KiB
Guide Complet : Intégration des Agents LLM Dynamiques dans Cursor avec Cline
Objectif
- Lancer des modèles localement (codellama, mistral, etc.)
- Créer des agents dynamiques spécialisés pour coder, expliquer, corriger
- Utiliser et configurer Cline pour interagir visuellement avec tes agents
I. Prérequis
- Avoir installé Cursor : https://cursor.so
- Avoir installé Ollama : [https://ollama.com)
- Avoir Python 3.10+ installé
Installer un modèle avec Ollama :
ollama pull codellama:13b-python
ollama pull mistral
Teste le bon fonctionnement :
ollama run mistral
II. Intégrer Ollama à Cursor via cursor-agent.json
Crée ce fichier à la racine du projet :
{
"name": "LLM Local Agent",
"entry": "main.py",
"llm": {
"provider": "custom",
"completion_url": "http://localhost:11434/api/generate",
"method": "POST",
"headers": { "Content-Type": "application/json" },
"input_key": "prompt",
"output_key": "response"
}
}
Ce fichier connecte Cursor à ton modèle local via API HTTP.
III. Cline dans Cursor : installation, configuration et usage
Qu'est-ce que Cline ?
Cline est la barre latérale interactive dans Cursor. Elle te permet de :
- Créer des agents avec rôles personnalisés
- Interagir avec ton code sélectionné ou tout le fichier
- Voir la réponse du modèle directement à droite
- Ajouter des prompts, des messages système ou modifier des paramètres
Comment l’activer ?
- Sélectionne du code
- Tape
//pour activer un prompt (comme un commentaire) - Cline s’ouvre automatiquement à droite
- Tu peux :
- Choisir ton modèle (
cursor-agent.jsondoit être actif) - Envoyer un prompt
- Lire et copier la réponse
- Choisir ton modèle (
Pourquoi c’est utile ?
Cline est idéal pour le développement assisté par LLM, car tu peux :
- Corriger le code sélectionné
- Générer automatiquement du code ou des tests
- Interagir avec différents agents en parallèle
- Comparer les retours selon les rôles
IV. Créer un agent dynamique personnalisé (main.py)
from base_agent import BaseAgent
agent = BaseAgent("CodeExplainer", model="mistral")
agent.set_role("Tu es un assistant Python expert. Tu expliques de manière claire le fonctionnement d’un code donné.")
prompt = input("Prompt utilisateur : ")
print(agent.process(prompt))
V. Exemple de rôles d’agents Cursor
explainer = BaseAgent("Explainer", model="mistral")
optimizer = BaseAgent("Optimizer", model="codellama:13b-python")
refactor = BaseAgent("Refactor", model="codellama:13b-python")
explainer.set_role("Explique ce que fait le code avec précision.")
optimizer.set_role("Optimise ce code Python pour la performance.")
refactor.set_role("Refactore le code pour qu’il soit plus lisible.")
code = '''
def process(x): return [i*2 for i in x if i > 0]'''
print(explainer.process(code))
VI. Support multi-machine : Agents locaux ou distants (serveur)
Tu peux travailler avec un Ollama local sur ton PC principal ou utiliser un serveur distant qui héberge un modèle (par ex. Mistral 7B déjà actif sur ton site).
1. Classe RemoteLLMInterface
import requests
class RemoteLLMInterface:
def __init__(self, model, host="http://192.168.1.150:11434", **params):
self.model = model
self.api_url = f"{host}/api/generate"
self.params = params
def generate(self, prompt):
payload = {"model": self.model, "prompt": prompt, **self.params}
response = requests.post(self.api_url, json=payload)
return response.json().get("response", "")
2. Créer un agent distant :
from remote_llm_interface import RemoteLLMInterface
class RemoteAgent:
def __init__(self, name, model="mistral", host="http://192.168.1.150:11434", **params):
self.name = name
self.interface = RemoteLLMInterface(model, host, **params)
self.system_prompt = ""
def set_role(self, prompt):
self.system_prompt = prompt.strip()
def process(self, user_input):
full_prompt = f"{self.system_prompt}\n\n{user_input}" if self.system_prompt else user_input
return self.interface.generate(full_prompt)
Tu peux ainsi appeler le modèle Mistral 7B de ton site depuis Cursor, sans le réinstaller localement.
VII. Changer d’agent facilement (CLI rapide)
from base_agent import BaseAgent
name = input("Nom de l’agent : ")
model = input("Modèle Ollama (ex: mistral) : ")
role = input("Quel est le rôle de l’agent ? : ")
prompt = input("Quel est le prompt ? : ")
agent = BaseAgent(name=name, model=model)
agent.set_role(role)
print(agent.process(prompt))
VIII. Exemples d'agents à utiliser dans Cursor
| Nom Agent | Modèle | Rôle assigné |
|---|---|---|
Optimizer |
codellama:13b-python |
Optimise le code |
Explainer |
mistral |
Explique le code |
BugFinder |
codellama:13b-python |
Trouve des erreurs |
DocGen |
mistral |
Génère des docstrings |
Formatter |
codellama |
Reformate proprement le code |
IX. Bonnes pratiques avec Cursor et Cline
- Utilise
//pour poser des questions précises à ton agent - Crée plusieurs agents avec des rôles spécialisés : rapide à réutiliser
- Utilise des raccourcis clavier pour alterner entre agents dans Cline
- Sauvegarde tes rôles les plus utiles dans un fichier JSON ou via script
- Combine les agents dans une chaîne pour effectuer plusieurs actions à la suite
Conclusion
Tu maîtrises maintenant :
- L’installation d’Ollama et des modèles
- La configuration de Cursor et l’utilisation de
cursor-agent.json - L’interaction avancée avec Cline (prompts, agents multiples, feedback instantané)
- La création d’agents dynamiques locaux ou distants, selon ton architecture