(Acest articol a fost publicat pentru prima dată pe Modele de peisaje maritimeși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta probleme legate de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Claude Code (și mulți alți agenți) a devenit atât de bun la analiza ecologică, încât constat că sunt din ce în ce mai tentat să nu revizuiesc direct codul pe care îl scrie. De fapt, găsește mai multe greșeli în codul meu decât găsesc în codul său în zilele noastre.
Așa că am nevoie de o modalitate de a verifica validitatea codului pe care îl scrie. Iată strategia pentru asta pe care am dezvoltat-o. Este o lucrare în curs.
Caietul de sarcini
Începeți cu o specificație scrisă clară pentru analiza sau modelarea datelor. Aceasta ar trebui să includă ecuații pentru modelare. Acest lucru asigură că înțeleg ce vreau să facă analiza (chiar dacă nu este ceea ce am primit inițial).
Claude este foarte util în această etapă pentru a-l revizui pentru erori logice.
Revizuirea codului adversar
Aceasta este o idee. Utilizați agentul sau, în mod ideal, agentul altui furnizor, pentru a verifica codul pentru erori.
Verificări de prelucrare a datelor
Instruiți-l lui Claude să verifice toți pașii de procesare a datelor și să eșueze cu voce tare dacă se găsesc inconsecvențe. Probabil că este suficient în zilele noastre, dar dacă vrei să fii minuțios, poți să te gândești la ceea ce ai nevoie în fiecare etapă și să-i spui să verifice asta.
De exemplu, asigurați-vă că cadrul de date final utilizat în model are N rânduri sau că numărul de ID-uri unice ale sondajului == numărul de rânduri din cadrul de date.
Există diverse pachete R pentru a sprijini acest lucru pointblank şi validate.
Testarea împotriva datelor simulate cu adevărul cunoscut
Adesea, în ecologie, adaptăm modele generative, adică puteți simula datele chiar din modelul pe care îl montați. Așadar, inversați specificația dvs. a modelului pentru a fi o specificație care simulează datele cu un model cunoscut. Apoi rulați datele simulate prin fluxul de lucru pentru a vedea dacă recuperează parametrii cunoscuți.
Dacă faceți inferențe probabilistice, puteți verifica și alte statistici comune de verificare, cum ar fi acoperirea (IC-urile de 95% ar trebui să acopere estimarea punctuală în 95% din seturile de date randomizate).
Creați simularea datelor într-un mediu separat Claude și R, pentru a asigura independența. Asigurați-vă că opțiunile de stocare a memoriei AI sunt dezactivate sau setate în modul incognito, pentru a asigura nicio scurgere de informații prin fișierele de memorie.
Există, de asemenea, multe funcții de simulare a datelor ca pachete R sau în pachetele R. De exemplu, multe pachete avansate de modelare oferă și o funcție de simulare. Le puteți folosi pentru a reduce și mai mult șansele de erori în pasul dumneavoastră de simulare
Alte teste de simulare
Puteți, de asemenea, să faceți verificări în cazul în care încurcăți datele reale direct și să le rulați prin fluxul de lucru. De exemplu, ar trebui să obțineți același rezultat dacă remaniați aleatoriu rândurile cadrului de date.
Dacă remanierați valorile în coloanele covariate independent de răspuns, atunci efectele covariatei ar trebui să fie 0 în medie. Dacă fluxul dvs. de lucru este despre selecția modelului, atunci impuneți ordonarea partajată a unei covariate și răspunsul pe care ar trebui (aproape sigur) să găsiți că acea covariabilă apare în fiecare model selectat de AIC.
Testați mai multe metode
În cel mai simplu caz, același model echipat cu implementări diferite ar trebui să returneze aceleași rezultate. De exemplu, comparați rezultatele de la lmer lme şi glmmTMB. Puteți cere claude să declanșeze sub-agenți pentru a scrie un script pentru fiecare în mod independent.
În cazuri mai complexe, poate fi totuși util să se potrivească diferite modele și să se compare rezultatele, chiar și în cazul modelelor care au semnificații ușor diferite. Acest lucru poate dezvălui erori, dar poate dezvălui și locuri în care ipotezele modelului dvs. nu sunt solide. De exemplu, metodele diferite de selecție a modelului au ca rezultat același model?
Ce urmează?
O parte a problemei este că, odată ce începeți să utilizați un agent, acesta va scrie un cod R foarte complex. Claude Code are această obsesie de a face scenarii absolut generalizabile. De exemplu, de obicei scrie funcții doar pentru a identifica calea fișierului rădăcină pentru un fișier de date cheie.
Cealaltă parte a complexității sale este adăugarea a numeroase instrucțiuni de tipărire la scripturile R, astfel încât să poată vedea rezultate intermediare în rezultatul terminalului. În mod normal, le fac interactiv, astfel încât să rămână în afara scripturilor mele.
Tot acest cod suplimentar înseamnă că devine și mai obositor să-și revizuiască activitatea. Este ca o sabie cu două tăișuri, agentul este puternic, dar face mai multe analize.
Așa că este clar pentru mine că în curând nu ne vom deranja să citim codul pe care îl scriu. Aceasta înseamnă că trebuie să adaptăm modul în care abordăm codificarea și analiza datelor și, mai ales, să ne asigurăm că avem verificări în vigoare că înțelegem codul pe care îl producem și că îl înțelegem corect.
Această listă este începutul meu.
Trimiteți un comentariu dacă aveți alte sugestii pentru modalități de testare a codului scrise de agenți.
