Добавить в корзинуПозвонить
Найти в Дзене
NEURO-AI

Cursor: мы тратим недели на настройку агента под каждую новую модель - и это работает

Cursor называет свой агентный слой harness - это набор инструкций, инструментов и правил управления контекстом, которые оборачивают языковую модель и превращают её в рабочий агент. Harness определяет, как модель получает задачу, какие инструменты может вызывать, сколько информации видит одновременно и как реагирует на ошибки. Разные модели реагируют на одни и те же инструкции по-разному. Модель, обученная на большом количестве shell-команд, предпочтёт поиск через grep, а другая ожидает явного указания запускать линтер после правок. Один универсальный harness для всех не работает - каждая модель требует отдельной настройки. Когда Cursor получает ранний доступ к новой модели, команда запускает цикл итераций: смотрит, где модель ошибается в задачах, собирает обратную связь от разработчиков внутри компании, правит harness и снова тестирует. Цель - довести комбинацию «модель + harness» до уровня, при котором она готова к публичному выпуску. Cursor ведёт два вида оценки качества. Задачи в Cu
Оглавление

Что такое «harness»

Cursor называет свой агентный слой harness - это набор инструкций, инструментов и правил управления контекстом, которые оборачивают языковую модель и превращают её в рабочий агент. Harness определяет, как модель получает задачу, какие инструменты может вызывать, сколько информации видит одновременно и как реагирует на ошибки.

Разные модели реагируют на одни и те же инструкции по-разному. Модель, обученная на большом количестве shell-команд, предпочтёт поиск через grep, а другая ожидает явного указания запускать линтер после правок. Один универсальный harness для всех не работает - каждая модель требует отдельной настройки.

Недели на одну модель

Когда Cursor получает ранний доступ к новой модели, команда запускает цикл итераций: смотрит, где модель ошибается в задачах, собирает обратную связь от разработчиков внутри компании, правит harness и снова тестирует. Цель - довести комбинацию «модель + harness» до уровня, при котором она готова к публичному выпуску.

Cursor ведёт два вида оценки качества.

  1. Первый - публичные бенчмарки, включая SWE-bench, для быстрого сравнения с другими системами.
  2. Второй - внутренний набор задач CursorBench, который собран из реальных сессий команды разработчиков.

Задачи в CursorBench предполагают медиану в 181 строку изменений против 7–10 строк в SWE-bench. Это принципиально другой масштаб: не учебные задачи, а реальная работа с кодом.

Динамический контекст вместо фиксированного

Раньше в контекст агента всегда попадал стандартный набор данных: операционная система, статус git, текущие и недавно открытые файлы. Cursor постепенно отказывается от этой схемы. Статический контекст сокращается, а агент сам запрашивает нужные данные по ходу работы - через поиск, чтение файлов, вызов инструментов.

Это стало возможным по мере того, как модели научились лучше управлять длинным контекстом. Меньше шума в начале сессии - точнее фокус на задаче.

«Context anxiety»

Один из самых показательных эпизодов в посте - описание поведения, которое команда назвала context anxiety. У одной из протестированных моделей по мере заполнения контекстного окна начинала проявляться странная реакция: модель переставала выполнять задачи, ссылаясь на то, что они «слишком большие» или «слишком сложные».

Cursor решил это через корректировку промпта, без вмешательства в саму модель. Какая именно модель вела себя так - команда не называет.

Этот пример показывает суть работы над harness: часть проблем выглядит как ограничения модели, но решается на уровне инструкций. Граница между «модель плохая» и «harness неправильно настроен» размыта - и Cursor разбирается с этим систематически.

Harness как конкурентное преимущество

Cursor прямо говорит: пользователи платят не только за доступ к моделям, которые в принципе доступны через API напрямую. Они платят за то, как эти модели настроены, обёрнуты и доведены до конкретных сценариев работы с кодом.

Этот аргумент становится важнее по мере того, как сами модели выравниваются. Когда GPT-4o, Claude и Gemini показывают близкие результаты в общих тестах, разница переходит именно в harness. Cursor строит своё позиционирование вокруг этого - и публикация выглядит как осознанное объяснение, за что платит пользователь.