Cosa arriva per intero e cosa arriva solo come nome
La pertinenza decide la forma che assume la conoscenza, non solo il suo ordine. Le poche voci più vicine arrivano con il contenuto completo, le altre arrivano come nome e id che l'assistente può recuperare, le skill vengono offerte per nome perché una procedura va richiesta, e un prompt che chiede due cose riceve conoscenza per entrambe.
In questa pagina
Il recupero ha due compiti. Scegliere la conoscenza giusta è quello di cui si parla sempre. Decidere quanto spazio merita ciascuna voce scelta è quello che stabilisce se la risposta buona ci sta davvero.
Un design più semplice risolve la seconda questione con un'unica regola: tutto ciò che riceve una priorità viene inviato con il contenuto completo, in ordine di priorità, finché lo spazio non finisce. La voce all'ottavo posto riceve esattamente lo stesso trattamento della prima, e quella successiva non riceve nulla, anche se è pertinente. La pertinenza decide l'ordine e nient'altro.
In Pathrule, la pertinenza decide la forma.
Tre forme, una sola priorità
- Le poche voci più vicine arrivano con il contenuto completo. L'assistente le legge e agisce, senza un recupero separato e senza andata e ritorno.
- Tutto il resto che è pertinente arriva come nome, id e una riga. Quanto basta perché l'assistente lo riconosca e ne recuperi il corpo quando si rivela importante.
- Le skill arrivano solo per nome, per quanto alta sia la loro priorità. Ne parliamo più sotto.
La proprietà importante è quella in fondo all'elenco: una voce pertinente non viene buttata via per mancanza di spazio. Ciò che non rientra nel budget per prompt viene elencato per titolo, ed è la forma economica a renderlo sostenibile.
Il numero di corpi che arrivano per intero è scelto per mantenere integre le corrispondenze più forti, costando meno che inviare per intero ogni voce a cui è stata data priorità. Il budget esatto fa parte del motore di Pathrule e può cambiare tra una release e l'altra.
Perché una skill non viene mai inviata d'ufficio
Una memoria è un fatto. Una regola è un vincolo. Sono entrambe cose che un assistente dovrebbe semplicemente sapere mentre lavora, quindi entrambe possono arrivare come contenuto.
Una skill è una procedura. Inserire una procedura nel contesto di un turno che non l'ha chiesta non informa l'assistente, lo istruisce, e un assistente a cui è stata consegnata una checklist tende a seguirla. Per questo le skill vengono offerte per nome e l'assistente ne usa una quando il lavoro è proprio quello che la skill descrive. Invocarla, per esempio con ::skill-name, ne porta dentro il corpo completo. Vedi scrivere skill per capire a cosa serve una skill.
Anche le regole si guadagnano lo spazio
Se le regole saltassero il test di pertinenza, un vincolo sulle migrazioni del database potrebbe scalzare la memoria che avrebbe risposto a una domanda su un pulsante. Per questo le regole passano lo stesso test di pertinenza di tutto il resto, e una regola non correlata arriva come nome invece di occupare uno spazio completo.
L'eccezione è voluta: una regola marcata come strict mantiene il suo corpo, perché un vincolo rigido la cui violazione causa una regressione non è qualcosa da razionare. Vedi Le regole come guardrail.
È il declassamento a rendere osservabile la pertinenza
C'è un secondo motivo per cui la forma economica conta, e riguarda l'apprendimento più che il costo.
Quando ogni voce con priorità viene inviata come corpo, il livello non scopre mai se qualcuna fosse desiderata. Un corpo che arriva senza essere richiesto non produce alcuna evidenza, né in un senso né nell'altro. Un nome offerto è diverso: l'assistente o lo recupera o no, e un recupero è un atto deliberato da parte di chi sa di cosa aveva bisogno il lavoro.
Quel recupero è un segnale di pertinenza utile, e una voce che continua a essere recuperata ha più probabilità di arrivare per intero la volta successiva. Si inserisce nel ciclo più ampio descritto in come il recupero trova la conoscenza giusta: il livello misura ciò che ha consegnato invece di chiedere all'assistente di riferire.
La soglia deve reggere in ogni lingua
Se una voce venga inviata o meno dipende da una soglia di pertinenza, e quella soglia può dipendere dalla lingua senza che nessuno se ne accorga. La stessa memoria può ottenere un certo punteggio rispetto a un prompt scritto in inglese e uno più basso rispetto a una traduzione fedele di quel prompt, perché il confronto basato sul significato non produce risultati identici tra lingue diverse per la stessa idea. Una soglia tarata solo su prompt in inglese taglierebbe fuori le altre lingue senza che nessuno se ne accorga, e il sintomo non sarebbe un errore. Sarebbe un team che scrive i prompt in turco e riceve meno contesto di un team che scrive gli stessi prompt in inglese.
Per questo la soglia è impostata dove regge in tutte le lingue, e Pathrule lo verifica con prompt in diverse lingue invece di darlo per scontato. Come Pathrule dimostra le affermazioni impegnative descrive come vengono verificate affermazioni come questa.
Un prompt che chiede due cose riceve conoscenza per entrambe
Se fai una domanda sola, il confronto basato sul significato funziona bene. Se ne fai due nello stesso messaggio, emerge un problema strutturale: la richiesta diventa un'unica media di due idee diverse, e la media di due cose spesso non è vicina a nessuna delle due. La voce che risponde alla prima domanda e quella che risponde alla seconda possono entrambe restare sotto una soglia che ciascuna avrebbe superato da sola.
Pathrule legge una richiesta in più parti come l'insieme delle sue parti. Ogni parte viene confrontata separatamente e i risultati vengono combinati, così una domanda in due parti riceve conoscenza per entrambe le parti, mentre una domanda in una sola parte viene confrontata come prima.
Lo spazio disponibile cresce con la domanda e non con il workspace. Chiedere due cose costa un po' di più che chiederne una. Avere diecimila memorie invece di cento costa uguale.
Cosa leggere dopo
- Come il recupero trova la conoscenza giusta per la selezione su cui si basa questo modello di distribuzione.
- Come funzionano gli hook per capire come la porzione selezionata raggiunge l'assistente prima della sua prima chiamata a uno strumento.
- Come Pathrule dimostra le affermazioni impegnative per capire come vengono testate affermazioni come il comportamento tra lingue diverse.