После генерации кода: навыки, которые по-прежнему важны для инженеров
Когда модели пишут код, акцент смещается на спецификации, обзоры, архитектуру и практики верификации.
Используйте это как переработанную версию идей из статьи «ИИ может писать ваш код. Что же делать теперь?», ориентированную на операторов: четкие этапы, упорядоченные слоты для кода и записи о восстановлении, сохраняющиеся при передаче задания. Обзор работает лучше всего, когда рассматривается как измеримая структура. Соберите один идеальный пример выполнения, один случай сбоя и запись о возврате к предыдущему состоянию перед расширением объема работ. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия результатам работы, определите критерии успеха и не соглашайтесь на молчаливое частичное выполнение задания.
Код становится дешевым
Поскольку код становится всё дешевле, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рядом с функциональными результатами следует записывать время выполнения и стоимость токенов или запросов. Отображение затрат на раннем этапе предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды. Каждый раз, когда это позволяют бюджетные ограничения, следует добавлять тест на базовую работоспособность, который проверяет критически важный путь в системе CI с использованием фикстчеров, а не реальных платных API.
Add JWT authentication.
Create login and refresh-token APIs.
Add PostgreSQL persistence.
Write integration tests.
Run the test suite.
Fix failures.
Anthropic показывает нам, куда это ведёт
Поскольку Anthropic показывает нам направление развития, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Конфигурацию следует хранить отдельно от кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь код. Каждый раз, когда это позволяют бюджетные ограничения, следует добавлять тест на базовую работоспособность, который проверяет критически важный путь в процессе CI с использованием фикстчеров, а не реальных платных API.
Is the architecture correct?
Is authentication secure?What happens under 10,000 requests?Can this transaction fail halfway?Will this leak memory?What happens when Redis is unavailable?What happens when the database is slow?Did the AI introduce a race condition?
А затем произошло что-то гораздо более значимое
Прежде чем изменять код, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Необходимо одновременно задокументировать успешный и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработоспособных сообщений являются частью продукта, а не этапом последующей доработки. При наличии бюджета следует добавлять тесты дымового типа, которые проверяют критически важные пути выполнения в рамках CI с использованием фикстчеров, а не реальных платных API. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия результатам работы, определите критерии успеха и не допускайте молчаливого частичного завершения задачи.
Самая большая ошибка, которую могут совершить разработчики
При работе над темой «Самая большая ошибка, которую могут совершить разработчики», сначала запишите условия работы: необходимые входные данные, сигнал о успешном выполнении и что происходит при частичной неудаче. Такой список поможет сохранять честность при последующих изменениях кода. Рядом с функциональными результатами записывайте время выполнения и стоимость токенов или запросов. Отслеживание затрат с самого начала предотвращает неожиданные счета при переходе от демо-среды к общедоступным средам. Напишите краткий руководство: как обновлять ключи, как опустошать очередь задач, как откатить последнюю операцию ввода данных.
@GetMapping("/users")
public List<User> getUsers() {
return userRepository.findAll();
}
Так что же должны узнать разработчики сейчас?
При работе над вопросом «Чему же должны научиться разработчики сейчас?» сначала опишите контракт: необходимые входные данные, сигнал о успешном выполнении и что происходит при частичной неудаче. Такой список помогает сохранять честность при последующих изменениях кода. Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь код. Напишите краткое руководство: как обновлять ключи, как опустошать очередь, как откатить последнюю загрузку.
Write this.
Refactor this.
Explain this.
Test this.
Fix this.
Convert this.
Don't build it this way.
Here's why.
Here's the simpler architecture.
Here's the failure mode you missed.
Here's what we should measure in production.
Искусственный интеллект не устраняет необходимость в размышлениях
Даже при использовании ИИ не исчезает необходимость в размышлениях, поэтому сначала запишите условия работы: необходимые входные данные, сигнал о успехе и действия при частичной неудаче. Такой список поможет сохранять честность при последующих изменениях кода. Документируйте как успешный, так и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработоспособных сообщений являются частью продукта, а не элементами последующей доработки. Напишите краткое руководство: как обновлять ключи, как опустошать очередь, как откатывать последнюю загрузку данных. Даже при использовании ИИ не исчезает необходимость в размышлениях, поэтому сначала запишите условия работы: необходимые входные данные, сигнал о успехе и действия при частичной неудаче. Такой список поможет сохранять честность при последующих изменениях кода. Рассматривайте этот этап как контракт между входными данными и проверенными выходными результатами. Дайте названия всем элементам, определите критерии успеха и не допускайте безответственного частичного выполнения задач.
Prompt → Copy → Commit → Next task
Новый инженер по программному обеспечению
Новый инженер по программному обеспечению работает лучше всего, когда с ним обращаются как с измеримым объектом. Соберите один идеальный пример работы, один случай сбоя и записку о возврате к предыдущему состоянию перед расширением объема работ. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отслеживание затрат на раннем этапе предотвращает неожиданные счета при переходе от демо-версии к общедоступным средам. Фиксируйте версии зависимостей и сохраняйте хэш-сумму изображения, с использованием которого запускалась демо-версия. Воспроизводимость важнее коллективных знаний.
Если бы вы сегодня были разработчиком
Если вы разработчик, сегодня лучше всего работать, рассматривая процесс как измеримую поверхность. Соберите один идеальный пример работы, один случай сбоя и записку о возврате к предыдущему состоянию перед расширением объёма работ. Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь код. Фиксируйте версии зависимостей и записывайте хэш изображения, с которого запускалась демонстрация. Воспроизводимость важнее коллективных знаний.
Чек-лист операционной работы
При работе с чек-листом операционной работы сначала опишите контракт: необходимые входные данные, сигнал успешного завершения и последствия частичного сбоя. Этот чек-лист помогает сохранять честность при последующих изменениях кода.
Предпочитайте небольшие, тестируемые единицы кода большим скриптам. Когда какой-то шаг сбивается, причина сбоя должна указывать на конкретную ответственность, а не на запутанную цепочку операций.
Напишите краткое руководство: как обновлять ключи, как опустошать очередь, как откатывать последнюю загрузку данных.
Задокументируйте одновременно стандартный сценарий работы и сценарий восстановления. Повторные попытки, проверки человеком и обработка некорректных сообщений являются частью продукта, а не дополнительными улучшениями.
При наличии бюджета добавьте тест, который проверяет критически важный путь в процессе интеграционного тестирования с использованием фикстур, а не реальных платных API.
Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь код.
Перед переходом на новую версию стека заморозьте текущие версии, сохраните эталонный отчет для критического пути и убедитесь в наличии шагов отката. В совместных средах необходимы ограничения на скорость запросов, проверки принадлежности и четко определенный ответственный за обновление секретов. Лучше надежность, даже если она кажется скучной, чем красивые одноразовые демонстрации.
Примечание к заданию с идентификатором 34004c5d2824: не хранить ключи поставщиков в репозитории, установить лимит токенов на сессию и сохранять транскрипции рядом с фиксами для оценки, чтобы последующие замены моделей оставались сопоставимыми.