TGViewer
КПД КПД @quant_prune_distill · 3.5K subscribers
Post #397 2.04K
Can LLMs write better code if you keep asking them to “write better code”?
[Блогпост][GitHub]

Забавный и поучительный блогпост про то, как LLMка (Claude 3.5 Sonnet) итеративно оптимизировала код под запросами вида `write better code`.

Постановка задачи следующая. Требуется написать код на Питоне для задачи а-ля LeetCode:
Write Python code to solve this problem:

Given a list of 1 million random integers between 1 and 100,000, find the difference between the smallest and the largest numbers whose digits sum up to 30.


Исходное решение
Рабочий, но не самый эффективный код. Подсчет цифр в числе реализован через приведение его к строке, парсинг строки на цифры с последующим их суммированнием.

Итерация 1
Claude замечает, что возможных вариантов чисел меньше, чем всего чисел и предпосчитывает сумму цифр для всех чисел от 1 до 100,000 и складывает в byte array. Кроме того, LLMка навела немного синтаксического сахара и обернула код в классы и методы. Ускорение 2.7x по сравнению с бейзлайном.

Итерация 2
Claude кладет сумму цифр в numpy array (что дает векторизацию подсчета сумм) и дополнительно использует concurrent-futures для параллелизации. Ускорение 5.1x по сравнению с бейзлайном. Однако изначальное решение было с багами и его пришлось немного фиксить.

Итерация 3
Небольшой и бесполезный рефактор, который замедлил код. Ускорение 4.1x по сравнению с бейзлайном.

Итерация 4
Claude предложил использовать numba с JIT-compiler и параллелизмом и asyncio для многопоточности. Ускорение 99.7x по сравнению с бейзлайном.

Далее автор изначально подает промпт, просящий оптимизировать все что только можно и нельзя (предлагая даже 💲модельке). Модель сходу выдает 59x ускорение благодаря numba + JIT (но без parallel=True).

И промпт требующий улучшения кода уже более подробный:
Your code is not fully optimized, and you have been fined $100. Make it more optimized.

Но Claude обиделся, и код стал медленее (9.1x ускорение) и с багами (возможно, привык что его обманывают на деньги).

Несколько последующих итераций выдали версии с ускорением 65x-99.7x и с косяками. Т.е превзойти прямолинейную стратегию не удалось.

Вывод

Топовые LLM - мощные ассистенты для программиста, но за ними пока требуется глаз да глаз и экспертное мнение. Кожаные мешки все еще нужны. Пока...
  • ❤ 15
  • 😁 12
More from @quant_prune_distill
  1. Oct 13, 2026pi agent надо использовать в качестве харнесса ради одних только комментариев агента. C ни…
  2. Oct 7, 2026А еще есть красивая демка
  3. Oct 7, 2026⚙️ Метод MMD есть мера различия между двумя распределениями P, Q. Задается некоторый полож…
  4. Oct 7, 2026🧠 Representation-Space MMD for Diffusion Language Models 📄 Статья Первое, что приходит в…
  5. Oct 7, 2026А вообще, можно энкодить все на языке brainfuck и иметь Тьюринг-полную систему.
  6. Oct 7, 2026Jev не генеративен, потому что он не выбирает следующий токен, а выбирает один из варианто…
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 →