Введение в разработку с ИИ

Теория: Модели и coding agents

Начнем с понятий: языковая модель и агент. Языковая модель умеет принимать текст и генерировать текст. Она может объяснить код, предложить функцию или подсказать идею, но сама по себе не открывает файлы, не меняет проект и не запускает команды. Агент разработки - это система вокруг модели, которая получает доступ к рабочей среде. Агент может читать файлы проекта, искать нужные участки кода, вносить изменения, запускать тесты и выполнять команды в терминале. Пример: Claude Code и Codex, а Opus и Sonnet это модели. Copilot Cli это тоже агент и он пользуется чужими моделями, потому что своей у Github нет (пока).

Code Agent Example (CLI)

На практике важно смотреть не только на "умность" модели, но и на то, какие действия агент умеет выполнять. Для разработки ценность появляется там, где агент может последовательно пройти рабочий цикл: изучить код, найти нужные места, предложить изменение, применить его и проверить результат. И разные компании непрерывно соревнуются чей агент обладает более крутыми возможностями, каждый раз повышая планку того, что является необходимым минимумом в Agentic Development.

Хорошая новость состоит в том, что в своей базе агенты имеют похожий набор функций, например режимы планирования или исполнения. Различия происходят в нюансах и разработчики агентов непрерывно выпускают новые версии, добавляя все более тонкие и сложные схемы работы, которые помогают экономить токены или эффективнее работать с контекстом. Даже пока писался этот курс, по несколько раз обновились все популярные агенты -) Причем любая хорошая идея в одном агенте, очень быстро появляется в остальных. Поэтому несмотря на ажиотаж не имеет смысла сильно дергаться, все популярные уже достаточно хорошо работают, а нужные фичи все равно завезут.

Что из себя представляют модели

Модели удобно делить на три группы.

┌──────────────────┐   ┌──────────────────┐   ┌──────────────────┐
  │    Мощные        │   │    Быстрые       │   │    Бесплатные    │
  │                  │   │                  │   │                  │
  │  Opus, GPT-Codex │   │  Sonnet, Haiku,  │   │  Бесплатные      │
  │                  │   │  Flash           │   │  тарифы          │
  │  Архитектура,    │   │                  │   │                  │
  │  сложный дебаг,  │   │  Рутина, тесты,  │   │  Учёба,          │
  │  рефакторинг     │   │  документация,   │   │  эксперименты,   │
  │                  │   │  шаблонный код   │   │  несложные задачи│
  │       $$$        │   │       $$         │   │      free        │
  └──────────────────┘   └──────────────────┘   └──────────────────┘

Первая - сильные, но более дорогие модели для сложных задач: архитектурных изменений, трудного дебага, аккуратного рефакторинга и анализа незнакомого кода (Opus, GPT-Codex). Вторая - более быстрые и дешевые модели для рутины: правок в документации, простых тестов, шаблонного кода и черновых изменений. Третья - бесплатные или почти бесплатные варианты, которые полезны для учебы, экспериментов и несложных задач. Поэтому нормальная практика это держать несколько моделей под разные сценарии, а не искать одну идеальную на все случаи жизни. Хотя бы потому, что крутые модели стоят дорого. Но если вы за нее заплатили, то можно пользоваться одной для всего.

Для старта не обязательно сразу подключать самые дорогие модели. Во многих случаях достаточно чего-то попроще, особенно если вы учитесь ставить задачи, работать итерационно и проверять результат. Кроме того, имеет смысл обратить внимание на Kimi: это китайская модель, которая часто оказывается удобным вариантом просто потому, что доступна без ограничений и при этом недорогая (хотя по крутости не дотягивает до топовых).

Что из себя представляют агенты

Если упростить, агент состоит из трех частей: языковой модели, набора инструментов и координирующего слоя (оркестратора).

┌─────────────────┐
  │   Оркестратор   │  Решает что делать, хранит контекст,
  │                 │  возвращает результат пользователю
  └────────┬────────┘
           │
     ┌─────┴─────┐
     ▼           ▼
┌─────────┐ ┌──────────┐
│  Модель │ │Инструмен-│  Файлы, поиск, терминал,
│  (LLM)  │ │ты (tools)│  тесты, браузер, API
└─────────┘ └──────────┘

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

ACP

Разработкой агентов занимаются, в первую очередь, компании, разрабатывающие LLM (они делают cli-версии и плагины к редакторам), и создатели редакторов. Для последних важна возможность снизить стоимость интеграции с разными агентами, и здесь помогает ACP - Agent Client Protocol. Его идея в том, чтобы клиент, например редактор или другая оболочка, мог стандартным способом взаимодействовать с агентом: передавать задачу, получать промежуточные шаги, изменения и результаты выполнения. Это снижает зависимость от одного конкретного вендора: если есть общий протокол, один и тот же интерфейс может работать с разными агентами. Из наиболее известных агентов можно назвать Codex, Claude Code, Copilot Cli.

Codex App

Из-за схожих названий может возникать путаница. Например, у компании OpenAI есть консольный агент Codex, работающий на основе моделей GPT. При этом в названиях некоторых моделей или связанных продуктов тоже может встречаться слово codex. А еще они выпускают Codex IDE, это плагин к редактору. Поэтому если кто-то говорит я использую Codex, то не всегда сразу понятно, что человек имеет в виду: консольный агент, агент в редакторе или просто модель. Потому что агентом может выступать и что-то другое, например OpenCode.

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

OpenCode Website

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

Специализированные редакторы

Отдельный класс инструментов - специализированные AI-редакторы (как правило, построенные поверх VSCode). В отличие от обычного редактора с плагином, здесь агентские возможности встроены в сам интерфейс. Самый известный пример - Cursor. Из более новых и быстро развивающихся можно назвать Antigravity. У них могут отличаться детали интерфейса, модели и тарифы, но идея одна и та же: редактор изначально проектируется вокруг AI-assisted development.

Cursor

Принципиальной разницы с другими подходами тут нет. Почти все те же сценарии можно получить и в обычных редакторах через плагины или отдельные cli-агенты. Поэтому выбирать стоит по тому, насколько вам удобно работать в конкретной оболочке. Кому-то проще жить в привычном VS Code и вызывать агента из терминала. Кому-то лучше подходит редактор, где агент встроен в каждый шаг.

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

Общая картина

Все это работает примерно так. Есть компании, которые разрабатывают конкретные модели. Они дают доступ к своим моделям по подписке или по потреблению (сколько использовали, столько и заплатили). Пользоваться ими можно как в режиме обычного чата, так и через агентов, заточенных под модели этих компаний. При этом сам агент может быть cli-утилитой, плагином к редактору и т.п. К таким компаниям относятся Anthropic, Google, OpenAI и другие.

  • Anthropic
    • Claude Opus
    • Claude Sonnet
    • Claude Haiku
  • Google
    • Gemini Pro
    • Gemini Flash
    • Gemini Nano
  • OpenAI
    • GPT
    • Codex

Есть компании, которые в первую очередь предоставляют инструменты, например Copilot, OpenCode, Warp или Cursor. Иногда они тоже предлагают свои модели, но, в целом, стараются дать на выбор максимальное число моделей, доступных на рынке.

У таких инструментов есть преимущество, позволяющее использовать одну точку входа во все модели с возможностью их переключить в любой момент. Например, когда вы платите за Copilot, вам не нужно отдельно регистрироваться в каждом провайдере и платить за использование его моделей. Платить нужно будет только за Copilot. А OpenCode дает выбор, получать доступ через подписку OpenCode Zen или платить напрямую, соединяя каждый аккаунт с ним независимо.

Это кстати привело к появлению таких решений как OpenRouter предоставляющих единый интерфейс ко всем моделям.

OpenRouter

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845