Итак, Python 3.14 наконец-то вышел в реальность вчера. Наконец-то убирая GIL (глобальную блокировку интерпретатора), что позволяет значительно ускорить многопоточную работу без необходимости справляться со всеми проблемами и накладными расходами многопроцессорности или другими хитрыми обходными путями. И uv уже полностью поддерживает это, что невероятно впечатляет. Но, в любом случае, я был немного расстроен, потому что основной проект, над которым я работаю, имеет огромное количество зависимостей библиотек, и всегда требуется очень много времени, чтобы получить поддержку новых версий Python, особенно когда они такие революционные и отличные, как версия 3.14. Так что я был готов терпеть ад GIL в неопределенном будущем. Но потом я подумал, почему бы и нет? Давайте просто посмотрим, сможет ли codex и GPT-5 справиться со всем этим. Я сделал резервную копию своих настроек и попросил codex попробовать, дав ему недавнюю запись в блоге от команды uv, чтобы начать. Были некоторые серьезные препятствия. Я использую PyTorch, который известен своей медленной обновляемостью. А также pyarrow, который тоже не поддерживал 3.14. То же самое с cvxpy, оберткой для библиотеки выпуклой оптимизации. Тем не менее, я хотел увидеть, что мы можем сделать, даже если нам придется справляться с проблемами "вендоринга" некоторых библиотек и собирать некоторые вещи с нуля на C++, Rust и т.д., используя последние ночные репозитории GitHub вместо обычных библиотек PyPi. Я сказал codex искать в интернете, читать страницы проблем на GitHub и т.д., чтобы мы не изобретали велосипед (или WHL, как я должен сказать, 🤣) без необходимости. Почему бы и нет? Я всегда мог бы протестировать вещи, и если бы не смог заставить это работать, то мог бы просто вернуться к Python 3.13, верно? Никакого вреда, никаких последствий. Что ж, это заняло много часов работы, почти все из которых выполнил codex, пока я время от времени проверял его, но он смог заставить все работать! Конечно, это потребовало множества итераций, и мне пришлось немного подправить некоторые вещи, чтобы избежать раздражающих предупреждений о устаревании (некоторые из которых исходят от других библиотек, так что в конечном итоге мне пришлось их фильтровать). Но эти библиотеки со временем обновятся, чтобы лучше поддерживать 3.14, и в конечном итоге мне не придется использовать никакие из этих раздражающих обходных путей. Codex даже предложил загрузить скомпилированные артефакты whl в R2 Cloudflare (как s3), чтобы мы могли легко повторно использовать их на разных машинах, и позаботился обо всех деталях за меня. Я бы никогда не подумал сделать это сам. Каждый раз, когда возникала еще одна сложность или проблема (например, то, что показано на скриншоте ниже), codex просто разбирался с этим и справлялся со всем, как будто ничего и не было. Если вы никогда не пытались сделать что-то подобное в "плохие старые времена" до LLM, это была неблагодарная работа, которая могла занять дни, а затем наткнуться на препятствие, что приводило к полному провалу. Так что это было просто слишком рискованно, чтобы даже пытаться это делать большую часть времени; вам было бы лучше просто подождать 6 или 9 месяцев, чтобы все снова стало простым. В любом случае, я все еще не могу поверить, что все это работает! Мы живем в будущем.
Когда вы понимаете, что твит, вероятно, будет успешным:
1,88K