Skip to main content
All articles
reproducibility provenance scientific-ai validation

Erreproduzigarria vs Kutxa Beltza

AIak lagundutako zientzian erreproduzigarritasunak benetan zer eskatzen duen: jatorri-manifestuak, script deterministak, hashing kriptografikoa eta testu ainguratuaren balidazioa.

Jeff Jaureguy ·

Erreproduzigarritasuna ingeniaritza-arazoa da, ez politika-arazoa

Aldizkari zientifiko, finantza-agentzia eta organo arautzaile orok azpimarratzen du gaur egun erreproduzigarritasuna. Politikak idatzi dira. Gidalerroak argitaratu dira. Eta, hala ere, erreproduzigarritasunaren krisiak bere horretan jarraitzen du — ez ikertzaileek asmo onik ez dutelako, baizik eta tresna konputazional gehienek erreproduzigarritasuna teorian posible eta errealitatean ezinezko egiten dutelako.

Analisi erreproduzigarri baten eta kutxa beltzeko analisi baten arteko tartea ez dago lana erreproduzitu ahal zenukeen horretan. Zure tresnek erreproduzitzea lehenetsitako jokabide egiten duten edo esfortzu heroikoa eskatzen duen geroko ideia bihurtzen duten horretan dago.

Lan-fluxu erreproduzigarri bat da erreproduzitzeko esfortzua zalantzan jartzekoa baino txikiagoa dena.

Erreproduzigarritasunak zer eskatzen duen benetan

Ikerketa konputazionalaren erreproduzigarritasuna ez da propietate bakar bat. Eskakizun-pila bat da, bakoitza aurrekoaren gainean eraikia. Kendu edozein geruza eta egitura osoa fidagaitz bihurtzen da.

Erreproduzigarritasunaren pila

GeruzaEskakizunaZer esan nahi duen
DatuakOsotasun-egiaztapena duten sarrera aldaezinakDatu gordinen fitxategiak SHA-256 checksumekin; edozein aldaketak bertsio berri bat sortzen du
InguruneaIngurune konputazionalaren zehaztapen zehatzaSE, lengoaiaren bertsioa, liburutegien bertsioak, sistema-mendekotasunak — guztiak finkatuta
KodeaBertsio-kontrolpeko eraldaketa-scriptakGit-ek jarraitutako kodea commit-historial esanguratsuarekin; ez “magia”-koadernorik
Pipeline-aExekuzio-ordena deterministaUrratsak ordena egokian exekutatzen dituen eraikuntza-sistema edo lan-fluxu kudeatzaile bat
JatorriaArbasoen jarraipen osoaSarrera, eraldaketa, irteera, denbora-marka eta hash bakoitza erregistratzen duen manifestua
BalidazioaIrteeren egiaztapen automatizatuaIrteerek itxaropeneko propietateak (dimentsioak, tarteak, motak) dituztela baieztatzen duten testak
TestuaBaieztapen ainguratuakIrteerako esaldi orok manifestuko artefaktu zehatz bat erreferentziatzen du

Tresna gehienek geruza bat edo bi jorratzen dituzte. Bertsio-kontrolpeko koaderno batek kodea kudeatzen du baina ez ingurunea. Edukiontzi batek ingurunea kudeatzen du baina ez jatorria. Idazketa-laguntzaile batek testua kudeatzen du baina ez ainguraketa.

Erreproduzigarritasunak zazpi geruzak elkarrekin lan egitea eskatzen du.

Kutxa beltzeko espektroa

“Kutxa beltza” ez da binarioa. Tresnak espektro batean kokatzen dira, guztiz gardenetatik guztiz opakuetara, eta garden diruditen tresna askok pipeline-etan lurperatutako osagai opakuak dituzte.

Kutxa beltzeko jokabidea ezagutzea

Tresna batek kutxa beltzeko jokabidea erakusten du honakoetakoren bat betetzen denean:

  • Irteera ez-deterministak: Analisi bera sarrera berdinekin bi aldiz exekutatzeak emaitza desberdinak sortzen ditu (ohikoa AIak sortutako testuan, hazi finkorik gabeko algoritmo estokastikoetan, edo bere modeloak eguneratzen dituzten zerbitzuetarako API-deietan)
  • Jatorri falta: Ezin duzu zehaztu kodearen zein bertsiok, modeloaren zein bertsiok edo zein konfiguraziok sortu duen irteera zehatz bat
  • Eraldaketa opakuak: Pipeline-eko urrats batek datuak ikuskatu edo egiaztatu ezin duzun eran eraldatzen ditu (ohikoa datuak onartu eta emaitzak itzultzen dituzten ostatatutako APIekin)
  • Mendekotasun inplizituak: Analisia kanpoko egoeraren menpe dago — eguneratu den datu-base bat, berriro entrenatu den modelo bat, bere jokabidea aldatu duen zerbitzu bat

Ezin baduzu “zehazki zerk sortu du irteera hau?” galderari commit-hash zehatz batekin, sarrera-hash batekin eta ingurune-zehaztapen batekin erantzun, kutxa beltz bat ari zara operatzen.

Kutxa beltzeko auditoria

Zure pipeline konputazionaleko urrats bakoitzerako, erantzun galdera hauei:

  1. Determinista al da irteera? Sarrera eta ingurune berdinak emanik, urrats honek beti sortuko al du byte-z-byte berdina den irteera?
  2. Ikuskagarria al da eraldaketa? Urrats hau burutzen duen iturburu-kodea irakur al dezakezu?
  3. Erreproduzigarria al da ingurunea? Urrats hau exekutatu zen ingurune konputazional zehatza birsor al dezakezu?
  4. Erregistratuta al dago jatorria? Bada sarreren, irteeren, bertsioen eta denbora-marken makinak irakur dezakeen erregistrorik?
  5. Egiaztagarria al da irteera? Egiazta al dezakezu irteerak itxaropeneko propietateak dituela analisia berriro exekutatu gabe?

“Ez” edozein erantzunek erreproduzigarritasun-hutsune bat identifikatzen du.

Jatorri-manifestuak: ingeniaritza-soluzioa

Jatorri-manifestu bat ikerketa-emaitza batera ekarri duen guztiaren egitura-erregistroa da. Erreproduzigarritasun-arazoaren ingeniaritza-soluzioa da — ez politika-dokumentu bat, baizik eta automatikoki sortu eta egiazta daitekeen makinak irakurgarria den artefaktua.

Zer dauka manifestu batek

{
  "version": "1.0",
  "created": "2026-03-13T10:30:00Z",
  "inputs": [
    {
      "file": "data/rnaseq_counts.csv",
      "sha256": "a3f2b8c9d1e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8",
      "rows": 58347,
      "columns": 12
    }
  ],
  "environment": {
    "os": "Ubuntu 22.04",
    "python": "3.11.7",
    "packages": "requirements.lock"
  },
  "steps": [
    {
      "script": "scripts/normalize.py",
      "git_sha": "abc123",
      "duration_seconds": 12.4,
      "output_hash": "b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3"
    }
  ],
  "outputs": [
    {
      "file": "figures/volcano_plot.png",
      "sha256": "c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4",
      "referenced_in": ["results.md:L42", "results.md:L67"]
    }
  ]
}

Manifestu honek hainbat helburu betetzen ditu:

  • Egiaztapena: Edonork egiaztatu dezake irteera-hashek bat datozela, eta horrela baieztatu irteerak aldatu ez direla
  • Erreprodukzioa: Ingurunea eta scripten bertsioak analisia birsortzeko adina zehaztasunez definituta daude
  • Auditoria: Datu gordinetatik azken emaitzara doan kate osoa makinak irakurgarria den fitxategi bakarrean dokumentatuta dago
  • Ainguraketa: referenced_in eremuak artefaktu bakoitza testuaren kokapen zehatzekin lotzen du, testu ainguratuaren balidazio automatizatua ahalbidetuz

Script deterministak vs koaderno interaktiboak

Koaderno interaktiboak ezagunak dira analisi esploratorioetarako, eta arrazoi onarekin — iterazio azkarra eta ikusmenezko feedbacka ahalbidetzen dute. Baina ondo dokumentatuta eta hedatuki ezagutzen diren erreproduzigarritasun-arriskuak sartzen dituzte:

  • Exekuzio-ordenaren anbiguotasuna: Gelaxkak edozein ordenatan exekuta daitezke, eta kernelaren egoera exekuzio-ordenaren menpe dago
  • Egoera ezkutua: Aldagaiak gelaxken artean irauten dute, koadernoaren iturburuan ikusgai ez dauden mendekotasun inplizituak sortuz
  • Ingurune-deribaz: Koadernoa une horretan aktibo dagoen edozein ingurunetan exekutatzen da, eta hori analisia lehen aldiz egin zen ingurunearekiko desberdina izan daiteke
PropietateaKoaderno interaktiboaScript determinista
Exekuzio-ordenaArbitrarioa (erabiltzaileak kontrolatua)Finkoa (script-ordena edo pipeline DAG)
Egoera ezkutuaPosible (kernelaren aldagai iraunkorrak)Ezinezkoa (exekuzio bakoitza hutsetik hasten da)
ErreproduzigarritasunaDiziplina arretatsua eskatzen duLehenetsitako jokabidea
JatorriaEskuz (erregistratzen bada)Automatikoa (eraikuntza-sistema + manifestua)
LankidetzaMerge-gatazkak ohikoakGit lan-fluxu estandarrak

Horrek ez du esan nahi koadernoak baztertu behar direnik. Esan nahi duena da ikerketaren esplorazio-fasekoak direla, ez produkzio-fasekoak. Analisi bat esploraziotik argitalpenera pasatzen denean, jatorri-jarraipena duten script determinista bihurtu behar da.

Testu ainguratuaren balidazioa

Erreproduzigarritasun-pilaren azken geruzak arazo sotil baina kritiko bat jorratzen du: datu-prozesaketa guztiz erreproduzigarria denean ere, emaitzak deskribatzen dituen testua datuek benetan erakusten dutenetik alden daiteke.

Testu ainguratuaren balidazioa dokumentu bateko baieztapen orok artefaktu zehatz bat erreferentziatzen duela egiaztatzen duen ziurtatze automatizatua da:

  • “TP53-ren adierazpena modu esanguratsuan gora erregulatu zen (2A Irudia, p = 0,003)” — baliozkoa, 2A Irudia eta estatistiken JSON-aren aurka egiazta daitekeen p-balio zehatz bat erreferentziatzen ditu
  • “Gure emaitzek itu terapeutiko itxaropentsu bat iradokitzen dute” — baliogabea, artefaktu zehatzik erreferentziatu gabe baieztapen bat egiten du
  • “1.247 geneetan adierazpen diferentziala ikusi dugu” — baliozkoa bada soilik 1.247 zenbakia estatistiken JSON-an edo iturri-datuetan agertzen bada

Testu ainguratuaren balidazioa ez da idatz dezakezuna mugatzeari buruz. Idazten duzuna egiazta daitekeela bermatzeari buruz da.

Balidazio hau automatiza daiteke. Script batek testua analizatu dezake, artefaktuak erreferentziatzen dituzten baieztapenak identifikatu, erreferentzia horiek manifestuaren aurka egiaztatu, eta erreferentzia zehatzik ez duen edozein baieztapen markatu. Emaitza baieztapen faktual oro bere iturria arakatu daitekeen dokumentu bat da — ez ikertzailea arretatsu izan delako, baizik tresnak behartzen duelako.

Pipeline erreproduzigarri bat eraikitzea

Zure oraingo pipeline-ak kutxa beltzeko osagaiak baditu, haiek jorratzeak ez du dena berehala berreraikitzea eskatzen. Hasi arrisku handieneko urratsetatik: argitalpenetan edo aurkezpen arautzaileetan agertuko diren irteerak sortzen dituztenak.

Urrats bakoitzerako:

  1. Ordezkatu ostatatutako APIen deiak norberak ostatatutako alternatibekin ahal denean
  2. Finkatu mendekotasun guztiak (lengoaiaren bertsioa, liburutegien bertsioak, sistema-paketeak)
  3. Gehitu jatorri-jarraipena (sarrera-hashak, irteera-hashak, denbora-markak, git SHAk)
  4. Idatzi irteera-propietateak egiaztatzen dituzten balidazio-testak
  5. Bihurtu koadernoak script-etan produkzio-exekuzioetarako

Konputazio erreproduzigarrirako tresnak eta praktikak helduak dira. Edukiontziak, lockfileak, eraikuntza-sistemak eta jatorri-manifestuak ondo ulertzen diren ingeniaritza-soluzioak dira. Gainerako erronka adopzioa da — erreproduzigarritasuna aukerazko gehigarri baten ordez lehenetsitako jokabide egiten duten tresnak aukeratzea.


Hordago Labs-ek ikerketa biologikorako pipeline erreproduzigarriak eta ebidentzian oinarritutakoak eraikitzen ditu. Irteera bakoitzak egiaztapen kriptografikoa duen jatorri-manifestua dakar. Ikusi gure plataforma edo irakurri zergatik kode irekiak axola duen erreproduzigarritasun zientifikorako.