ИИ-помощник в ZennoDroid
Содержание
- Что такое ИИ-помощник в ZennoDroid?
- Два режима работы: Assistant и Agent
- Лимиты ходов и протокол продолжения
- Контекст, память и история чатов
- Подключение и выбор модели
- Известные ограничения
- Советы по формулировке задач
- Частые ошибки и FAQ
- Подключение внешних AI-ассистентов (опционально)
- Развитие ИИ-помощника
1. Что такое ИИ-помощник в ZennoDroid?
ИИ-помощник – это встроенный в ProjectMaker чат-интерфейс, который позволяет:
- описать задачу словами → агент сам добавит кубики в проект;
- задавать вопросы о ZennoDroid, Android-автоматизации, C#;
- отлаживать и исправлять уже собранные проекты;
- читать состояние подключённого ус тройства – экран, скриншот, список установленных приложений.
Под капотом помощник использует языковую модель (LLM) через Semantic Kernel (Microsoft) и два MCP-сервера:
| Сервер | Адрес | Что умеет |
|---|---|---|
| Project MCP | http://localhost:6117 | Читать структуру проекта, добавлять/редактировать кубики, управлять списками, таблицами и переменными |
| Android MCP | http://localhost:6118 | Читать состояние подключённого Android-устройства |
MCP-серверы запускаются автоматически вместе с ProjectMaker. Адреса портов нужны только если вы подключаете внешний AI-ассистент (см. раздел 9) – для встроенного чата ничего настраивать не нужно, кроме API-ключа модели.
Главное отличие от ИИ-помощника в ZennoPoster
В ZennoPoster второй MCP-сервер управляет браузером: он умеет кликать, вводить текст, переходить по ссылкам – и эти действия записываются в кубики.
В ZennoDroid Android MCP умеет только смотреть. Он не нажимает, не вводит текст и не свайпает. Все действия на устройстве – это кубики проекта: агент добавляет их через Project MCP, а выполняются они при запуске проекта (F5).
Из этого следуют два практических вывода:
- Режима записи (recording) в ZennoDroid нет. Агент не «повторяет ваши действия» – он собирает цепочку кубиков.
- Элемента может не быть на экране прямо сейчас – это нормально. Кубик строится по названию/тексту/атрибуту элемента и срабатывает во время выполнения.
2. Два режима работы: Assistant и Agent
В интерфейсе ProjectMaker доступны два режима. Это принципиально разные вещи.
2.1 Assistant (Ассистент) – только чтение
Assistant работает в режиме read-only: он видит ваш проект и подключённое устройство и может всё про них рассказать, но ничего не меняет. Это безопасный режим для боевых сценариев – случайно сломать проект нельзя.
| Параметр | Значение |
|---|---|
| Доступ к проекту | ✅ Только чтение (структура, кубики, параметры) |
| Изменение проекта | ❌ Нет |
| Чтение устройства | ✅ Да |
| Действия на устройстве | ❌ Нет |
| Что умеет | Отвечать на вопросы, объяснять, анализировать, советовать |
Что умеет Assistant:
- Читать структуру проекта и объяснять, что делает выбранный кубик
- Разбирать ошибки последнего запуска и подсказывать причину
- Рассказывать о доступных действиях ZennoDroid и их параметрах
- Читать структуру экрана и подсказать рабочий селектор
- Помогать с C#-кодом для кубиков
OwnCode
Не ждите от Assistant:
- Что он добавит, изменит или удалит кубики в проекте
- Что он что-то сделает на самом устройстве
- Что он самостоятельно построит автоматизацию
2.2 Agent (Агент) – полный доступ
Agent имеет полный доступ на чтение и запись проекта. Он может самостоятельно:
- добавлять, изменять, перемещать и удалять кубики;
- выстраивать связи между кубиками (по успеху/ошибке), создавать и переименовывать группы;
- создавать и заполнять таблицы, списки, переменные;
- читать состояние устройства – чтобы подобрать точные селекторы и имена пакетов;
- запускать отдельные кубики и читать логи (только по вашей явной просьбе «запусти» / «выполни»);
- писать код для кубиков
OwnCode|CSharp.
| Параметр | Значение |
|---|---|
| Инструменты (MCP) | ✅ Есть |
| Доступ к проекту | ✅ Читает и изменяет структуру |
| Чтение устройства | ✅ Да |
| Действия на устройстве | Только через кубики проекта, выполняются при запуске |
| Что умеет | Автономно строить/редактировать проекты |
Используйте Agent, когда:
- Хотите, чтобы ИИ построил автоматизацию с нуля
- Нужно добавить новые шаги к существующему проекту
- Хотите отладить/исправить проект
Помните:
- Агент работает поэтапно – каждый вызов инструмента это один «ход»
- На один запрос есть лимит ходов (см. раздел 3)
- После завершения работы агента проверьте результат – иногда нужна корректировка
В ProjectMaker нет отмены (Ctrl+Z) для действий агента. Перед сложной задачей сохраните копию проекта. Если агент сделал не то – попросите его удалить добавленные кубики по названию/id или удалите вручную.
Перед удалением кубиков, списков, таблиц, переменных или устройства агент перечислит, что именно будет удалено, и запросит подтверждение – удаление начнётся только после вашего явного «да».
3. Лимиты ходов и протокол продолжения
Что такое «ход»
Каждый вызов инструмента агентом (прочитать структуру проекта, добавить кубик, про читать экран) – это один ход. Агент не может делать бесконечное количество ходов за один запрос.
Лимиты
| Ситуация | Поведение |
|---|---|
| Задача выполнена за лимит | Агент завершает и отчитывается |
| Задача не выполнена, лимит близко | Агент останавливается на логическом рубеже и просит продолжить |
| Две подряд ошибки или два вызова без прогресса | Агент останавливается и спрашивает, что делать |
Как продолжать работу
Когда агент сообщает, что остановился – напишите:
продолжай
Агент сам прочитает текущее состояние проекта, поймёт, что уже сделано, и продолжит с того места, где остановился.
⚠ Не нужно повторять всё задание заново – агент восстанавливает контекст сам.
Если вы написали «продолжай» в новом чате, где до этого ничего не было, агент не станет ничего угадывать – он скажет, что продолжать нечего. В этом случае дайте контекст заново.
4. Контекст, память и история чатов
Как работает память
ИИ-модель не имеет долговременной памяти. Она работает с «окном контекста» – определённым количеством токенов, которые помещаются в один запрос к модели.
| Аспект | Реальность |
|---|---|
| Сохраняются ли чаты | ✅ Да – история диалогов пишется на диск, к ней можно вернуться |
| Помнит ли модель начало длинного диалога | ⚠ Частично – ранние сообщения могут «выпасть» из окна |
| Помнит ли структуру проекта | ✅ Да – читает её заново каждый раз |
| Помнит ли состояние устройства | ✅ Да – читает его заново каждый раз |
История диалогов
В панели чата есть список сохранённых диалогов: кнопка «Новый чат», поиск по диалогам, удаление диалога. По умолчанию хранятся последние 100 диалогов.
Обратите внимание: сохранённая история – это запись переписки, доступная вам. Модель при продолжении диалога получает не всю её целиком, а окно контекста – в длинных диалогах ранние сообщения из него выпадают.