mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Mode Code : git sur le dépôt cloné, budget de build, sous-agents moins rigides
Trois trous relevés en comparant avec OpenFox. - git_status / git_diff tournaient à la racine de la discussion, qui n'est souvent pas un dépôt : git_clone range le projet dans un sous-dossier, et le vérificateur — dont la consigne commence par git_diff — tombait sur « not a git repository ». Ils visent maintenant le sous-dossier demandé (dir), la racine si c'est un dépôt, sinon l'unique dépôt présent ; plusieurs : on demande de choisir. - Budget d'outils triplé en mode Code : lire, éditer, compiler, relancer les tests dépasse vite 24 appels sans tourner en rond, et le troisième rappel (« n'appelle plus d'outil ») coupait le build au milieu. - Sous-agents : température 0.6 au lieu de 0 (en glouton, Qwen avec réflexion boucle vite ; le TEMP du preset l'emporte toujours), et seul le texte écrit après le dernier outil revient au builder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2e0356cd6c
commit
dfafca6fb2
5 files changed
+104
-8
No files matched your search
@@ -30,6 +30,9 @@ import (
|
||||
// permettrait au builder de se décerner son propre satisfecit.
|
||||
var subagentRoles = []string{"explorer", "code-reviewer", "planner"}
|
||||
|
||||
// subagentTemperature : voir toolSubagent.
|
||||
const subagentTemperature = 0.6
|
||||
|
||||
func isSubagentRole(r string) bool {
|
||||
for _, x := range subagentRoles {
|
||||
if x == r {
|
||||
@@ -102,7 +105,14 @@ func toolSubagent(ctx context.Context, args map[string]any, parent Caps) string
|
||||
var out strings.Builder
|
||||
// Trace jetable : aucun forwardStream, rien de persisté. L'utilisateur voit
|
||||
// la bulle de l'outil `subagent` et son rapport, pas les dix lectures.
|
||||
if _, err := runChat(ctx, msgs, 0, caps, func(ev StreamEvent) bool {
|
||||
// Température 0.6 et non 0 : en glouton, Qwen avec réflexion tourne vite en
|
||||
// boucle (OpenFox l'a relevé). Le TEMP du preset, s'il est posé, l'emporte.
|
||||
// Seul le texte écrit APRÈS le dernier outil revient au builder : la
|
||||
// narration entre deux lectures n'est pas le rapport.
|
||||
if _, err := runChat(ctx, msgs, subagentTemperature, caps, func(ev StreamEvent) bool {
|
||||
if ev.ToolUsed != nil {
|
||||
out.Reset()
|
||||
}
|
||||
if ev.Content != "" {
|
||||
out.WriteString(ev.Content)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user