mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-24 15:38:12 +02:00
fix(router): reprise de code — routage contextuel + directive d'action
Sur une reprise (« ajoute un bouton », « continue »), le routeur ne voyait que le message courant : score trop bas, jamais le moteur code, et le modèle décrivait les changements sans les appliquer. - routage contextuel : si le tour précédent était du code (engine ou outils write_file/edit_file/code_task), les suites courtes partent au moteur code (is_code_followup) - chemin agent sur session code : directive système « AGIS avec les outils, ne décris jamais sans appliquer » - fichiers cités dans le message et présents au workspace transmis à Aider (travail direct, sans deviner via la repo map) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
99747d96e0
commit
584d28a9d0
3 files changed
+157
-9
No files matched your search
@@ -46,3 +46,24 @@ def score_code_task(message: str) -> int:
|
||||
def is_code_task(message: str) -> bool:
|
||||
"""Décision : heuristique pure, aucune requête modèle."""
|
||||
return score_code_task(message) >= 3
|
||||
|
||||
|
||||
# Formulations de « suite de travail » : courtes, sans vocabulaire code
|
||||
# explicite, mais qui prolongent clairement la tâche en cours.
|
||||
_FOLLOWUP = re.compile(
|
||||
r"\b(continue[rs]?|reprend[s]?|poursui[st]|termine[rs]?|finis|"
|
||||
r"rajoute[rs]?|enl[èe]ve[rs]?|retire[rs]?|supprime[rs]?|d[ée]place[rs]?|"
|
||||
r"agrandi[st]|r[ée]dui[st]|remet[s]?|remplace[rs]?|inverse[rs]?|"
|
||||
r"plut[ôo]t|aussi|encore|pareil|m[êe]me chose|comme avant)\b",
|
||||
re.I,
|
||||
)
|
||||
|
||||
|
||||
def is_code_followup(message: str) -> bool:
|
||||
"""Reprise probable d'un travail de code en cours.
|
||||
|
||||
À n'utiliser que si le tour précédent de la session était du code : un
|
||||
« ajoute un bouton rouge » isolé n'est pas du code, mais après un
|
||||
code_task, si.
|
||||
"""
|
||||
return bool(_FOLLOWUP.search(message)) or score_code_task(message) >= 1
|
||||
Reference in new issue
Block a user