Najlepsze Wyzwanie Koderów 8090

Oryginalny wpis na LinkedIn
Repozytorium GitHub projektu

W piątek wieczorem zobaczyłem publiczny post na Twitterze/X autorstwa Chamatha Palihapitiyi, ogłaszający otwarte Top Coder Challenge organizowane przez jego nową firmę, 8090 Solutions. Mógł dołączyć każdy. Wyzwanie miało się odbyć już następnego dnia, trwać tylko 8 godzin i polegać na inżynierii wstecznej czarnej skrzynki starego systemu przy użyciu wyłącznie danych historycznych oraz kilku rozmów z pracownikami.

Postanowiłem spróbować!

Do końca dnia miałem zaszczyt zająć 7. miejsce na 425 inżynierów. Możesz sprawdzić tabelę wyników TUTAJ i sprawdzić kod do tego wyzwania TUTAJ. Ale nie będę kłamał, szczerze mówiąc liczyłem po prostu na to, że zdołam w tym krótkim czasie ukończyć cokolwiek, więc znalezienie się w tabeli wyników było zaskoczeniem i ogromnym osobistym sukcesem dla mnie.

Wyzwanie było solowe, a celem było odtworzenie 60-letniego czarnego skrzynkowego systemu zwrotu kosztów podróży, który nie miał kodu źródłowego ani dokumentacji. Otrzymaliśmy kilka artefaktów, w tym opis produktu, transkrypcje wywiadów z pracownikami oraz publiczny zbiór danych zawierający 1 000 historycznych przykładów danych wejściowych i oczekiwanych wyników. Na tej podstawie musiałem wywnioskować logikę biznesową stojącą za tym, jak obliczano kwoty zwrotu, i zaimplementować nowoczesną wersję, która mogłaby możliwie najdokładniej odtworzyć te same rezultaty. Zgłoszenia były oceniane na osobnym ukrytym zbiorze danych, który zawierał 5 000 przypadków testowych zamiast pierwotnych 1 000. To większe prywatne zestawienie ostatecznie decydowało o twoim końcowym wyniku i rankingu. System punktacji nagradzał dokładność, gdzie niższy wynik oznaczał, że twoje rozwiązanie bliżej odzwierciedlało ukryte zachowanie oryginalnego systemu.

Aby poradzić sobie z niepewnością i wzorcami w danych, użyłem klasycznych technik uczenia maszynowego wraz z podstawowymi heurystykami i logiką programistyczną. To było staranne połączenie analizy danych, modelowania cech i aproksymacji reguł opartej na niepełnych wskazówkach.

Oto mój wynik eval dla publicznego zbioru 1 000 danych:

✅ Podsumowanie oceny
------------------------
  Łączna liczba przypadków : 1000
  Dokładne dopasowania (<$0.01): 0
  Bliskie dopasowania (<$1.00): 17
  Średni błąd      : $31.15
  Wynik              : 3214.93

Opracowanie rozwiązania takiego wyzwania w 8 godzin byłoby niemal niemożliwe bez pomocy narzędzi wspieranych przez sztuczną inteligencję, które ułatwiły szybkie eksplorowanie, integrowanie i testowanie pomysłów.

To było jak archeologia oprogramowania połączona z intensywnym kodowaniem na żywo. Zdecydowanie jedno z najbardziej wymagających i satysfakcjonujących technicznych wyzwań, jakie zrobiłem.

Dziękuję Chamathowi Palihapitiyi i Arjunowi Krishnie za zorganizowanie tak kreatywnego i inspirującego wyzwania.

Linki: