Practice_reports/surfaces/yashnov_vladislav.md
2026-05-26 15:04:52 +03:00

6.6 KiB
Raw Blame History

Отчёт обучающегося по практике

Исследование агентов

В первые недели работы лаборатории исследовал поведение Claw-агентов и логику взаимодействия с ними. Был локально установлен и протестирован агент PicoClaw. Тестирование включало в себя настройку конфигурации агента и подключение сторонних tool-инструментов с целью выполнения конкретных задач (чтение почты, web-search и т.д.). Агент был опробован в разнообразных сценариях, что позволило оценить качество, безопасность, и ресурсоемкость этой технологии. По итогам работы были собраны основные тезисы и выводы для дальнейшего обсуждения и сравнения агентов в лаборатории.

Создание поверхностей

Общая концепция

На следующем этапе, в соответствие с поставленными целями, занимался исследованием и разработкой поверхностей (интерфейсов) для взаимодействия с ядром проекта. В частности, были реализованы MAX-бот и веб-приложение для взаимодействия с агентами. Такие поверхности содержат в себе весь необходимый для общения с агентом функционал: создание и удаление чатов, управление сессиями, загрузка и выгрузка контекста, взаимодействие с tool-инструментами, настройка безопасности, управление подпиской и т.д. Все поверхности используют стандартизированные шаблоны подключения к ядру, что делает переход с этапа mock-тестирования на продакшн-релиз максимально гладким и быстрым.

Веб-интерфейс

Рассмотрим более детально реализацию задачи на примере веб-интерфейса. Так как общая цель проекта - создание универсальной платформы для взаимодействия с ИИ-агентом Lambda через различные каналы связи, то веб-интерфейс решает задачу предоставления доступа к агенту без установки дополнительного ПО, через браузер, с полным функционалом, аналогичным Matrix- и Telegram-адаптерам.

Основные задачи веб-интерфейса: обеспечить обмен сообщениями в реальном времени через WebSocket, поддержку множественных чатов, загрузку и отображение файлов, персистентность истории диалогов, управление контекстом беседы (сохранение и загрузка сессий), настройку параметров агента (навыки, безопасность, личность, интеграции), рендеринг markdown-ответов с поддержкой таблиц, кода и цитат, а также интуитивно понятный интерфейс с модальными окнами и подсказками. Архитектурно веб-поверхность должна повторять структуру Matrix и Telegram адаптеров: конвертер для трансформации JSON в core-протокол и обратно, WebSocket-обработчик, интеграцию с общим EventDispatcher и StateStore. Это обеспечивает единую логику обработки сообщений и команд независимо от канала входа, упрощая добавление новых поверхностей в будущем.

Созданный веб-интерфейс представляет собой полноценный чат с агентом, работающий в браузере. Пользователь может отправлять текстовые сообщения и файлы, получать ответы с markdown-разметкой, управлять несколькими чатами (создавать, переименовывать, архивировать, удалять), сохранять и загружать контекстные сессии, настраивать навыки и параметры безопасности агента через модальные окна и кнопки. Стек: React 19 + TypeScript + Vite на фронтенде, aiohttp (Python) на бэкенде с WebSocket для реального времени. Весь core-слой - EventDispatcher, менеджеры чатов, настроек, сессий - общий для web, Matrix и Telegram поверхностей. Хранилище: InMemoryStore для разработки, PrototypeStateStore для прода. Контейнеризация через Docker.

Soft-Skills

Помимо прочего, работа в лаборатории требовала и улучшения soft-скиллов. На протяжение всей практики участники лаборатории собирались для обсуждения достигнутых результатов и планов на ближайшее будущее, что позволило почувствовать себя частью достаточно крупного проекта, где важно слушать и понимать то, о чем говорят другие, чтобы из разноплановых аспектов удалось собрать единый жизнеспособный результат. Взаимодействие с командой также укрепило навыки планирования задач и распределения обязанностей.