Обзор архитектуры
SILO построен как модульный уровень исполнения для ИИ-агентов. Он создает доверенную экосистему инструментов, где фреймворк управляет жизненным циклом скиллов, гарантируя их безопасность, изоляцию и удобство обнаружения.
Основные компоненты
1. Хаб (Реестр скиллов)
Хаб — это локальная база данных и файловое хранилище (расположенное в ~/.silo/), которое отслеживает все установленные скиллы.
- Хранит метаданные об именах инструментов, описаниях и требуемых аргументах.
- Ведет кэш LRU (Least Recently Used) для эффективной очистки при дефрагментации/удалении.
2. Раннер (Движок исполнения)
Раннер отвечает за непосредственное исполнение инструментов.
- Локальные виртуальные окружения: Каждый скилл в хабе поддерживает свою собственную директорию
.venv. Это обеспечивает полную изоляцию зависимостей и позволяетuvиспользовать жесткие ссылки (hard-links) для экономии дискового пространства, предоставляя при этом переносимую среду для каждого скилла. - Изоляция процессов: Он запускает изолированные Python-процессы, используя специфичный для скилла интерпретатор. Это позволяет избежать проверок глобального кэша
uv runпри каждом вызове, что значительно увеличивает скорость исполнения. - IPC (Межпроцессное взаимодействие): Общается с дочерним процессом через каналы (pipes), безопасно внедряя секреты и получая ответы.
- Обработка результатов: Парсит стандартизированные ответы (
AgentResponse) и обрабатывает ошибки или запросы на подтверждение.
3. Поисковой движок (Обнаружение)
Когда агент не знает, какой инструмент использовать, поисковой движок обеспечивает семантическое сопоставление.
- Алгоритм BM25: Высокопроизводительное ранжирование текста на основе описаний инструментов.
- Динамическая маршрутизация: Позволяет агентам искать «что» они хотят сделать, а не «как».
4. Интерактивный слой (HITL)
Специализированный модуль, который обрабатывает подтверждения действий человеком и сбор секретов.
- Браузерный: Запускает локальный HTML-интерфейс для премиального пользовательского опыта.
- Терминальный: Резервный вариант для SSH и удаленных сред.
Поток исполнения
- Обнаружение: Агент запрашивает
silo_search. - Выбор: Агент выбирает инструмент на основе возвращенной схемы.
- Запуск: Агент вызывает
silo_execute. - Валидация: Раннер проверяет наличие необходимых секретов и подтверждений пользователя.
- Исполнение: Процесс в песочнице выполняет логику и возвращает структурированный ответ.
- Сохранение: Хаб обновляет историю использования.