Skip to main content

Улучшение качества агентов для оптимизации использования ИИ

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

Introduction

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

В этой статье изложены пять стратегий повышения качества и AI credits эффективности агентов:

1. Выберите правильную модель для правильной задачи

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

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

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

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

Для разбивки по моделям и типам задачи см. Сравнение моделей ИИ с помощью различных задач.

2. Дайте чёткие рекомендации в своих подсказках

Ваш запрос задаёт направление для всего, что делает агент. Когда подсказка расплывчата, агент должен сделать выводы о намерениях, исследовать больше контекста и принимать решения. Это часто приводит к повторным попыткам, смещению объёма и ненужному использованию токенов.

Хорошо структурированные задания обладают тремя качествами:

  • Чёткое определение задачи. Вместо того чтобы «решить проблему», объясните, в чём проблема, где она возникает и каков ожидаемый исход.
  • Соответствующий контекст предоставлен заранее. Если вы уже знаете, какие файлы, сервисы, логи, ошибки или входные данные имеют значение, включите их. Это помогает агенту избежать ненужного исследования.
  • Явное условие остановки. Скажите агенту, как выглядит «готово». Без точки остановки агенты могут продолжать работу за пределами цели, добавляя дополнительные коммиты, рефакторируя несвязанный код или расширяя область действия.

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

Для лучших практик по инженерии в подсказках см. Инженерия подсказок для GitHub Copilot Chat.

3. Исследовать, планировать, а затем внедрять

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

Разбейте работу на чёткие этапы:

  • Исследования: Используйте агент для изучения кодовой базы, выявления релевантных файлов и понимания зависимостей.
  • План: Создайте подробный, структурированный план или спецификацию перед внесением изменений. Именно здесь модели рассуждений наиболее ценны.
  • Реализация: Реализуйте в соответствии с планом, используя сфокусированный контекст и модель, подходящую для реализации.

Начало новой сессии между фазами предотвращает перенос ненужного контекста вперёд. Одна сессия, завершённая в разумном масштабе, использует кэширование. Перенос контекста с предыдущих этапов может увеличить использование токенов, создать предвзятость и снизить ясность для агента. Каждая фаза должна работать только с необходимостью. Для получения рекомендаций по эффективному определению обхвата сессий см. AUTOTITLE.

4. Добавить детерминированные ограждение

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

Детерминированные органы управления вводят чёткие сигналы прохода/отказа:

  • Юнит-тесты подтверждают, что изменения агента привели к ожидаемому поведению.
  • Линтеры обеспечивают структуру и последовательность, предотвращая проблемы с форматированием, смещение стиля и избежаемую очистку.
  • Сканирование безопасности выявляет рискованные закономерности на ранних этапах, до того, как их становится сложнее распустить.

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

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

5. Сохраняйте лаконичность copilot-instructions.md

Постоянные инструкции улучшают согласованность между взаимодействиями агентов, но их ценность полностью зависит от того, как они написаны. Файл copilot-instructions.md на уровне репозитория — самый прямой способ закодировать это руководство. Индивидуальные и организационные инструкции могут наложиться поверх более широкой согласованности.

Лучшие инструкции короткие, конкретные и основанные на реальном наблюдаемом поведении агента — а не на стандартных лучших практиках, которые звучат хорошо, но не применимы к вашей системе.

Что включить:

  • Необходимые фреймворки, библиотеки или шаблоны проектирования
  • Известные подводные камни, которые агент склонен повторять
  • Ожидания вывода, такие как «быть лаконичным» или «только возвращать код»
  • Командные конвенции, которым должен следовать агент
  • Команды сборки, тестирования и волона

Чего следует избегать:

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

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

Дополнительные сведения см. в разделе Добавление пользовательских инструкций репозитория для GitHub Copilot.