Boucles itératives d’autocorrection
Exécutez les tests, analysez les échecs, puis demandez au modèle de corriger le problème : c’est la boucle interne de tout agent de codage moderne.
Boucles itératives d’autocorrection est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Pourquoi l’auto-correction ?
Les premières tentatives échouent souvent. La propriété caractéristique d’un agent de programmation est sa capacité à :
- Exécuter le code
- Lire l’erreur
- Corriger le code
- Recommencer
C’est cette boucle interne qui distingue les véritables agents de programmation des démonstrations de complétion de texte.
The Loop
def code_until_pass(task, max_iters=10):
write_initial_code(task)
for i in range(max_iters):
result = run_tests()
if result.passed:
return 'success'
fix_prompt = f'Tests failed:\n{result.stderr}\nRead the code, identify the bug, and fix it with edit_file.'
agent.run(fix_prompt)
return 'gave up'Fournir des commentaires utiles
Un message générique « les tests ont échoué » n’est pas exploitable. Transmettez la sortie complète des erreurs, les traces de pile et les écarts entre le résultat attendu et le résultat obtenu :
fix_prompt = f'''
The tests failed with this output:
FAILED tests/test_utils.py::test_add
AssertionError: expected 4, got 5
at line 42
Fix the code by editing the file.
'''Relire avant de corriger à nouveau
Les modèles oublient des informations. Forcez-les à relire l’état actuel du fichier à chaque itération :
fix_prompt = 'First, read_file the failing module. Then edit it.'Détecter les échecs répétés
Si le même test échoue pendant 3 itérations consécutives avec des erreurs identiques, l’agent est bloqué. Replanifiez ou faites intervenir un humain :
if same_error_count >= 3:
return 'stuck — replanning needed'Replan When Stuck
replan_prompt = f'''
The current approach is not working. The repeated error is:
{error}
Describe ONE alternative approach to solving the task.
'''Transmettre à un modèle plus puissant
Si un modèle peu coûteux est bloqué, réessayez avec un modèle plus puissant et la même invite de correction SAME :
if iter > 3 and using_cheap_model:
switch_to_big_model()
# often unblocks 50% of stuck casesVérifier après chaque modification
Ne regroupez pas de nombreuses modifications avant de vérifier : il devient trop difficile d’attribuer les échecs. Modifiez une chose, vérifiez-la, puis passez à la suivante.
Inclure la sortie des tests dans le contexte
Conservez la sortie récente des tests dans le contexte de l’agent. Sans elle, l’agent ne sait pas ce qu’il vient de faire :
messages.append({'role': 'tool', 'content': f'After your edit, tests now: {test_summary}'})Éviter les boucles de « correction » infinies
Fixez un nombre maximal d’itérations. Si la tâche n’est pas terminée au terme du nombre maximal d’itérations, faites intervenir un humain :
if iter == MAX_ITERS - 1:
notify_human(task, current_state, error_history)
breakSuivre les métriques d’auto-correction
- Nombre moyen d’itérations avant la réussite
- Tâches abandonnées à la limite d’itérations
- Tâches réussies en 1 itération contre 5
Ces métriques orientent l’amélioration des invites et des outils.
Auto-critique sans tests
Pour les tâches sans suite de tests claire, ajoutez une étape de critique : demandez à l’agent d’examiner ses propres modifications avant de les envoyer :
critique_prompt = '''
Review your changes for:
- Off-by-one errors
- Missing error handling
- Breaking other tests
Return FIX LATER or DONE.
'''Entrées de l’auto-correction
Quelle est l’entrée la plus importante pour la « boucle de correction » d’un agent ?
Récapitulatif
run -> erreur -> correction -> recommencer. Transmettez des erreurs concrètes. Relisez avant de corriger à nouveau. Détectez les blocages. Faites intervenir des modèles plus puissants ou des humains en cas de difficulté.
Questions Fréquemment Posées
La leçon « Boucles itératives d’autocorrection » est-elle gratuite ?
Oui — le texte complet de « Boucles itératives d’autocorrection » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Boucles itératives d’autocorrection » ?
Exécutez les tests, analysez les échecs, puis demandez au modèle de corriger le problème : c’est la boucle interne de tout agent de codage moderne. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Agents ?
Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Boucles itératives d’autocorrection » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?
Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Modèles agentiques : planifier, exécuter, vérifier
- Interfaces d’outils pour coder (Read, Edit, Bash)
- Boucles itératives d’autocorrection
- Architectures de SWE-Agent et OpenDevin