Агентный режим

В GigaCode два режима работы: Ask и Agent.

Agent-режим предназначен для выполнения сложных задач разработки с возможностью автоматического изменения файлов проекта. В этом режиме GigaCode способен выполнять многошаговые действия и помогать в автоматизации разработки.

Возможности:

  • создание новых файлов и модулей;
  • изменение существующего кода;
  • генерация компонентов и сервисов;
  • рефакторинг проекта;
  • добавление unit- и integration-тестов;
  • генерация документации;
  • массовое обновление кода;
  • миграция между версиями библиотек и фреймворков;
  • автоматизация типовых задач.

Цикл выполнения задачи

Стандартный цикл выполнения задачи состоит из нескольких этапов:

  1. Понимание задачи — анализ запроса пользователя и определение конечной цели.
  2. Исследование контекста — изучение файлов проекта, зависимостей и связанных компонентов.
  3. Планирование — построение последовательности действий для решения задачи.
  4. Выполнение — изменение файлов, запуск команд, использование инструментов и интеграций.
  5. Самопроверка — анализ результатов выполненной работы.
  6. Формирование ответа — предоставление пользователю итогов выполнения задачи.

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

Выполнение

После формирования плана GigaCode ожидает подтверждения пользователя перед переходом к изменению проекта.

Автоматическое и ручное изменение. Агент может автоматически принимать изменения файлов. Под полем ввода есть кнопка, разрешающая/запрещающая автоматическое внесение изменений без запроса разрешения.

Самопроверка

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

Что проверяет GigaCode

В зависимости от типа задачи агент может выполнять различные проверки:

  • анализировать измененные файлы;
  • проверять соответствие реализации исходному запросу;
  • запускать тесты;
  • выполнять сборку проекта;
  • проверять результаты выполнения команд;
  • анализировать сообщения об ошибках;
  • выявлять потенциальные проблемы в измененном коде.