Кратко: За 10 дней собрал ИИ-агента для финансовой аналитики — анализ инвестиционного портфеля в Т-Инвестициях с помощью OpenCode + GLM-5 + 20 SKILLs. Нейросеть для инвестиций, которая разбирает структуру портфеля, собирает новости с Интерфакса и РБК, анализирует настроения инвесторов на форумах, ищет торговые идеи и строит интерактивные дашборды.
Последнее время мне стали часто попадаться материалы о Personal OS и Personal AI — энтузиасты начинают применять Claude Code не для программирования, а для автоматизации своей повседневной деятельности. Примеры таких материалов я собрал тут: Что посмотреть про ИИ: AI coding, агенты и сознание.
Я решил продолжить эксперименты со SKILLs в OpenCode с GLM-5. Но на этот раз для автоматизации инвестиций.
Зачем
Мне нужен умный собеседник для принятия решений по портфелю в Т-Инвестициях (бывшие Тинькофф Инвестиции). Что продавать, как ребалансировать инвестиционный портфель, на что обращать внимание — всё это я решал раньше на интуиции.
Идея использовать ИИ-агента появилась после эксперимента с скилами для блога: я дал агенту доступ к Яндекс.Метрике, и он начал анализировать статистику посещения. ИИ-аналитика работает, а если агент справляется с аналитикой посещаемости блога, почему бы не поручить ему финансовую аналитику инвестиционного портфеля?
До этого я уже написал MCP-сервер для T-Invest API и MCP-сервер для Московской биржи. Они работали в TasK, но мне хватало агентности — мой проект работает по схеме «вопрос-ответ» и пока не умеет вести длинные цепочки рассуждений.
В этом смысле идея пересекается с FinGPT — открытыми финансовыми моделями. Но вместо обучения своей модели я пошёл путём агентной архитектуры: OpenCode подключает к GLM-5 скилы и инструменты, а LLM сама решает, когда и как их применять. Получается ИИ для аналитики, ИИ-ассистент, который умеет собирать и интерпретировать данные.
Ещё одним источником идей стал Stonki AI — он показывает свои инструменты и инструкции. Я разобрался, какие функции нужны моему агенту, и какие подходы стоит перенять.
Подход
Идея простая: даём агенту инструменты — а он решает, когда и как их использовать. Это не торговый робот, не бот для инвестиций — а именно аналитический ассистент, который помогает принимать решения.
Инструменты бывают разные:
- MCP-серверы — стандартный протокол для подключения внешних данных
- SKILLs — текстовые инструкции, которые объясняют агенту, как работать с конкретным API или утилитой
- CLI-утилиты — консольные команды, которые агент вызывает через bash
В случае с MCP и SKILLs агент понимает назначение инструмента по полю Description. В случае CLI-утилит и API — мы описываем правила работы в AGENTS.md (или CLAUDE.md, GEMINI.md — зависит от агента).
Получается: агент получает доступ к данным и знает, что с ними делать. Наша задача — создать правильные инструменты и написать понятные инструкции для агента.
Разработка ИИ-агента: 10 дней вместо двух
Писал код с помощью OpenCode и GLM-5. Начал 17 марта, закончил 27-го. Думал уложиться за два дня, получилось за 10.
Стек — PHP и Symfony. Да, создание ИИ-агентов на PHP — не мейнстрим, но для интеграций это работает отлично. Composer управляет зависимостями, Symfony даёт структуру, а CLI-утилиты становятся инструментами агента.
Параллельно готовил релиз TasK v0.7.0, поэтому работал в перерывах между задачами основного проекта. Может поэтому 10 дней вместо двух? 😎
Заодно проверил, как агент кодирует без AGENTS.md. На основном проекте мой AGENTS.md превратился в полноценную систему доставки кода в продакшен — роутинг документов-инструкций для всего жизненного цикла. Здесь я решил обойтись без него.
Что делал
-
Библиотека для Московской биржи (MOEX). Попросил агента создать Symfony-проект на основе кода из MCP-сервера Московской биржи. Оформил как composer-пакет для переиспользования. За несколько итераций привели код к структуре, которую я использую в других проектах. Часть утилит для проверки качества кода агент добавил сам, часть — добавил я.
-
Библиотека для T-Invest. То же с MCP-сервером T-Invest API — перенёс функционал в composer-пакет.
-
Библиотека для RSS-новостей. Собрал источники экономических новостей и сделал интеграцию.
-
Агент. Создал Symfony-проект с composer-зависимостями от трёх предыдущих библиотек. Дал агенту ссылку на статью про Stonki AI — он исследовал её и перенёс идеи в документацию проекта. Затем написали недостающий функционал.
-
Скилы. Самая объёмная часть — много итераций с рефакторингом зависимых проектов, написанием текстов скилов и отладкой.
Что получилось
Репозитории
- T-Invest Agent — основной проект: AGENTS.md + 20 SKILLs
- news-core — агрегация и поиск финансовых новостей из RSS-лент
- moex-core — работа с MOEX ISS API (Московская биржа)
- t-invest-core — работа с T-Invest API (Т-Инвестиции)
- memory-core — память агента: профиль инвестора и предпочтения
Скилы по категориям
Рыночные данные:
- MOEX — спецификации, рыночные данные, индексы, итоги торгов
- MOEX Candles — исторические свечи (OHLCV)
- MOEX Ticker Resolver — определение тикера по названию компании
- MOEX Ticker Analysis — фундаментальный анализ акции
- Торговый календарь MOEX — расписание торгов
- T-Invest — позиции, цены, операции
- T-Invest Candles — свечи через T-Invest API
- T-Invest Orderbook — стакан заявок
- Торговый календарь T-Invest — расписание торгов
- Corporate Events Calendar — дивиденды, отчётности, облигационные события
Аналитика:
- Portfolio Analysis — структура и метрики портфеля
- Equity Research — аналитика по российским компаниям
- Calculations — финансовые расчёты на PHP
Новости и настроения:
- News RSS — новости из Интерфакс, ТАСС, РБК, Коммерсант
- News Web Search — поиск новостей по сайтам
- Social Sentiment — анализ настроений на SmartLab, MFD, Banki.ru
Управление:
- Dashboard — интерактивные HTML-дашборды с ECharts
- Recipe — торговые идеи с уровнями входа, стопа и цели
- Monitor — алерты и автоматические проверки цен
- Memory — профиль инвестора и предпочтения

Мне это напомнило советский конструктор — из одного набора деталей можно собрать разные штуки. Каждый скил работает сам по себе, однако вместе они дают агенту полную картину рынка.
Тестирование в Kilo Code
Тестировал в Kilo CLI (ранее назывались Kilo Code CLI) с моделью GLM-5-turbo. Kilo Code — форк OpenCode с оркестрацией и другими наворотами. Использую такие кейсы для изучения нового.
Первый запрос: «Что в моём портфеле творится»
Агент построил план обработки: выбрал нужные скилы, подключился к T-Invest API и Московской бирже (MOEX), собрал данные, выдал отчёт по анализу инвестиционного портфеля.
Агент размышляет и строит план:

Обзор по секторам:

Топ-10 позиций по стоимости:

Главные проблемы портфеля:

Главные достижения:

Контекст рынка из новостей:

Рекомендации:

Второй запрос: «Какой ещё важной информацией по портфелю ты можешь поделиться?»
Агент снова ушёл собирать данные — и вернулся с новой порцией аналитики.
Агент собирает дополнительные данные:

Ближайшие дивиденды:

Прогноз дивидендов на год:

Компании, которые не платят дивиденды:

Позиции для продажи:

Торговые идеи (рецепты):

Рецепты агент создал сам — взял идею из stonki.ai. Я ещё не разобрался, как с ними работать.
Облигационный портфель:

Резюме:

Третий запрос: «Сделай красивый дашборд»

Результат:

Полная HTML-версия дашборда: portfolio-dashboard-20260327
Как ИИ помогает в финансовой аналитике
Заменит ли ИИ аналитиков? Скорее всего, нет — у меня нет нужных знаний и навыков в финансах, чтобы грамотно построить агента в одиночку. А сильный финансовый аналитик сможет сделать классного помощника и вместе с ним принимать решения продуктивнее.
Мой агент не принимает решения за меня — он экономит часы на сборе данных и подсчётах. Я по-прежнему решаю сам, но теперь у меня есть ассистент, который за минуты собирает то, на что раньше уходили часы: структуру портфеля, свежие новости, настроения на форумах, дивидендный календарь.
ИИ для финансовой аналитики — это не замена человеку, а автоматизация рутины. Агент готовит данные, а человек их интерпретирует и принимает решения.
Итог
За 10 дней я получил работающего ИИ-аналитика для портфеля в Т-Инвестициях на GLM-5. Вот что выяснил в процессе:
-
Кодить без AGENTS.md можно, но рискованно. Агент ведёт себя непредсказуемо: может закоммитить без апрува, не запустить статанализаторы или линтеры. Если у вас есть свои правила кодирования и git-workflow — пропишите их.
-
Много скилов — нужна система пакетов. У меня получилось 4 отдельные библиотеки — и их можно переиспользовать в других проектах. Я буду, и другие люди могут подключать к себе через Composer.
-
Некоторые сайты не отдают данные ИИ-агентам. Приходится маскироваться под браузер.
-
Контекст — узкое место. OpenCode быстро сжирает контекст, после 70K–100K токенов GLM-5 начинает нести бред в размышлениях. Приходилось руками вызывать
/compactпри приближении к критическим значениям. -
Финансовая аналитика требует доменной экспертизы. Чтобы написать осмысленные инструкции в скилах, создать нужные инструменты и составить промпты — нужно разбираться в финансах. ИИ не заменит знания предметной области.
Источники:
- T-Invest Agent на GitHub
- SKILLs в OpenCode: процессный подход к созданию контента — предыдущий эксперимент со SKILLs
- Stonki AI — персональный хаб для трейдинга — источник идей для архитектуры агента
- FinGPT — открытые финансовые БЯМ — альтернативный подход к финансовому ИИ
- Что такое MCP и почему тебе стоит обратить на это внимание — про протокол контекста модели
- TasK — мой основной проект
php + AI = ❤️
dmitry prikotov