#ai-кодинг

3 постов
пост №1877ИИ и машинное обучение

А вот antirez, супер успешный программист, работающий над по-настоящему сложными задачами, создатель redis, одной из самых популярных баз данных на свете, делится, как он использует ИИ для программирования.

Вкратце: даёт подробный контекст и пишет детальную спецификацию, не вайбкодит и даже не пользуется специальными редакторами (агентами), а буквально копи-пестит код; рекомендует модели Gemini 2.5 PRO и Claude Opus.

Говорит, что нейросети радикально ускоряют его работу. Внутри у него еще пара советов, рекомендую прочитать первоисточник, там коротко и по делу.

пост №1874ИИ и машинное обучение

Очень четкая, подробная и при этом короткая статья, как эффективно пользоваться нейросетями для программирования.

Идея простая: мы не ставим нейросети общую задачу «сделай хорошо», а просим её сначала написать спецификацию проекта (spec.md), а потом, на её основе, план (todo.md), как именно она собирается эти требования выполнять. Это развитие стандартного промптового приема «цепочка мыслей», CoT (Chain of Thought).

Буквально вчера Амазон представил свой продукт на основании похожей идеи, к которой он пришел независимо, — ноосфера! Это редактор кода, IDE на основе VS Code. На каждый запрос к нейросети он читает и редактирует requirements.md с продуктовыми требованиями, потом design.md, где описывает технические решения, и, наконец, tasks.md со списком задач. Программист просматривает эти документы, вносит правки и запускает агентов «в поле».

У этого инструмента замечательный обучающий проект — классная компьютерная игра, сама использующая под капотом нейросети, в которую интересно играть, но в ней не доделаны несколько вещей, и есть пара досадных ошибок — предлагается довести её до ума, даются советы, как лучше это сделать. Гениальный туториал!

P. S. Это как раз пример «смены парадигмы», которую упоминал вчера Егор. Мы пишем (генерируем) документацию о проекте прямо внутри репозитория, чтобы нейросети знали, как и что мы делаем в проекте. В каком-то смысле описываем «модель мира» по Науэру в этих текстовых файлах в понятном нейросети формате.

пост №1873Разработка и инженерия

Ну и классное рассуждение по мотивам исследования: автор цитирует классика Питера Науэра (того самого, который N в BNF), который говорил, что программирование — это создание ментальной модели задачи, предметной области, в которой мы работаем.

Опытные программисты, годами работающие над проектом, конечно же, имеют эту модель в подкорке, и их софт ей соответствует. У нейросети этой модели нет, поэтому она скорее мешает, чем помогает.

Дальше автор делает печальное наблюдение, что большинство программистов работают с плохим кодом, который увидели вчера. Мол, в таких ситуациях нейросети будут полезны.

Удивительно, как теория переплетается с практикой.

Совсем недавно сделали проект, в котором нас позвали «привести в порядок успешный стартап». Чуваки собрали MVP, но страдают от низкой скорости добавления фичей. Раньше я говорил, что это из-за «высокой внутренней сложности кода».

Более точная формулировка: в числе прочего, мы придумали, как привести их код в соответствие с предметной областью. Для этого мы нарисовали схему их предметной области, выделили контексты и домены, а потом придумали разделение ответственности по задачам между сервисами.

Красиво!