Practice_reports/surfaces/yashnov_vladislav.md
2026-05-26 14:44:26 +03:00

11 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

В первые недели работы лаборатории исследовал поведение 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-скиллов. На протяжение всей практики участники лаборатории собирались для обсуждения достигнутых результатов и планов на ближайшее будущее, что позволило почувствовать себя частью достаточно крупного проекта, где важно слушать и понимать то, о чем говорят другие, чтобы из разноплановых аспектов удалось собрать единый жизнеспособный результат. Взаимодействие с командой также укрепило навыки планирования задач и распределения обязанностей.