AgentLens : repérer les étapes dangereuses d'un agent de code dans ses activations
Un article de fin juin 2026 propose une défense en boîte blanche qui lit les états internes d'un agent de code pour signaler les étapes nuisibles en cours de tâche, puis les corrige via un petit sous-espace d'activations.
De quoi s’agit-il ?
Fin juin 2026, Weidi Luo, Qiming Zhang, Yihao Quan, Mingyu Jin, Jie Cai, Chaowei Xiao, Jingcheng Niu et Zhen Xiang — répartis entre l’University of Georgia, l’University of South Florida, Rutgers, USC et Johns Hopkins — ont publié AgentLens: Interpretable Safety Steering via Mechanistic Subspaces for Multi-Turn Coding Agent sur arXiv (2606.22673). L’article vise un angle mort que la plupart des travaux sur la sûreté des agents de code laissent ouvert : le risque n’apparaît pas dans un prompt isolé, il s’accumule le long d’une trajectoire d’exécution multi-tours, et lorsqu’un garde-fou externe voit un mauvais appel d’outil, l’agent est souvent déjà engagé dans un plan nuisible.
AgentLens est une défense en boîte blanche. Plutôt que de juger l’agent de l’extérieur sur ses entrées et sorties, elle lit les représentations internes du modèle à chaque étape et demande si l’état d’exécution courant dérive vers le danger. Il s’agit de recherche défensive et pédagogique sur un contexte à poids ouverts ; aucun exploit opérationnel n’est en jeu.
Comment ça marche
La méthode se divise en deux volets : détection et mitigation.
Pour la détection, AgentLens traite chaque étape d’une trajectoire d’agent comme un point dans l’espace des états cachés du modèle. Les états d’exécution nuisibles et bénins s’y séparent : une sonde légère sur les représentations cachées au niveau de l’étape peut donc signaler qu’une trajectoire est entrée dans une région dangereuse — avant que l’agent n’engage l’appel d’outil suivant.
Pour la mitigation, l’article ne réentraîne pas le modèle et n’ajoute pas un second LLM juge. Il identifie une direction compacte de « nocivité » et intervient à l’intérieur d’un sous-espace de dimension 10 dans une seule couche, ramenant la représentation vers un comportement sûr. L’intervention est petite et locale, et c’est tout l’intérêt : elle écarte l’agent de la continuation dangereuse tout en préservant sa capacité à terminer un travail de code légitime.
Boucle de défense par étape (conceptuelle)
état caché à l'étape t ──► sonde de sous-espace ──► sûr ?
│ │
│ non ──► corriger dans un
│ sous-espace de dim. 10
│ d'une couche, puis continuer
└────────────────► oui ──► laisser l'étape se dérouler
Pour mesurer tout cela, il faut des trajectoires multi-tours annotées, qui n’existent quasiment pas. Les auteurs construisent donc le Mechanistic Agent Safety (MAS) benchmark : des trajectoires d’exécution multi-tours annotées sur 194 tâches, générées avec trois modèles à poids ouverts — LLaMA-3.1-8B, Qwen-2.5-7B et Gemma-2-9B — de sorte que chaque étape porte une étiquette de sûreté sur laquelle entraîner et évaluer la sonde.
Pourquoi c’est important
Les agents de code comptent parmi les déploiements de LLM les plus privilégiés en production : ils lisent des dépôts, exécutent des commandes shell et manipulent des secrets. Les garde-fous externes et les classifieurs mono-tour ont été conçus pour le chat, et ils peinent face à une trajectoire qui ne devient dangereuse qu’en agrégat — le même angle mort que la fragilité des agents face à l’injection indirecte ou l’autorité résiduelle des agents de code. L’intérêt d’AgentLens est de déplacer la décision à l’intérieur du modèle et par étape, là où le risque évolue réellement.
Le compromis est assumé et mérite d’être posé : les défenses en boîte blanche exigent l’accès aux états cachés, elles conviennent donc bien mieux aux agents auto-hébergés à poids ouverts qu’aux modèles fermés via API, où les activations ne sont pas exposées. Et le pilotage au niveau des représentations, comme d’autres travaux de détection fondée sur les représentations, dépend de la généralisation de la direction « nocivité » au-delà des tâches ayant servi à la trouver.
Défenses
Pour les équipes qui exploitent des agents de code auto-hébergés, l’article pointe une couche défensive qui se compose avec les contrôles existants, sans les remplacer.
Instrumentez la trajectoire, pas seulement les extrémités. Journalisez et inspectez l’état de l’agent à chaque étape pour rendre un mauvais plan détectable avant son appel d’outil final, au lieu de vous reposer uniquement sur le filtrage d’entrée et la modération de sortie.
Préférez des interventions locales et de faible dimension. Un pilotage dans un sous-espace étroit préserve mieux l’utilité que les refus généralisés ou un durcissement agressif du prompt système, qui tendent à casser les tâches longues légitimes — le problème de la « taxe d’autonomie ».
Constituez des données d’évaluation multi-tours annotées. On ne peut ni régler ni faire confiance à un détecteur au niveau de l’étape sans trajectoires annotées pour la sûreté ; les jeux de données de type MAS sont un prérequis, et un benchmark mono-tour surestimera votre couverture.
Conservez les contrôles classiques. Le pilotage des représentations est une mitigation de dernier recours à l’intérieur du modèle — moindre privilège sur les outils, sandboxing et confirmation humaine pour les actions destructrices restent indispensables, car le signal interne est probabiliste et peut manquer sa cible.
Statut
| Élément | Détail |
|---|---|
| Divulgation | Préprint arXiv 2606.22673, fin juin 2026 (cs.AI / cs.SE) |
| Type | Défense runtime en boîte blanche — détection par étape + mitigation au niveau des représentations pour agents de code multi-tours |
| Mécanisme | Sonde sur les états cachés d’étape ; pilotage dans un sous-espace de dimension 10 d’une seule couche |
| Benchmark | Mechanistic Agent Safety (MAS) : 194 tâches, trajectoires multi-tours annotées |
| Modèles étudiés | LLaMA-3.1-8B, Qwen-2.5-7B, Gemma-2-9B (poids ouverts) |
| Limite principale | Nécessite l’accès aux états cachés (modèles auto-hébergés) ; généralisation de la direction de nocivité au-delà des tâches d’entraînement |