LLM под капотом
@llm_under_hood
Маленький и крышесносный пример Feedback Loop в AI Системах
Про важность качественного цикла обратной связи (Feedback Loop) для работы с LLM я, по-моему, говорю беспрестанно. Обвязывайте проекты тестами и evals. Приоритизируйте проекты, которые можно тестировать. SGR позволяет лучше тестировать сложные LLM пайплайны.
Ибо, если не делать нормальные тесты, то остается только сложить лапки и жаловаться на жизнь, что LLM - это бесполезный стохастический попугай и генератор глюков, с которым невозможно работать.
Причем, это справедливо как для продуктов с LLM под капотом, так и для кодинга при помощи AI. И тут и там используется черный ящик, который нужно держать на коротком поводке.
Сегодня, когда я записывал юнит про Feedback Loops для английской версии курса про построение систем с LLM под капотом, захотелось добавить слайд с примером, который прямо вах. И я поставил эксперимент, который в жизни бы не стал использовать в работе (до сегодняшнего дня).
Я взял набор тестов (в виде Excel файлов) для проверки корректности движков формул Excel/Google Sheets. Докинул исходный код одного из таких движков на JS в качестве примера. Обернул все это своими AGENTS.MD, наброском архитектуры (авторства ChatGPT) и скриптом обратной связи, который может протестировать любой движок, выдать точность и ошибки.
А потом в цикле отправлял в OpenAI Codex задачку: "Прогони тесты, обрати внимание на число ошибок и ужаснись. А потом напиши мне минимальный патч, который максимально повышает точность. Пришли коммит, в заголовке которого покажи изменение точности. Если не можешь улучшить качество - забей, попробуешь в новом цикле."
Это все прямо как в истории со спасением проекта (1, 2, 3, 4, 5, 6+7), но с AI вместо команды людей!
И что бы вы думали? Я код не трогал вообще, а оно само за 14 коммитов в цикле написало код на go, который корректно отрабатывает все эти тесты (git log в комментариях). Когда я полез смотреть результаты, то ожидал увидеть обещанные горы спагетти и жуткого кода, а еще - захардкоженные ответы на тесты. Ибо ну не должно оно мочь работать в автономе так долго.
А там - типичный и даже немного скучный Go. Вот парсер формул с AST деревьями, вот работа с диапазонами, вот интерпретатор, вот работа с графами зависимостей, вот библиотека функций итп.
Понятно, что мне могло сильно повезти. Возможно, OpenAI Codex так похорошел с GPT-5.2, что сам стабилизирует архитектуру и код без спроса. Возможно, ChatGPT такой гений и придумал хорошую архитектуру в AGENTS.MD. Возможно, go - настолько простой и скучный язык, что там сложно для LLM накосячить.
Поэтому я сейчас в тот же проект отправил такую инструкцию - а давай перепишем все на Rust? Может, хоть там OpenAI споткнется о memory model и подавится borrow checker-ом?
Он прислал первый коммит -
Я работаю с софтом больше двадцати лет. Сегодня в голове у меня что-то безвозвратно поломалось. Это первый раз в 2026 году.
Ваш, @llm_under_hood 🤗
Про важность качественного цикла обратной связи (Feedback Loop) для работы с LLM я, по-моему, говорю беспрестанно. Обвязывайте проекты тестами и evals. Приоритизируйте проекты, которые можно тестировать. SGR позволяет лучше тестировать сложные LLM пайплайны.
Ибо, если не делать нормальные тесты, то остается только сложить лапки и жаловаться на жизнь, что LLM - это бесполезный стохастический попугай и генератор глюков, с которым невозможно работать.
Причем, это справедливо как для продуктов с LLM под капотом, так и для кодинга при помощи AI. И тут и там используется черный ящик, который нужно держать на коротком поводке.
Сегодня, когда я записывал юнит про Feedback Loops для английской версии курса про построение систем с LLM под капотом, захотелось добавить слайд с примером, который прямо вах. И я поставил эксперимент, который в жизни бы не стал использовать в работе (до сегодняшнего дня).
Я взял набор тестов (в виде Excel файлов) для проверки корректности движков формул Excel/Google Sheets. Докинул исходный код одного из таких движков на JS в качестве примера. Обернул все это своими AGENTS.MD, наброском архитектуры (авторства ChatGPT) и скриптом обратной связи, который может протестировать любой движок, выдать точность и ошибки.
А потом в цикле отправлял в OpenAI Codex задачку: "Прогони тесты, обрати внимание на число ошибок и ужаснись. А потом напиши мне минимальный патч, который максимально повышает точность. Пришли коммит, в заголовке которого покажи изменение точности. Если не можешь улучшить качество - забей, попробуешь в новом цикле."
Это все прямо как в истории со спасением проекта (1, 2, 3, 4, 5, 6+7), но с AI вместо команды людей!
И что бы вы думали? Я код не трогал вообще, а оно само за 14 коммитов в цикле написало код на go, который корректно отрабатывает все эти тесты (git log в комментариях). Когда я полез смотреть результаты, то ожидал увидеть обещанные горы спагетти и жуткого кода, а еще - захардкоженные ответы на тесты. Ибо ну не должно оно мочь работать в автономе так долго.
А там - типичный и даже немного скучный Go. Вот парсер формул с AST деревьями, вот работа с диапазонами, вот интерпретатор, вот работа с графами зависимостей, вот библиотека функций итп.
Понятно, что мне могло сильно повезти. Возможно, OpenAI Codex так похорошел с GPT-5.2, что сам стабилизирует архитектуру и код без спроса. Возможно, ChatGPT такой гений и придумал хорошую архитектуру в AGENTS.MD. Возможно, go - настолько простой и скучный язык, что там сложно для LLM накосячить.
Поэтому я сейчас в тот же проект отправил такую инструкцию - а давай перепишем все на Rust? Может, хоть там OpenAI споткнется о memory model и подавится borrow checker-ом?
Now drop ALL go code. Initialise empty rust project and add failing test runner (similar to Go) in Rust. Update `Make init`/`make test` to leverage Rust (use Calamine crate for Excel reading). Update AGENTS.MD to mention Rust now
Он прислал первый коммит -
MVP formula engine scaffolding (0.0% -> 4.7%). Дальше буду только перезапускать задачу "сделай лучше".Я работаю с софтом больше двадцати лет. Сегодня в голове у меня что-то безвозвратно поломалось. Это первый раз в 2026 году.
Ваш, @llm_under_hood 🤗
❤ 106
👍 55
🔥 40
🥰 6
🤯 6
👨💻 1
61 475 17.5K
Обсуждение 61
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram