Explorando o Sinal de Agência Oculta (Â) de LLMs para Melhor Chamada de Ferramentas

Durante a depuração de falhas do agente ReAct com o Qwen3, um desenvolvedor descobriu que os estados ocultos imediatamente antes das chamadas de ferramentas são linearmente separáveis dos estados sem ferramentas com AUC > 0,94. Essa direção no espaço latente, chamada  (de "agência"), existe em todos os tamanhos de modelo, de 1,7B a 8B, e prevê chamadas de ferramentas usando apenas uma sonda linear.
Como Usar o Sinal de Agência
Durante a inferência, projete cada estado oculto em Â. Se a projeção exceder um limite θ, o modelo quer chamar uma ferramenta mesmo que não a expresse textualmente. Você pode então forçar uma chamada de ferramenta.
# No momento da inferência (pseudo-código)
hidden_state = get_middle_layer_state(model, input_text)
proj = np.dot(hidden_state, Â)
if proj > threshold:
# Modelo quer agir → forçar chamada de ferramenta
tool = choose_tool() # pode ser aprendido ou heurístico
result = execute_tool(tool)
else:
# Geração normal
output = model.generate(input_text)
Resultados de Desempenho
Testado em 40 tarefas diversas (busca, código, arquivo, comunicação, dados) com modelos Qwen3:
- Qwen3-1.7B: 26,7% → 85% (+58% de ganho)
- Qwen3-8B: 52,5% → 76,3% (+23% de ganho)
O modo de falha "sem ferramenta" caiu de 43% para 2,6%. Modelos menores se beneficiam mais porque sua decodificação textual é mais fraca, mas o sinal geométrico é igualmente forte.
Como Extrair Â
Três métodos:
- Opção 1: A partir de seus próprios rastros - Calcule a diferença média normalizada entre estados ocultos com e sem ferramenta
- Opção 2: Via prompts contrastivos - Execute 15 pares de prompts (um exigindo uma ferramenta, outro passivo) através do seu modelo e tome a diferença média na camada intermediária
- Opção 3: Use direções pré-computadas - Use as direções  extraídas para modelos Qwen3 compartilhadas no repositório
Implementação Empacotada
A descoberta foi empacotada em uma biblioteca para fácil reutilização:
bash
pip install a-hat-optimizer
python
from a_hat_optimizer import AHat
# Extração automática de qualquer modelo HF em 1 linha
ahat = AHat.from_model("Qwen/Qwen3-8B")
# Ou carregue pré-extraído
ahat = AHat.from_file("my_ahat_dir/")
# Use no seu agente
should_call, confidence = ahat.predict(hidden_state)
if should_call:
print(f"Forçar chamada de ferramenta (confiança: {confidence:.2f})")
A biblioteca lida com extração automática via prompts contrastivos, 4 estratégias de calibração (ponto médio, F1, Youden, percentil), previsão em lote e salvar/carregar com metadados incluindo AUC e informações da camada.
📖 Leia a fonte completa: r/LocalLLaMA
👀 See Also

Demonstração para Micropagamentos de Agentes de IA Usando x402 e Solana
A demonstração x402-hello ilustra como agentes de IA podem lidar autonomamente com micropagamentos usando USDC na blockchain Solana.

O Servidor MCP Tredict Permite que o Claude Crie e Envie Planos de Treino para Relógios Esportivos
Um desenvolvedor criou um Servidor Tredict MCP para Claude.ai e Claude Code que gera planos complexos de treinamento de resistência por meio de prompts e envia automaticamente treinos estruturados para relógios Garmin, Coros, Suunto e Wahoo. O servidor inclui um Aplicativo MCP para feedback visual dentro do chat do Claude.

Otimizador Gratuito de Sessão Claude: Estimador de Tokens, Compressor de Prompts e Planejador de Sessões
Um desenvolvedor criou uma ferramenta gratuita e sem necessidade de cadastro para ajudar a gerenciar os limites de uso do Claude com três funcionalidades: um estimador de tokens para visualizar o consumo de prompts, um compressor de prompts que reduz prompts em 40-60% removendo frases desnecessárias, e um planejador de sessões que agrupa tarefas para minimizar o recarregamento de contexto.

Sylve: Um Plano de Gerenciamento FreeBSD para Virtualização, Contêineres e Armazenamento
Sylve é um plano de gerenciamento licenciado BSD-2 para FreeBSD que fornece controle unificado sobre máquinas virtuais Bhyve, FreeBSD Jails, armazenamento ZFS e rede. Ele usa um modelo de consenso RAFT para clustering e inclui gerenciamento de compartilhamentos Samba com automação de snapshots ZFS.