Til hovedinnhold
Norsk English

Simulatoren som diskusjonspartner: agent-baserte brukergrensesnitt

Vi ser for oss en fremtid der samspillet mellom mennesker og datamaskiner i beregningsvitenskapen blir fornyet. Tenk deg å kunne diskutere komplekse simuleringer med programvaren din – akkurat som du ville gjort med en kollega

Kontaktpersoner

Denne visjonen er ikke et fjernt mål – den er innen rekkevidde takket være fremskritt i KI. Med samspillet mellom spiss­teknologier som store språkmodeller (LLM), retrieval-augmented generation (RAG) og KI-agenter utforsker vi nå hvordan man kan skape en sømløs dialog mellom mennesker og beregnings­simulatorer. Målet er at brukeren skal kunne samhandle naturlig med simuleringene, få KI-støttede forslag og ta raskere beslutninger – samtidig som vitenskapelig kvalitet ivaretas.

Nøkkelkomponenter

Dette krever integrasjon av flere KI-teknologier for å skape flyt mellom bruker og simulator. Følgende byggesteiner gjør visjonen mulig:

  • LLM-basert chatbot-grensesnitt: Et naturlig språk-grensesnitt som lar brukeren samhandle med systemet som med en kollega. Grensesnittet tolker spørsmål, kommandoer og ønsker i klart språk og oversetter dem til handlinger i simulatoren.
  • RAG (retrieval-augmented generation): En metode som utvider LLM-er ved å hente inn relevant kunnskap fra strukturerte kilder som dokumentasjon, tidligere simuleringer, fagartikler og kodelagre. Slik kan systemet gi kontekstuelle og oppdaterte svar basert på eksisterende kunnskap.
  • Simulatorkontroller (agent-lag): KI-agenter fungerer som utførere av simuleringsoppgaver. De oversetter naturlige språkkommandoer til konkrete handlinger: kjører simuleringer, justerer modellparametere og analyserer/foreslår korrigeringer av tidligere resultater.
  • Kunnskapsbase: En strukturert database som lagrer simuleringsdata, modellparametere og vanlige arbeidsflyter, indeksert for raskt oppslag. Dette gjør at systemet kan lære av tidligere simuleringer og improvisere i nye.
  • Tilbakemeldingssløyfe: KI-systemet kan foreslå neste steg, avdekke avvik i resultater og stille oppklarende spørsmål – og legger til rette for et samarbeid der bruker og simulator sammen forbedrer modellen.
  • Deriverbare simulatorer (valgfritt): Simulatorer som muliggjør gradientbasert optimalisering ved å sende gradienter «bakover» gjennom beregningene. Dette gir effektiv sensitivitetsanalyse, kalibrering mot observasjoner og kobling til andre simulatorer i komplekse flerfysikk-scenarier – i tråd med moderne maskinlærings­arbeidsflyter.
  • Visualiseringsverktøy (valgfritt): Integrerte verktøy som kan summere eller plotte resultater direkte i dialogen, slik at man forstår utdata i sanntid.
  • Sikkerhet og kvalitetssperrer: Alle kommandoer valideres, og uforsvarlige handlinger blokkeres for å ivareta integritet og pålitelighet i simuleringene.

Vår første prototype: JutulGPT

JutulGPT er en prototype for et LLM-drevet agentrammeverk som hjelper til med å sette opp komplekse reservoarsimuleringsmodeller. Løsningen er bygget rundt vår åpne, Julia-baserte simulator JutulDarcy.jl, og muliggjør en iterativ, agentisk arbeidsflyt der modellen kan definere, endre, kjøre og forbedre simuleringsskript ved hjelp av oppslag og kodekjøring – med menneskelig kvalitetssikring i loopen. Systemet har vist lovende resultater for å akselerere oppsett, finne feil og tilpasse arbeidsflyter, men synliggjør også utfordringer som «hallusinert» kode ved ren én-skudds generering. Mer om erfaringene våre i blogginnlegget JutulGPT – Agent-based reservoir simulation with JutulDarcy.jl.

Kommandolinjegrensesnitt for JutulGPT
Eksempel på kommandolinjegrensesnitt (CLI) i JutulGPT.
Nett-/chatgrensesnitt for JutulGPT
Eksempel på nett-/chat-grensesnitt i JutulGPT.

Eksempler på bruk

Noen måter denne tilnærmingen kan endre hvordan simuleringer settes opp, analyseres og optimaliseres:

  • Hjelp til modelloppsett:

    Bruker: «Basert på SPE1-benchmarken, sett opp en flerfase­strømningssimulering for sandsteinsreservoar og varier injeksjonsrate fra 100 til 500 fat/dag.»
    System: KI-agenten konfigurerer simuleringen, foreslår fornuftige standardverdier og viser oppsettet for godkjenning.

  • Utforskende kjøringer:

    Bruker: «Kjør en sensitivitetsstudie på porøsitet mellom 15 % og 25 %, og plott effekten på gjennombruddstid.»
    System: Agenten starter studien, kjører flere simuleringer med varierende porøsitet og presenterer resultatene som figurer.

  • Feilsøking og optimalisering:

    Bruker: «Hvorfor sliter Newton-løseren etter 3000 dager?»
    System: Henter logger, analyserer residualer og foreslår tiltak – f.eks. justering av løserinnstillinger, grensebetingelser, toleranser eller startgjetning.

  • Læring og dokumentasjonsoppslag:

    Bruker: «Hvilken diskretiseringsmetode bruker simulatoren for konveksjonsdominerte problemer?»
    System: RAG henter relevant dokumentasjon/artikler og gir et kort sammendrag av metodikken.

  • Autonom scenarioanalyse:

    Bruker: «Finn et parameter­sett som minimerer kostnadene, men holder utvinningsgraden over 50 %.»
    System: Agenten designer en optimaliserings­arbeidsflyt, justerer parametere mot målkriteriene og leverer et forslag til løsninger.

Utfordringer

Som med all banebrytende forskning finnes det utfordringer:

  • Presisjon og pålitelighet: LLM-er er ikke alltid til å stole på for kompleks numerisk resonnering. Simulatoren må være «fasit» for resultatene.
  • Ventetid: Simuleringer kan ta tid; god brukeropplevelse under lange kjøringer er en designutfordring.
  • Kontekstsporing: Å holde oversikt over tilstand gjennom komplekse flertrinns-arbeidsflyter er fortsatt krevende for KI-agenter.
  • Datasikkerhet og IP: Beskyttelse av konfidensielle simuleringsdata og forskningsresultater er kritisk.

Bli med

Hvis denne visjonen treffer, hører vi gjerne fra deg. Ta kontakt – så ser vi hvordan vi sammen kan forme neste generasjon intelligente simuleringsverktøy.

Forbehold: I tråd med temaet vårt er denne teksten generert med KI-verktøy og deretter kuratert og kvalitetssikret av fagpersoner.