Hamon ng Nangungunang Coder ng 8090

Orihinal na Post sa LinkedIn
Repo ng Proyekto sa GitHub

Noong Biyernes ng gabi, nakita ko ang isang pampublikong post sa Twitter/X mula kay Chamath Palihapitiya na nag-aanunsyo ng bukas na Hamon ng Nangungunang Coder na in-host ng kanyang bagong kumpanya, 8090 Solusyon. Maaaring sumali ang sinuman. Gaganapin ang hamon kinabukasan, tatagal lamang ng 8 oras, at magpapasok ng reverse engineering ng isang itim na kahon na legacy na sistema gamit lamang ang makasaysayang datos at ilang panayam sa mga empleyado.

Nagpasya akong sumabak!

Sa pagtatapos ng araw, pinarangalan akong pumwesto ng ika-7 sa 425 na mga inhinyero. Maaari mong tingnan ang leaderboard DITO at tingnan ang code para sa hamong ito DITO. Ngunit, hindi ako maglilihim, umaasa lang talaga ako na matapos ang isang bagay sa loob ng maikling panahon na iyon, kaya ang pagpasok sa leaderboard ay isang sorpresa at malaking personal na panalo para sa akin.

Ang hamon ay solong gawain, at ang layunin ay kopyahin ang isang 60 taong gulang na itim na kahon na sistemang pag-reimburse ng paglalakbay na walang source code at walang dokumentasyon. Binigyan kami ng ilang artifacts kabilang ang isang product brief, mga transcript ng panayam sa empleyado, at isang pampublikong hanay ng datos na naglalaman ng 1,000 makasaysayang halimbawa ng mga input at inaasahang output. Mula doon, kinailangan kong hinulaan ang lohika ng negosyo sa likod kung paano kinakalkula ang mga halagang pag-reimburse at magpatupad ng isang modernong bersyon na makakalikha ng parehong mga resulta nang malapit hangga’t maaari. Sinuri ang mga pagsusumite gamit ang isang hiwalay na nakatagong hanay ng datos na naglalaman ng 5,000 test case imbes na ang orihinal na 1,000. Ang mas malaking pribadong set na ito ang sa huli ang tumukoy ng iyong panghuling iskor at ranggo. Ginagantimpalaan ng sistema ng pag-iskor ang katumpakan, kung saan ang mas mababang iskor ay nangangahulugang mas malapit na tumugma ang iyong solusyon sa nakatagong pag-uugali ng orihinal na sistema.

Upang harapin ang kawalan ng katiyakan at mga pattern sa datos, gumamit ako ng klasikal na mga teknik ng machine learning kasabay ng mga batayang heuristika at lohika ng programa. Ito ay maingat na pinaghalo ng pagsusuri ng datos, pagmomodelo ng mga katangian, at aproksimasyon ng mga patakaran batay sa hindi perpektong mga pahiwatig.

Narito ang aking iskor na eval para sa pampublikong hanay ng datos na 1,000:

✅ Evaluation Summary
------------------------
  Total cases        : 1000
  Exact matches (<$0.01): 0
  Close matches (<$1.00): 17
  Average error      : $31.15
  Score              : 3214.93

Halos imposible ang makabuo ng solusyon para sa ganoong hamon sa loob ng 8 oras nang walang tulong mula sa mga kasangkapang pinapagana ng AI na nagpadali upang mabilis na mag-galugad, magsama, at mag-test ng mga ideya.

Parang arkeolohiya ng software na pinagsama sa isang sprint ng live coding. Madali itong isa sa pinaka-matindi at pinaka-nagpapasatisfy na teknikal na hamon na nagawa ko.

Salamat kina Chamath Palihapitiya at Arjun Krishna sa pag-aayos ng napaka-malikhain at nakaka-inspire na hamon na ito.

Mga Link: