AIгентский дашборд
SQL дело важное и нужное, но есть еще и инструмент, занявший место в моем сердечке — Power BI. Мне нравится самой готовить массив в query, писать меры на DAX (конечно, с помощью ИИ), строить визуалы. Но у меня же есть теперь агент, а что если?)
Подключаю по API агента к Power BI. Вроде и работает, но слишком много ручного труда. Приходилось вручную воспроизводить действия, чтобы поймать ошибку, а каждая правка — это новый цикл: агент генерит, упаковывает, я снова открываю файл. Агент не видел, какая версия модели открыта у меня, не мог проверить отрисовку визуала.
Не может же быть так костыльно? Верно, не может. У Microsoft есть официальный MCP-сервер. Мост дал агенту возможность работать с моделью напрямую, проверять ошибки самостоятельно и править, не дожидаясь описания ошибки от меня.
Что ломалось. Мост живёт на ноуте, и при подключении он выдаёт «пропуск» — номер сессии. Когда мост перезапускался или пропуск истекал, программа продолжала стучаться со старым пропуском. Мост отвечал «сессии не найдено», а клиент не догадывался попросить новый. Связь просто умирала, и всё вставало до ручного перезапуска.
В качестве решения поставили маленького посредника — локальный служебный скрипт pbi_mcp_stdio.py. Для программы он выглядит как обычный локальный инструмент, а на самом деле держит настоящее соединение с мостом. Если в ответ приходит «сессии не найдено», он молча здоровается заново, получает свежий пропуск и повторяет тот же запрос. Плюс сам скрипт проверок pbi_mcp.py, тоже локальный, каждый запуск делает рукопожатие заново — то есть не зависит от того, что было раньше.
Как итог: перезапуск моста больше не обрывает работу. Максимум, что происходит, — один незаметный повтор.
Чего агент не может сделать на все сто, — это визуал. Но и тут нам удалось договориться: расположил блоки «плечом к плечу», проследил, чтобы шрифт не вылезал за блоки. Получилось очень даже красиво.