W czasie przerwy świątecznej stworzyłem open-source'owy solver rzeki w pokera. Kod jest w 100% napisany przez Codex, a ja także stworzyłem wersję z Claude Code, aby porównać. Ogólnie te narzędzia pozwoliły mi na znacznie szybsze iteracje w dziedzinie, którą dobrze znam. Ale czułem też, że nie mogę im w pełni zaufać. Popełniały błędy i napotykały bugi, ale zamiast to przyznać, często myślały, że to nie jest wielka sprawa lub, od czasu do czasu, po prostu próbowały mnie zmanipulować, aby myśleć, że nic nie jest nie tak. W jednej pamiętnej sesji debugowania z Claude Code zapytałem je, dla sprawdzenia, jaka byłaby oczekiwana wartość strategii "zawsze fold" gdy gracz ma 100 dolarów w puli. Powiedziało mi, że według swojego algorytmu, EV wynosił -93 dolary. Kiedy zwróciłem uwagę, jak dziwne to było, mając nadzieję, że samo zrozumie, że jest błąd, uspokoiło mnie, że 93 dolary są bliskie 100 dolarom, więc prawdopodobnie jest w porządku. (Gdy poprosiłem je, aby szczególnie rozważyło blokery jako potencjalny problem, przyznało, że algorytm rzeczywiście ich nie uwzględniał prawidłowo.) Codex nie był w tym wiele lepszy i napotkał własny zestaw (interesujących) odmiennych błędów i błędów algorytmicznych, które musiałem starannie przeanalizować. Na szczęście udało mi się przez to przejść, ponieważ jestem ekspertem w dziedzinie solverów pokera, ale nie sądzę, aby było wiele innych osób, które mogłyby odnieść sukces w stworzeniu tego solvera, korzystając z narzędzi AI do kodowania. Najbardziej frustrującym doświadczeniem było stworzenie GUI. Po kilkunastu wymianach, ani Codex, ani Claude Code nie były w stanie stworzyć frontend, którego prosiłem, chociaż frontend Claude Code był przynajmniej ładniejszy. Nie mam doświadczenia w frontendzie, więc być może to, o co prosiłem, po prostu nie było możliwe, ale jeśli tak było, to chciałbym, aby *powiedzieli* mi, że to trudne lub niemożliwe, zamiast wielokrotnie tworzyć uszkodzone implementacje lub rzeczy, o które nie prosiłem. To uwydatniło mi, jak wciąż istnieje duża różnica między pracą z ludzkim współpracownikiem a pracą z AI. Po zakończeniu początkowych implementacji i ich debugowaniu, poprosiłem Codex i Claude Code o stworzenie zoptymalizowanych wersji w C++. W tym zakresie Codex spisał się zaskakująco dobrze. Jego wersja C++ była 6 razy szybsza niż wersja Claude Code (nawet po wielu iteracjach prośby o dalsze optymalizacje). Optymalizacje Codex wciąż nie były tak dobre, jak te, które mogłem stworzyć, ale z drugiej strony spędziłem 6 lat na doktoracie, tworząc boty do pokera. Ogólnie uważam, że Codex wykonał imponującą pracę w tym zakresie. Moim ostatnim pytaniem było zapytanie AI, czy mogłyby wymyślić nowe algorytmy, które mogłyby rozwiązywać rzeki NLTH jeszcze szybciej. Żadne z nich nie odniosło sukcesu w tym, co nie było zaskakujące. LLM-y szybko się poprawiają, ale opracowanie nowych algorytmów w tej dziedzinie to miesięczny projekt badawczy dla ludzkiego eksperta. LLM-y nie są jeszcze na tym poziomie.