TGViewer
AI-Driven Development. Родион Мостовой AI-Driven Development. Родион Мостовой @ai_driven · 5.5K subscribers
Post #48 1.34K
Продолжение: o1-pro: Реализуем Parallel.ForEachAsync с регулируемым "на лету" параллелизмом
Часть 1 тут.

Но доверять LLM (даже с тестами) - чревато, особенно в такой сложной задаче, поэтому кроме собственного теста, я попросил Евгения Пешкова (автора библиотеки ConcurrencyToolkit и довольно экспертного чувака по многопоточке) поревьюить результат, за что ему большое спасибо. Вот его комментарии:
1. Сейчас пермит добывается заново на каждый обрабатываемый элемент, это убивает эффект от распараллеливания, если элементы обрабатываются быстро. Эффективнее захватывать пермит один раз при старте воркера, а при изменении лимита убивать воркеров с номерами >= NEW_LIMIT.
2. Используется обычный lock для MoveNext, а в оригинальном ForEachAsync — SemaphoreSlim(1) в качестве асинхронного лока, что предотвращает блокировку тредпула, если MoveNext медленный

Во всяком случае, критических проблем обнаружено не было - и это уже хорошо. А PR с исправленными замечаниями приветсвуется :)
Кстати, у Жени есть великоплепный Telegram-канал про .NET, а еще множество глубоких докладов, которые я тоже могу горячо рекомендовать - сейчас, с развитием нейронок, глубокие знания о том, как все устроено под капотом получают еще большую ценность.
Код библиотеки и тесты тут.

Итоги итогов
Тандем лучших публичных нейронок на сегодня (o1-pro + Sonnet 3.5) в написании потокобезопасного кода проявил себя довольно достойно. Конечно, чтобы делать такие выводы уверенно необходимо, как минимум, повторить удачный эксперимент несколько раз в подряд, ну и желательно на разных задачах, но у нас просто нет столько времени. В принципе, если говорить конкретно о модели o1-pro, то одна из основных ее фишек именно в стабильности результата (в отличие от o1, которая может отдавать правильный ответ через раз), поэтому с высокой долей вероятности результат будет повторяемым.

Что еще может o1-pro?
Много чего. В целом, все самые сложные задачи на reasoning (НЕ на знание библиотек) o1-pro должна решать сильно лучше остальных моделей. Кроме того, у нее довольно большой контекст в 200к токенов на вход (впрочем, как и у o1), поэтому ей спокойно можно докидывать, например, всю документацию к вашей любимой библитеке и почти наверняка эта модель будет наиболее внимательна к деталям.
Еще, я пытался решить с o1-pro довольно сложную задачу на графы, но в полной мере это сделать так и не удалось - после нескольких итераций (код, тесты, output тестов LLM, фикс и все по новой), она думала по ~10 минут и стабильно предлагала неверное решение. Там весьма хитрая и запутанная логика обработки циклов внутри графа и o1-pro в ней явно путается. Удивительно, но в итоге последний затык мне смогла разрешить только старая добрая Sonnet 3.5 - по моим наблюдением, у Sonnet вообще как-то все очень хорошо с графами.

А какие самые сложные задачи на программирование доводилось решать вам с помощью LLM?

—
Пробелов.NET
  • 🔥 10
More from @ai_driven
  1. Sep 27, 2026Vibe-Observability и автономный баг-фиксинг Эксперементирую с автономным исправлением баго…
  2. Sep 22, 2026Выступление за выступлением. Примерно так проходит для меня сентябрь. Много знакомств, инт…
  3. Sep 22, 2026Чем мой оркестратор отличается от claude -p и т. п.? Помимо полезных инструкций, вправляющ…
  4. Sep 21, 2026Вот за что люблю очередь сообщений в Codex. Накидываешь задачи на ночь одну за другой и со…
  5. Sep 18, 2026Ребят, на всякий случай уточню для тех, кто не вчитался - по 20$ подписке до 10 октября Де…
  6. Sep 18, 2026Post #293
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →