Главная / Статьи / Промпты, агенты и следующая ступень лестницы абстракций

Промпты, агенты и следующая ступень лестницы абстракций

Машинный код уступил место языкам высокого уровня, а ИИ добавляет слой намерений. Разбираемся, как промпты и агенты меняют работу инженеров и какие навыки по-прежнему важны.

1096 слов

Раз в несколько десятилетий программирование поднимается на ступень выше. Сначала был голый машинный код: двоичные инструкции, которые процессор выполняет напрямую. Ассемблер сделал эти инструкции читаемыми. Потом C++, Java, Python и JavaScript позволили описывать логику, вообще не думая о железе. ИИ похож на следующую ступень, и ей полезно дать имя: слой намерений. Здесь вы говорите обычным языком, чего хотите, а система превращает это в код, связывает вокруг него все части и всё чаще берёт на себя и сопутствующую работу. Задача разработчика смещается от набора кода к формулированию намерения.

Лестница абстракций на примере одного требования

Возьмём простую задачу: прочитать заказы клиентов и сложить их сумму. На самом нижнем уровне это значит жонглировать регистрами, адресами памяти и инструкциями процессора. В языке высокого уровня всё сжимается до одной строки:

total = sum(order.amount for order in orders)

В этой строке ничего не сказано о том, как выделяется память или как процессор выполняет сложение. Всё это берут на себя язык и его среда выполнения. В этом и смысл абстракции: вы описываете, что хотите получить, и пропускаете большую часть того, как. ИИ продвигает ту же идею ещё на шаг.

Описывать результат, а не код

Представьте, что вы просите агента для программирования сделать дашборд заказов клиентов: хранение в PostgreSQL, бэкенд на Python, аутентификация пользователей, REST-эндпоинты, тесты и документация. Настоящие знания программирования вам, возможно, всё ещё понадобятся. Но вы больше не создаёте вручную каждый файл, класс, эндпоинт, запрос и тест. Вы описываете результат, а ИИ предлагает реализацию.

Это действительно другой способ работы. Вы оперируете намерениями, ограничениями, архитектурой и результатами. Поэтому промптинг и важен, и поэтому он больше, чем болтовня с ботом. Хороший промпт ясно передаёт требования, даёт контекст, задаёт ограничения, определяет ожидаемый результат, учитывает граничные случаи и проверяет итог. Заметьте, насколько это похоже на разработку ПО.

Агенты идут дальше

Промпты — только начало. Более серьёзный сдвиг приносит агентный ИИ. В традиционной программе вы прописываете каждый шаг:

Get customer data
→ Validate data
→ Calculate risk
→ Store result
→ Send notification

Всё задано явно. Агент же может получить цель вроде такой: просмотреть эти заявки клиентов, отметить те, что требуют дополнительной проверки, обновить CRM и уведомить нужную команду. Он сам выбирает последовательность действий, пользуется подключёнными инструментами, изучает данные, принимает решения в заданных рамках и выдаёт результат.

Поэтому меняются и вопросы, которые задаёт себе инженер. Раньше это было «как закодировать каждый шаг». Теперь — чего агент должен добиться, какими инструментами он может пользоваться, какие правила его ограничивают и как вы убедитесь, что он повёл себя правильно. Это гораздо более высокий уровень абстракции.

Снова по лестнице, теперь с функцией счетов

Возьмём что-то крупнее — модуль счетов. На самом нижнем уровне вы думаете почти на уровне железа, где важны память, регистры и инструкции. В языке высокого уровня вы пишете:

def calculate_invoice(items):
    return sum(item.price * item.quantity for item in items)

Язык прячет всю механику. На уровне намерений вы скажете примерно так: собери модуль счетов, который считает налоги, применяет клиентские скидки, проверяет остатки на складе, сохраняет счёт, формирует PDF и открывает API, по существующим стандартам команды и с автотестами. Значительную часть реализации ИИ может сделать сам. Ваша работа поднимается на уровень выше: от написания отдельных инструкций к описанию того, как должна вести себя система.

Программирование от этого не исчезает. Скорее наоборот. Вам всё так же нужно разбираться в архитектуре, базах данных, API, безопасности, тестировании, производительности, отладке и в самом бизнесе. Меняется другое: больше деталей реализации можно поручить другим.

Это правда новый уровень программирования?

Тут стоит быть осторожным. Формально промптинг не новый языковой уровень вроде машинного кода или языков высокого уровня. Промпт не заменяет компилятор, язык или архитектуру. Но концептуально происходит что-то настоящее. Языки абстрагируют железо, фреймворки абстрагируют сложность программирования, модели могут абстрагировать части реализации, а агенты — целые цепочки действий.

Эту прогрессию можно представить так: машинные инструкции, затем ассемблер, затем языки высокого уровня, затем разработка с помощью ИИ, затем агентные системы. Чем дальше, тем больше вы выражаете намерение, а не реализацию. В этом и настоящий смысл перемен.

Набор инструментов становится больше

Всё это не значит, что пора бросать изучать Python, Java или JavaScript. Основы остаются ценными, а может, станут ещё важнее: кто-то же должен проверять и подтверждать то, что выдаёт ИИ. Но одного традиционного программирования может оказаться мало. Инженерам будущего, скорее всего, понадобится разбираться в таких вещах:

  • Основы программирования
  • Промпт-инжиниринг и контекст-инжиниринг
  • Что модели ИИ умеют и чего не умеют
  • Вызов инструментов и API
  • RAG и системы знаний
  • Агентные воркфлоу
  • Оценка и тестирование результатов ИИ
  • Безопасность и управление
  • Системы с человеком в контуре

Преимущество получат те, кто сочетает разработку ПО, понимание того, как рассуждает ИИ, и знание бизнеса.

Больше инженерии, меньше набора текста

Не стоит понимать это как «меньше программирования». Ждите больше инженерии и меньше набора кода. Тот, кто раньше часами писал шаблонный код, потратит это время на формулирование требований, проектирование архитектуры, задание ограничений, оценку решений от ИИ и улучшение поведения системы.

Меняется и вопрос на собеседовании. Вместо «умеете ли вы написать вот этот кусок кода» он звучит как «умеете ли вы добиться, чтобы ИИ-система надёжно построила и поддерживала решение». Это совсем другой навык.

Десятилетиями мы старались сделать языки программирования удобнее для людей. ИИ, возможно, следующий шаг, который приближает разработку ПО к простому изложению того, чего вы хотите. Инженеров завтрашнего дня, может быть, будут оценивать не столько по объёму написанного кода, сколько по тому, насколько хорошо они планируют, формулируют задачи, координируют и проверяют работу умных систем. Код никуда не делся. Просто вы, возможно, работаете уровнем выше него.