Exploiter le Signal d'Agence Cachée des LLM (Â) pour un Meilleur Appel d'Outils

En déboguant les échecs d'agent ReAct avec Qwen3, un développeur a découvert que les états cachés juste avant les appels d'outils sont linéairement séparables des états sans outil avec une AUC > 0,94. Cette direction dans l'espace latent, appelée  (pour "agentivité"), existe à travers différentes tailles de modèles de 1,7B à 8B et prédit les appels d'outils en utilisant simplement une sonde linéaire.
Comment utiliser le signal d'agentivité
Pendant l'inférence, projetez chaque état caché sur Â. Si la projection dépasse un seuil θ, le modèle souhaite appeler un outil même s'il ne l'exprime pas textuellement. Vous pouvez alors forcer un appel d'outil.
# Au moment de l'inférence (pseudo-code)
hidden_state = get_middle_layer_state(model, input_text)
proj = np.dot(hidden_state, Â)
if proj > threshold:
# Le modèle veut agir → forcer l'appel d'outil
tool = choose_tool() # peut être appris ou heuristique
result = execute_tool(tool)
else:
# Génération normale
output = model.generate(input_text)
Résultats de performance
Testé sur 40 tâches diverses (recherche, code, fichier, communication, données) avec les modèles Qwen3 :
- Qwen3-1.7B : 26,7 % → 85 % (+58 % d'amélioration)
- Qwen3-8B : 52,5 % → 76,3 % (+23 % d'amélioration)
Le mode d'échec "sans outil" est passé de 43 % à 2,6 %. Les modèles plus petits bénéficient davantage car leur décodage textuel est plus faible, mais le signal géométrique est tout aussi fort.
Comment extraire Â
Trois méthodes :
- Option 1 : À partir de vos propres traces - Calculez la différence moyenne normalisée entre les états cachés avec outil et sans outil
- Option 2 : Via des invites contrastives - Exécutez 15 paires d'invites (une nécessitant un outil, une passive) dans votre modèle et prenez la différence moyenne au niveau de la couche intermédiaire
- Option 3 : Utilisez des directions pré-calculées - Utilisez les directions  extraites pour les modèles Qwen3 partagées dans le dépôt
Implémentation empaquetée
La découverte a été empaquetée dans une bibliothèque pour une réutilisation facile :
bash
pip install a-hat-optimizer
python
from a_hat_optimizer import AHat
# Extraction automatique depuis n'importe quel modèle HF en 1 ligne
ahat = AHat.from_model("Qwen/Qwen3-8B")
# Ou charger pré-extrait
ahat = AHat.from_file("my_ahat_dir/")
# Utiliser dans votre agent
should_call, confidence = ahat.predict(hidden_state)
if should_call:
print(f"Forcer l'appel d'outil (confiance : {confidence:.2f})")
La bibliothèque gère l'extraction automatique via des invites contrastives, 4 stratégies de calibration (point médian, F1, Youden, percentile), la prédiction par lots, et la sauvegarde/chargement avec des métadonnées incluant l'AUC et les informations de couche.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

Claudlytics : Tableau de bord auto-hébergé pour suivre l'utilisation des jetons de code Claude et les coûts
Claudlytics est un serveur web Node.js qui lit les fichiers de session .jsonl locaux de Claude Code pour fournir un suivi en temps réel de l'utilisation des jetons et des coûts. Il s'exécute localement sur 127.0.0.1 et peut être accessible via un tunnel SSH pour les serveurs distants.

Le plugin OpenClaw ajoute une mémoire persistante avec le serveur Engram.
Un développeur a créé un plugin TypeScript qui connecte les agents OpenClaw à Engram, un serveur de mémoire léger basé sur Go qui stocke des observations structurées dans SQLite avec la recherche en texte intégral FTS5. Cela fournit une mémoire à long terme pour les agents qui survit aux redémarrages, aux compactions et aux fins de session.

devopsiphai : Audits de santé opérationnelle des compétences en code Claude open-source à travers 6 phases
devopsiphai est une compétence Claude Code open-source qui audite l'opérabilité des projets de production en utilisant un processus en 6 phases et le cadre ARC, produisant des notes alphabétiques et un TODO.md structuré avec des tâches estimées en effort.

Fehu : Comptabilité en Partie Double en Ligne de Commande avec Intégration Claude AI MCP
Fehu est un outil de comptabilité personnelle en ligne de commande léger qui se connecte à Claude AI via MCP, permettant l'enregistrement de transactions en langage naturel avec un système de comptabilité en partie double basé sur SQLite. Il propose des comptes hiérarchiques, un étiquetage automatique avec des hashtags, un moteur de calcul puissant et la prise en charge de plusieurs devises.