Перейти к содержанию

AI Agent

ИИ-агент внутри QGIS 4: изучает проект и обрабатывает данные по запросу на естественном языке. Работает циклом — смотрит на проект, вызывает инструменты, видит результаты, решает следующий шаг. Изменения применяются только после вашего подтверждения.

Что умеет

Двенадцать доменов, 65 инструментов:

Домен Примеры запросов
inspect «какие у меня слои?», «что я выделил?», «покажи карту»
project «загрузи файл», «добавь подложку OSM», «загрузи таблицу из PostGIS»
style «сделай реки синими», «раскрась по населению», «подпиши названиями»
processing «построй буфер 500 м», «обрежь по границе района», «посчитай NDVI»
osm «скачай кафе в Твери», «дороги кроме грунтовых из OSM»
edit «исправь опечатку в названии», «удали выделенные объекты»
fields «добавь виртуальное поле с площадью в гектарах», «переименуй nm в name»
layout «собери лист А4 с легендой и экспортируй в PDF»
python запасной ход: сниппет PyQGIS, который вы сначала читаете и одобряете
web «найди EPSG-код», «прочитай эту документацию», «найди координаты места»
annotations «отметь это место», «добавь заметку на карту», «удали эту аннотацию»
three_d «открой 3D-вид этого проекта»

На модели со зрением агент видит карту: рендерит канвас или печатный макет в изображение и оценивает цвета, подписи и композицию глазами. А после нажатия «Применить» он проверяет сам себя — перечитывает проект, сравнивает результат с вашим запросом и ставит исправления, если что-то не так.

Модель безопасности

Агент никогда не меняет проект без присмотра:

  • Локальные читающие инструменты (список слоёв, описание полей, запросы к данным) выполняются сразу — они ничего не могут изменить. При этом их результаты могут отправляться выбранной модели как часть агентного цикла.
  • Сетевые читающие инструменты ждут отдельного подтверждения каждого вызова в карточке плана. Батч только из веб-вызовов не меняет проект QGIS и не создаёт его снимок.
  • Пишущие инструменты (оформление, обработка, загрузка данных) копятся в карточку плана. Ничего не выполняется, пока вы не нажмёте Применить; Отменить сбрасывает весь батч.

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

Что нужно

  • QGIS 4.0 или новее.
  • Аккаунт и ключ API у провайдера языковых моделей — любой OpenAI-совместимый эндпоинт или Anthropic. Локальным серверам (Ollama, LM Studio) ключ не нужен вовсе.
  • Отправка запроса передаёт настроенному эндпоинту ваш текст, недавнюю переписку, заметки проекта и базовые метаданные. Передача чувствительных GIS-данных и результатов инструментов — значений атрибутов, точных экстентов карты и слоёв, фильтров и источников слоёв, категорий стилей, результатов Processing и Python, а также изображений карты и макета — включается отдельно и по умолчанию выключена. Локальные серверы всё равно могут хранить или пересылать данные. Перед работой с чувствительным проектом прочитайте раздел «Данные и конфиденциальность».
  • Каждый необязательный веб-вызов подтверждается отдельно. Поисковая фраза уходит в DuckDuckGo или, при fallback, в Wikipedia; геокодирование — в выбранный в настройках демо-сервис Photon или свой Nominatim; чтение страницы обращается к одобренному публичному HTTPS-хосту. Публичный сервер Nominatim от OSMF намеренно не предлагается. По умолчанию геокодирование выключено; Photon разрешает разумную демо-нагрузку, но может ограничивать запросы и не гарантирует доступность. Приватные адреса и URL с учётными данными отклоняются. Полученный веб-контент считается недоверенными данными, может быть отправлен выбранной модели и не кэшируется на диске. Этот поток контролируется подтверждением каждого веб-вызова, а не флажком чувствительных GIS-данных.
  • API-ключи хранятся зашифрованными в базе учётных данных QGIS, а не в проекте и не в файле настроек. Внешних Python-зависимостей у плагина нет вовсе: поставили архив — работает.

Готовы попробовать? Начните с установки, затем посмотрите примеры запросов.

Интерфейс

Доступен на английском и русском, следует за языком интерфейса QGIS. Сам агент отвечает на том языке, на котором вы к нему обращаетесь.