Skip to content

Что такое Jarvis ​

Jarvis — программа, которая берёт инженерную задачу (тикет в Jira или просто текст) и проводит её до готового изменения в коде. Она запускается на машине разработчика или в CI, работает с вашим репозиторием и с моделями, которые вы ей дали.

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

Зачем так ​

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

Jarvis закрывает это так:

  • У каждого шага узкая задача и свои права. Исследователь читает код, но не может его менять. Агент тестов пишет только тесты. Действия во внешних системах, например комментарий в тикете или push, делает не агент, а сам Jarvis, и ровно один раз, даже если процесс упал посередине.
  • Результат проверяется кодом, а не словами модели. Упали тесты — реализация возвращается с причинами: какой тест, что ожидали, что получили и в какой строке.
  • Правила проекта подаются явно. Стандарты, скиллы и документы команды лежат в репозитории, и Jarvis сам выбирает, что из них нужно агенту для этой задачи и этих файлов.
  • Всё записано. Каждый шаг, вызов модели, решение человека и изменение сохраняются в локальной базе. Можно посмотреть, почему строка кода появилась, и продолжить задачу после любого сбоя.

Что получается на выходе ​

  • документы задачи: исследование, требования, спецификация с критериями приёмки, план, ревью, заметки к релизу;
  • изменение кода в отдельной ветке и отдельной рабочей копии — ваш рабочий каталог не трогается, пока вы сами не перенесёте результат одним коммитом;
  • история: кто что решил, какие проверки прошли, сколько токенов ушло.

Чем Jarvis не является ​

  • Не чат с моделью и не автодополнение. Если нужно быстро спросить про код, для этого есть jarvis ask или ваша IDE.
  • Не облачный сервис. Всё работает локально: база, рабочие копии, логи лежат у вас. Наружу уходят только вызовы моделей, и политика данных проекта решает, к каким моделям можно обращаться.
  • Не замена ревью. Jarvis сам себя проверяет, но последнее слово за человеком.

Кому подходит ​

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

Дальше: быстрый старт или как проходит задача.

Apache-2.0