Hraðari flutningur sögulegra uppboðsgagna með Basta

, By Óttar Guðmundsson
Hraðari flutningur sögulegra uppboðsgagna með Basta

Basta, dótturfélag Gangverks, flutti nýlega nýjan viðskiptavin yfir í uppboðskerfið sitt. Ný uppboð fóru fram án vandkvæða í nýja kerfinu, en viðskiptavinurinn vildi einnig flytja yfir söguleg gögn um eldri uppboð, uppboðshluti og myndefni.

Markmiðið var að flytja nærri tveggja áratuga uppboðssögu yfir í nýja kerfið án þess að merking gagnanna glataðist, án þess að afhjúpa gögn úr rekstrarumhverfinu og á mun skemmri tíma en upphaflega var áætlað. Verkefnið átti að taka um þrjá mánuði, en gagnaverkfræði og gervigreind léku stórt hlutverk í því að stytta þann tíma verulega. Í stuttu máli byggðist nálgunin á fjórum þáttum:

  • Gervigreindin samdi gagnaskipanir en fólk tók ákvarðanirnar. Claude greindi gagnaskipanina og gerði drög að fyrirspurnum. Forritararnir okkar yfirfóru og keyrðu þær, en teymið leysti í sameiningu úr álitaefnum sem ekki var hægt að ráða af gögnunum einum saman og kröfðust sérþekkingar á uppboðum.

  • Verkefni sem áætlað var að tæki þrjá mánuði tók mánuð. Flutt voru yfir 1.100 uppboð, 310.000 uppboðshlutir, tæplega ein milljón tilboða og samtals um 695 milljónir dollara í sögulegu hamarverði.

  • Gögn viðskiptavina voru aldrei aðgengileg gervigreindinni. Claude vann með gagnaskipanina en aldrei með raunverulegar færslur. Engin viðskiptavina- eða raungögn voru því gerð aðgengileg gervigreindinni á neinum tímapunkti.

  • Verkfæri og þekking nýtast áfram. Reynslan og verkfærin sem urðu til í verkefninu gera flutning nýrra uppboðshúsa yfir í Basta hraðari í dag. Sami grunnur gerir okkur kleift að kanna sjálfsafgreiðslulausnir fyrir nýja viðskiptavini í framtíðinni.

Verkfærin og reynslan af notkun þeirra eru nú hluti af vinnulagi Basta eftir því sem fleiri uppboðshús bætast við. Hér er sagan af því hvernig þetta gekk fyrir sig.

Nærri tveggja áratuga uppboðssaga

Viðskiptavinurinn var rótgróið uppboðshús og kerfið hafði því safnað upp umfangsmikilli sögu um breytingar á gögnum og verkferlum. Það er eðlilegt þegar mismunandi uppboðskerfi hafa verið notuð í gegnum árin, hvert með sína aðferð við að skipuleggja uppboð og skilgreina gögn.

Áður en flutningurinn hófst þurftum við því að vinna náið með viðskiptavininum að því að ákveða hvað skyldi flytja og hvernig það skyldi sett fram. Hér skipti sameiginleg reynsla Basta og Gangverks miklu máli, en bæði teymin hafa áralanga reynslu af smíði uppboðshugbúnaðar. Djúpur skilningur á verkferlum uppboða, hugtakanotkun og þeim sérstöku tilfellum sem koma upp gerði okkur mun auðveldara að átta okkur á því hvernig breytingar í gegnum árin endurspegluðust í gögnunum.

Við veittum Claude aðgang að forritskóðanum, gagnaskipan gagnagrunnsins, sögu fyrirspurna, eldri samþættingarkóða og skjölun innflutnings-API-sins. Með sértækum leiðbeiningum frá okkur um hvernig Basta meðhöndlar uppboðsgögn var líkanið fljótt að rekja tengsl milli kerfishluta og skilja hvernig gagnasvið höfðu breyst yfir tíma. Þetta hjálpaði okkur að byggja upp þær umbreytingar og villuprófanir sem tryggðu að mikilvægar upplýsingar glötuðust ekki. Gagnagrunnurinn innihélt hins vegar einnig upplýsingar sem við vildum ekki afhjúpa, svo sem viðkvæm viðskiptavinagögn og greiðslusögu. Auk þess var gagnagrunnurinn í lifandi rekstri og við vildum ekki að sjálfvirkur agent keyrði fyrirspurnir beint á hann, sem gæti valdið álagi eða niðritíma.

Við völdum því að taka afrit af gagnagrunninum og flytja það í gagnalón (data lake). Claude samdi drög að fyrirspurnum út frá samhenginu sem forritararnir okkar keyrðu síðan. Niðurstöðurnar voru unnar með verkfærunum sem við höfðum útbúið og yfirfarnar af hlutaðeigandi aðilum. Þessi aðskilnaður gerði okkur kleift að nýta hraða gervigreindarstuddar þróunar án þess að gefa líkaninu aðgang að persónugreinanlegum uppboðsgögnum eða hafa áhrif á lifandi kerfi. Allt þetta gerðist á einni viku.

Fjórar teiknimyndarúður. Ein: Claude les gagnaskipan merkt 'aðeins strúktúr'. Tvö: Claude réttir forritara SQL-fyrirspurn. Þrjú: Forritarinn keyrir fyrirspurnina á öryggisafrit. Fjögur: Claude lagfærir fyrirspurnina.
Aðskilnaður raungagna úr rekstri frá gervigreind, sýndur með mynd sem gervigreind teiknaði

Pareto-lögmálið: síðustu 20% vinnunnar

Fyrstu niðurstöður lofuðu góðu. Stór hluti vörpunarinnar yfir í Basta var þegar kominn á sinn stað. Við yfirfórum nýlegustu uppboðin og flest leit vel út. En þegar við fórum lengra aftur í tímann tók við sá hluti verkefnisins sem krafðist mestrar vinnu – síðustu tuttugu prósentin.

Áskorunin lá ekki bara í tæknilegum flutningi gagnanna, heldur líka í að skilja hvað gögnin þýddu í raun.

Hvað telst vinningstilboð? Er munur milli tilboða? Hvernig á að túlka afturkallað tilboð þegar gamla og nýja kerfið höndla afturköllun með ólíkum hætti? Og ef eldra uppboð inniheldur skráð hamarverð en engin einstök tilboð, hvernig á það að birtast í nýja kerfinu?

Þetta gætu virst smávægileg atriði, en í uppboðskerfi geta þau breytt myndinni um hver vann, á hvaða verði hluturinn seldist eða hvort hann telst yfirhöfuð hafa selst. Við gátum ekki tekið þá áhættu að flytja þetta rangt inn og skekkja sögulegar greiningar viðskiptavinarins í Basta. Lausnin fólst í samtölum við fólkið sem þekkti uppboðin best.

Það varð lykilþáttur í aðferðafræðinni. Agentinn greindi kerfið og dró fljótt fram spurningar sem við bárum undir þau sem gátu útskýrt hvað gögnin þýddu í raun. „Lítur þetta rétt út fyrir þér?“ leiddi oft af sér lagfæringar sem fóru aftur inn í líkanið til að fínstilla fyrirspurnir, umbreytingarreglur og sérlausnir til að passa við gagnaskipan Basta.

Flutningurinn sannreyndur áður en gögnin voru flutt

Við þurftum að geta treyst því að innflutningurinn í Basta væri réttur. Áður en gögnin voru flutt yfir útbjuggum við prufukeyrslu (dry-run) fyrir hvert uppboð til að líkja eftir flutningnum, sem viðskiptavinurinn fór síðan yfir.

Þegar uppboð hafði verið yfirfarið og flutt yfir með góðum árangri keyrðum við afstemmingu (reconciliation) sem sótti gögnin aftur úr Basta og bar þau saman við væntingar okkar.

Þessi tæknilega vinna hefði áður getað tekið vikur. En með því að byggja á aðferðafræði úr fyrri verkefnum gátum við lýst vinnulaginu og smíðað prufukeyrslur, villuprófanir og afstemmingar mun hraðar.

Að lokum höfðum við flutt yfir gögn um meira en 1.100 uppboð, 310.000 uppboðshluti, tæplega milljón tilboða og um 695 milljónir dollara í sögulegu hamarverði. Þar sem niðurstöður prufukeyrslna og afstemminga fylgdu með flutningnum varðveitir Basta nú sögu um hvernig gögnunum var umbreytt ef einhvern tímann þarf að rekja ferlið til baka.

Vírgrind af Basta uppboðskerfinu með reitum og stöðustikum
Lokið Basta uppboðskerfi með lifandi uppboðshlutum og niðurstöðum
Prufukeyrslan skilgreindi væntingarnar; afstemmingin leiddi í ljós að innflutningurinn stóðst þær.

Þetta hefði ekki verið mögulegt án náins samstarfs við Basta-teymið í gegnum allt ferlið. Þegar við rákumst á takmarkanir í innflutningsferlinu eða viðskiptavinurinn þurfti viðbótarsvið gat teymið oft leyst úr því samdægurs. Þetta gerði okkur kleift að halda dampi. Á leiðinni komu einnig í ljós atriði í innflutnings-API-inu sem við gátum lagfært, sem gerir næstu flutninga á kerfið enn skilvirkari.

Lærdómurinn dreginn saman

Rannsóknarvinnan og það að öðlast skilning á verkefninu tók aðeins brot af þeim tíma sem það hefði venjulega tekið. Það forskot gerði Gangverk-teyminu kleift að verja meiri tíma í þá þætti sem kröfðust faglegrar dómgreindar, svo sem að skilja viðskiptamódelið og sannreyna forsendur.

Agentísk þróun gerði okkur kleift að smíða verkfæri og skjölun með litlum tilkostnaði sem erfitt hefði verið að réttlæta fyrir eitt afmarkað verkefni. Sama grunn er nú hægt að nýta í framtíðarflutningum í stað þess að byrja frá grunni.

Það gæti virst sem agent sem keyrir í /loop gæti séð um þetta allt sjálfkrafa, en okkar reynsla var önnur. Vélrænu hlutarnir gengu hraðar fyrir sig, en aðeins vegna þess að teymið hélt áfram að leysa úr samhengi viðskiptanna og taka ákvarðanir sem líkanið gat ekki ráðið af gögnunum einum saman.

Að flytja gögnin var auðveldi hlutinn. Raunverulega vinnan fólst í að skilja hvernig söguleg gögn endurspegluðu starfsemi uppboðshússins svo þau skiluðu sér rétt yfir í nýja kerfið. Gervigreind gaf okkur mun meiri tíma til að einbeita okkur að einmitt því.