Как стать классным разработчиком в эпоху AI-агентов? 🤔
Мои ученики часто задают мне один и тот же вопрос: «Слушай Антон, а я вот пишу код только с AI-агентами, но есть такое чувство, что я из-за этого сам вообще не развиваюсь. Этот код работает, делает то, что от него требуется, но я не понимаю качественный он или нет. Как научиться видеть, что код плохой или хороший, если постоянно тебе код пишет AI-агент?»
Знаете, если честно и откровенно, у меня нет точного ответа на этот вопрос… Я рос и развивался как разработчик в совсем других условиях и у меня в качестве источников истины были только материалы, из которых самому приходилось выискивать и додумывать правильное решение. Повезло, если на твой ответ есть вопрос на каком нибудь stackoverflow, но зачастую никаких ответов там не было.
Если рассуждать и вглядываться в детали, то сейчас я ощущаю некое смещение своей роли. Я теперь больше не «машинист клавиатуры и писатель», а скорее «редактор и архитектор». Действительно, зачем набирать руками целую кучу кода, если ты умеешь видеть его качество, умеешь понимать его и можешь дать точные команды, чтобы получить желаемый результат.
Важно понимать, что AI-агенты останутся с нами уже навсегда, никто не придет и не скажет: «Ну что, наигрался? Отдавай игрушку». А нам не придется учиться писать код самим с нуля.
Времена изменились… И это круто. Если говорить метаформами, то мы получили некого «дикого зверя», которого мы можем научить делать то, что нам нужно.
Я для себя выделил несколько правил:
– обязательно пишем очень подробно что мы хотим получить от агента и как. Это и обычному человеку понять помогает задачу, а бездушной машине так тем более.
– обязательно должен быть контроль всех действий, желательно автоматизированный. Пусть вам и пишет код AI-агент, но зато его проверять линтеры и автоматизированные тесты на соблюдение минимальной планки качества. Есть ведь sonar и radon, есть ruff, есть mypy. Все они судят код и помогают нам писать его лучше.
– обязательно всё запускаем и проверяем лично на работоспособность. Часто может быть «недопонимание» или ошибки, так что их нужно устранять.
Эти правила, уже такая мощная основа, на которой можно построить эффективное взаимодействие с агентом для получения рабочего кода.
Но как получить «красивый» код? Знаете, в чём тут сложность? В том, что не понятно в принципе что такое «красивый» код. Формализовать его очень трудно:
– это соблюдение принципов дядя Боба или всё же нет?
– может это проектирование кода по луковичной архитектуре или она слишком усложненная для моего проекта?
Проблема тут в том, что «правильные» инженерные решения и интуиция приходит только с опытом. А когда ты этот опыт не выстрадал, когда не ощутил на своей шкуре цену ошибки, набирая пальчиками 10 тысяч строк кода, тогда и в памяти его не останется.
Посмотрим, что будет дальше…
Post #112
2.33K
- 👍 18
- 🤔 11
- 😱 1