Oggi rilasciamo la nostra Eval Engineering Skill, una skill che aiuta gli agenti di coding a creare eval utilizzando il contesto di un repository e le tracce degli agenti.
La skill analizza come è strutturato un agente, estrae pattern dalle tracce se disponibili e propone capacità da testare.
La skill è progettata per intervistare l'utente, che può fornire feedback sulle proposte e approvare iterativamente ogni eval. Il risultato finale è un insieme di eval eseguibili in formato Harbor.
Costruire l'Ambiente e il Task
La skill prima legge il repository e mappa la superficie dell'agente, inclusi prompt, modelli, strumenti, skill, hook, ecc. Identifica anche i dati e i servizi che supportano quei comportamenti, come le chiamate API.
Gli utenti possono anche indicare all'agente delle tracce, che possono essere recuperate utilizzando strumenti come langsmith-cli. Le tracce mostrano come gli strumenti si comportano nella pratica, ad esempio i loro argomenti, risultati ed errori. Questi contratti osservati aiutano la skill a riprodurre il comportamento rilevante di produzione in un ambiente controllato.
Esplorare il repository e le tracce fornisce all'agente la conoscenza di quali capacità sono importanti per l'agente mentre propone i task di eval. Abbiamo scoperto che intervistare l'utente porta a un'accettazione dell' eval molto migliore rispetto alla generazione one-shot. L'utente sceglie tra le direzioni di eval proposte e fornisce indicazioni su domande come quali strumenti e dipendenze devono essere eseguiti live o devono essere simulati. Ad esempio, le chiamate a strumenti che comportano costi o richiedono scritture in produzione possono essere simulate invece di essere eseguite a ogni invocazione dell' eval.
Abbiamo testato questo flusso sul nostro agente di Q&A per la documentazione, chat-langchain. Per questo agente, l'ambiente richiedeva un corpus di dati esposto attraverso strumenti di ricerca dell'agente modellati sull'agente di produzione. I task includevano domande realistiche sulla documentazione tratte da tracce reali e un verificatore che controllava la risposta utilizzando una stringa di risposta gold e i documenti citati.

Il Design degli Eval è Iterativo
Abbiamo scoperto che, sebbene gli agenti siano talvolta in grado di generare eval one-shot, i migliori eval provenivano da utenti che fornivano feedback e specificavano quali capacità valeva la pena misurare negli agenti. Gli agenti di coding e le skill forniscono un'interfaccia naturale in cui la conoscenza del dominio su come costruire un buon eval è codificata e gli utenti possono iterare su di essa nel tempo.
Ad esempio, abbiamo scoperto che quando si costruiscono verificatori, il primo verificatore era raramente quello finale. Un modo utile per migliorarlo era eseguire l' eval e ispezionare entrambi i lati del risultato:
- la traiettoria dell'agente, inclusi i suoi messaggi, le chiamate agli strumenti e le azioni.
- la traiettoria del verificatore, le prove, il ragionamento e il punteggio finale.
Questo aiutava a rivelare se il task o il design del verificatore stava misurando ciò che ci interessava o se poteva essere reward hacked, dove gli agenti potevano prendere scorciatoie. Queste scorciatoie potevano includere citare eccessivamente fonti irrilevanti per ottenere il punteggio pieno nell' eval, affermare un'azione mai compiuta, sfruttare materiale di risposta esposto o soddisfare un proxy senza completare il task. Osservare le tracce di come gli agenti risolvono i problemi spesso rivela la fonte di questi fallimenti. Il task, l'ambiente e il verificatore possono quindi essere rivisti e rieseguiti.
Gli Eval sono in formato Harbor
La skill costruisce gli eval come Harbor tasks:
- Un'Istruzione: il messaggio dato all'agente all'inizio che descrive il task
- Un ambiente: fornito come Dockerfile contenente la configurazione per il task, come quali strumenti installare o quali dati popolare nel filesystem
- Un verificatore che assegna un punteggio per determinare se l'agente ha completato correttamente il task.
La skill costruisce questi componenti insieme come un Harbor task:
1evals/<task-id>/2├── task.toml3├── instruction.md4├── environment/5└── tests/
Harbor esegue l'agente nell'ambiente e registra la sua traiettoria, gli artefatti, la ricompensa e gli errori. Lo stesso eval può quindi essere eseguito su diversi modelli, prompt, strumenti e versioni dell'agente.
Perché è importante
L'apprendimento continuo può essere pensato come un problema di data mining continuo in cui i dati di produzione vengono utilizzati per costruire eval che migliorano gli agenti nel tempo. I team analizzano le tracce per trovare richieste ricorrenti degli utenti, errori, chiamate a strumenti fallite e cambi di stato errati, che diventano eval in modo che lo stesso comportamento possa essere misurato e prevenuto in futuro.
Gli eval sono dati di addestramento per gli agenti. I team possono adattare il comportamento degli agenti a questi attraverso l'ingegneria dell'harness, come la modifica di prompt e strumenti o il fine-tuning. L' eval fornisce un target fisso per decidere se tali modifiche hanno migliorato la capacità prevista.
Gli eval containerizzati rendono questo processo più veloce. Il task e l'ambiente rimangono stabili mentre la configurazione dell'agente cambia, quindi i costruttori possono scambiare modelli, strumenti, prompt o versioni complete dell'agente e confrontare direttamente i risultati. Più configurazioni possono essere eseguite in parallelo.
Ambienti riproducibili sono fondamentali per quel segnale. Quando un eval rispecchia gli strumenti, i dati, i permessi, lo stato e le modalità di fallimento rilevanti della produzione, i costruttori ottengono un banco di prova stabile che è ancora rappresentativo di come opera l'agente. Possono sperimentare rapidamente senza dipendere da sistemi di produzione in evoluzione o scrivere sullo stato di produzione.
Il ciclo risultante è:
analizza le tracce -> identifica un fallimento -> costruisci un eval -> migliora l'agente -> riesegui
Provatelo oggi
La Eval Engineering Skill è disponibile nel repository langchain-ai/langchain-skills.
Installa la skill in Codex o Claude Code, apri il repository contenente l'agente che vuoi valutare, indica all'agente un set di tracce se disponibili, e inizia con un semplice prompt:
Non vediamo l'ora di espandere questa skill e di sviluppare strumenti per rendere più facile la creazione automatica di eval e l'adattamento autonomo degli agenti ad essi.

![[Memo] I capi stanno tagliando i ponti con i subordinati meno performanti](/cdn-cgi/image/width=1920,quality=90,format=auto,metadata=none/https%3A%2F%2Fcms-assets.youmind.com%2Fmedia%2F1784827522698_408j7z_HN3Kb76awAAvvjF.jpg)



