Почему чат — не всегда лучший интерфейс для работы с ИИ
Автор GitHub Blog анализирует ограничения чата как основного UI для ИИ и демонстрирует, как Canvas позволяет создавать кастомные интерфейсы, автоматизировать рабочие процессы и снижать расход токенов.
Чат-интерфейс стал стандартом взаимодействия с LLM, но он ограничивает потенциал ИИ в решении конкретных задач. GitHub предлагает альтернативу в виде Canvas — полнофункциональных приложений внутри Copilot.
Главные тезисы
- Чат — универсальный, но не всегда оптимальный интерфейс для ИИ
- Canvas — полнофункциональные приложения внутри GitHub Copilot
- Canvas позволяет выполнять код локально и вызывать API
- Использование инструментов вместо агента экономит токены
- Автоматизация процессов снижает необходимость постоянного контроля
Ограничения чата
Чат стал основным способом взаимодействия с большими языковыми моделями, поскольку это первое решение, которое нашло отклик у пользователей. Он работает как универсальный инструмент, когда цели использования ИИ еще не определены. Однако для конкретного пользователя, знающего свою задачу, чат часто оказывается неэффективным интерфейсом.
Академик Стивен Пинкер отмечал, что первая крупномасштабная реализация ИИ стала своего рода gimmick — чатботом от первого лица. Тем не менее, у ИИ огромный потенциал в ориентированных на задачу сценариях. Когда единственным инструментом является текстовое поле, пользователю сложно понять, как решать реальные проблемы, не прибегая к постоянному взаимодействию с агентом.
Canvas как решение
Вместо чата требуется настраиваемый интерфейс, который можно создать «из воздуха» для работы с ИИ в нужный момент. В приложении GitHub Copilot эта функция называется Canvas.
Canvas — это полнофункциональное full-stack приложение, работающее внутри GitHub Copilot без браузерных элементов управления. Агент может общаться с серверной частью этого приложения, а сервер — отправлять данные обратно. Это создает поверхность, способную выполнять любые функции обычной компьютерной программы, плюс двустороннюю связь с агентом GitHub Copilot.
Практическое применение
Создание Canvas происходит через запрос к агенту. Например, можно попросить создать Canvas для игры Connect 4, чтобы продемонстрировать взаимодействие пользователя с интерфейсом и управление им агентом. GitHub Copilot понимает концепцию Canvas без дополнительных объяснений.
Поскольку Canvas — это полноценные приложения, они могут:
- Вызывать сторонние API;
- Выполнять код локально на машине пользователя.
Примером служит интерфейс для Winget, позволяющий просматривать пакеты в реестре и управлять локальными пакетами, включая установку и удаление. В этом случае ИИ не участвует в процессе, что подчеркивает главную мысль: когда чат является основным интерфейсом, он побуждает использовать агента для всего, что часто ведет к пустой трате токенов.
Автоматизация рабочих процессов
Более эффективный подход — позволить агенту создать инструмент, где все будущие взаимодействия бесплатны, вместо того чтобы использовать самого агента как инструмент. Например, вместо запросов к агенту по работе с базой данных SQLite лучше создать Canvas с IntelliSense для самостоятельной работы с SQL.
Для автоматизации процессов разработки можно использовать Canvas для удаления пользователя из цикла взаимодействия там, где это возможно. Типичный процесс работы с агентами включает этапы: исследование, прототипирование, планирование, реализация, итерация и финализация. На большинстве из этих этапов агент может работать автономно, уведомляя пользователя только о готовности к проверке.
Использование Canvas позволяет автоматизировать рабочие процессы, сокращая необходимость постоянного присутствия пользователя. Некоторые простые Canvas можно создать за один запрос, в то время как сложные сценарии автоматизации требуют больше времени на настройку дизайна и логики.
Ограниченность чат-интерфейса мешает поиску решений реальных задач. Рекомендуется попробовать использовать Canvas, чтобы выйти за рамки текстового поля и эффективнее использовать возможности ИИ.