Агентный режим
В GigaCode два режима работы: Ask и Agent.
Agent-режим предназначен для выполнения сложных задач разработки с возможностью автоматического изменения файлов проекта. В этом режиме GigaCode способен выполнять многошаговые действия и помогать в автоматизации разработки.
Возможности:
- создание новых файлов и модулей;
- изменение существующего кода;
- генерация компонентов и сервисов;
- рефакторинг проекта;
- добавление unit- и integration-тестов;
- генерация документации;
- массовое обновление кода;
- миграция между версиями библиотек и фреймворков;
- автоматизация типовых задач.
Цикл выполнения задачи
Стандартный цикл выполнения задачи состоит из нескольких этапов:
- Понимание задачи — анализ запроса пользователя и определение конечной цели.
- Исследование контекста — изучение файлов проекта, зависимостей и связанных компонентов.
- Планирование — построение последовательности действий для решения задачи.
- Выполнение — изменение файлов, запуск команд, использование инструментов и интеграций.
- Самопроверка — анализ результатов выполненной работы.
- Формирование ответа — предоставление пользователю итогов выполнения задачи.
В отличие от традиционных AI-ассистентов, GigaCode может многократно повторять отдельные этапы цикла. Например, после выполнения изменений агент способен обнаружить ошибку во время проверки, скорректировать реализацию и повторно выполнить проверку до получения ожидаемого результата.
Выполнение
После формирования плана GigaCode ожидает подтверждения пользователя перед переходом к изменению проекта.
Автоматическое и ручное изменение. Агент может автоматически принимать изменения файлов. Под полем ввода есть кнопка, разрешающая/запрещающая автоматическое внесение изменений без запроса разрешения.
Самопроверка
После внесения изменений агент не ограничивается генерацией кода или выполнением команды. Вместо этого он пытается убедиться, что результат соответствует поставленной задаче и не содержит очевидных ошибок.
Что проверяет GigaCode
В зависимости от типа задачи агент может выполнять различные проверки:
- анализировать измененные файлы;
- проверять соответствие реализации исходному запросу;
- запускать тесты;
- выполнять сборку проекта;
- проверять результаты выполнения команд;
- анализировать сообщения об ошибках;
- выявлять потенциальные проблемы в измененном коде.