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: