Claude Code, opencode, Aider, Cline: чем harness отличаются друг от друга

Все они читают проект и правят код. Различия — в том, сколько спрашивают, сколько тратят и куда встроены.

3 мин · · Обновлено · harness · сравнение · инструменты

Агентных инструментов для разработки стало много, и описания у них похожи: «читает проект, правит код, запускает тесты». Различия при этом существенные, просто видны они не в описании, а через неделю работы.

Где живёт инструмент

Первое и самое практичное деление — терминал или редактор.

В терминале работают Claude Code, opencode, Aider, Goose. Это отдельная программа рядом с вашим редактором. Плюс — она не зависит от того, чем вы пишете код, и одинаково работает на сервере по ssh. Минус — правки вы видите диффом в терминале, а не в привычном интерфейсе.

В редакторе живут Cline, Roo Code, Continue и встроенные ассистенты JetBrains. Изменения появляются прямо в файлах, их видно подсветкой, откатить можно привычным способом. Минус — вы привязаны к конкретному редактору.

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

Сколько он спрашивает

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

Оба поведения разумны в своих условиях. На чужом коде или в продакшне подтверждение каждого шага спасает. На своём проекте с git оно превращается в утомительное кликанье — откатить всегда можно коммитом.

Большинство инструментов позволяет настроить степень автономности. Стоит потратить десять минут на настройку в первый день: режим по умолчанию редко совпадает с тем, что нужно именно вам.

Сколько он тратит

Здесь различия кратные, и о них редко пишут.

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

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

Какие модели поддерживает

Почти все перечисленные работают с любым совместимым API — это и есть главное их достоинство по сравнению с закрытыми ассистентами. Настройка сводится к адресу и ключу:

bash
ANTHROPIC_BASE_URL=https://api.zukko.pro
ANTHROPIC_AUTH_TOKEN=fetch_ваш_ключ

Для OpenAI-совместимых — адрес с суффиксом /v1. Исключение — opencode: он работает через AI SDK, который добавляет только /messages, поэтому ему и для провайдера anthropic нужен адрес https://api.zukko.pro/v1. Ключ Zukko работает в обоих форматах, так что менять инструмент можно без смены поставщика, а модель — без смены инструмента.

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

Что выбрать

Если вы много работаете в терминале и на серверах — терминальный агент. Если вся работа в редакторе и вам важно видеть изменения глазами — расширение.

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

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.