Agent : read_file, str_replace, old_string… traduits vers les vrais outils

Généralisation du transformSubAgentAliases d'OpenFox. Les petits modèles
ont appris d'autres agents : read_file, str_replace, run_command, ou path /
old_string au lieu de file / old. L'appel tombait sur « outil inconnu »
ou sur un argument manquant, et le tour se perdait en allers-retours.

Le nom et les arguments sont traduits vers l'outil réel quand la cible est
disponible dans ce tour, avant que l'appel soit rangé dans l'historique
(le modèle y relit l'appel tel qu'exécuté). Un sous-agent appelé comme un
outil (« explorer », « code_reviewer ») devient subagent{role, task}. Un
appel déjà correct, ou dont la cible n'est pas offerte, reste intact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5.5 committed 2026-10-02 23:32:29 +02:00
1 parent ad87f2fc9f
commit a745d2399e
3 files changed
+163

No files matched your search

+5
View File
@@ -1530,6 +1530,11 @@ func runChat(ctx context.Context, messages []Message, temperature float64, caps
badArgs[tc.ID] = true
}
tc.Function.Arguments = "{}"
} else {
// Nom ou argument appris d'un autre agent (read_file, old_string…) :
// traduit vers l'outil réel, AVANT de ranger l'appel dans
// l'historique — le modèle y relit l'appel tel qu'exécuté.
repairToolCall(&tc, tools)
}
tcs = append(tcs, tc)
}