Искренняя провокация о программировании с помощью искусственного интеллекта.
Руководители технологических компаний требуют обязательного изучения LLM. Это плохая стратегия. Но я понимаю, к чему они клонят.
Некоторые из самых умных людей, которых я знаю, до мозга костей убеждены, что ИИ — это причуда, следующая итерация мании NFT. Я не хотел им возражать, потому что они умнее меня. Но их аргументы несерьезны, и с ними стоит поспорить. Необычайно талантливые люди делают работу, которую LLM уже делают лучше, из вредности.
Весь прогресс в области LLM может остановиться сегодня, и LLM останется второй по значимости вещью, которая произойдет за время моей карьеры.
Важная оговорка: я обсуждаю только последствия LLM для разработки программного обеспечения. Для искусства, музыки и писательства? Я ничего не понял. Я склонен верить скептикам в этих областях. Я просто не верю им в своей.
Достоверность: Я занимаюсь поставкой программного обеспечения с середины 1990-х годов. Я начинал с коробочного, сжатого кода на C. Пережил непродуманную фазу Александреску C++. Много инструментов для Ruby и Python. Немного работы с ядром. Много серверного C, Go и Rust. Как бы вы ни определяли «серьезного разработчика», я подхожу под это определение. Даже если только на одном из ваших нижних уровней.
настройка уровня
Во-первых, мы должны быть на одной волне. Если вы пытались и не смогли использовать LLM для кода 6 месяцев назад †, вы делаете не то, что делает большинство серьезных кодеров с LLM-помощью.
Сегодня люди, занимающиеся кодированием с помощью LLM, используют агентов. Агенты могут самостоятельно копаться в вашей кодовой базе. Они напрямую пишут файлы. Они запускают инструменты. Они компилируют код, запускают тесты и итерируют результаты. Они также:
- втягивать произвольный код из дерева или из других деревьев в Интернете в свои контекстные окна,
- запускать стандартные инструменты Unix для навигации по дереву и извлечения информации,
- взаимодействовать с Git,
- запускать существующие инструменты, такие как линеры, форматеры и программы проверки моделей, и
- делать по сути произвольные вызовы инструментов (которые вы настраиваете) через MCP.
Код в агенте, который на самом деле «делает что-то» с помощью кода, сам по себе не является ИИ. Это должно вас успокоить. Это удивительно простой системный код, связанный с истиной о программировании так же, как и Makefile. Вы можете написать эффективного агента по кодированию за выходные. Его сильные стороны будут в большей степени связаны с тем, как вы думаете и структурируете сборки, линтинги и тестовые жгуты, чем с тем, насколько продвинутыми стали o3 или Sonnet.
Если вы делаете запросы на странице ChatGPT, а затем вставляете полученный (неработающий) код в редактор, вы не делаете того, что делают AI boosters. Неудивительно, что вы разговариваете друг с другом.
Статья Thomas Ptacek — перевод свободный.