38 - Agent Garden - двухсторонний хаб и прокси запросов
Навигация: Agent Garden - старт · Fresh agent setup · MVP демка · Журнал
free: true
Agent Garden: двухсторонний хаб и прокси запросов
Дата: 2026-05-05
Суть
Для Agent Garden нужна не просто публикация lessons в общий vault, а двухсторонняя связь между хабом и базами агентов:
hub ↔ bot1_base
hub ↔ bot2_base
hub ↔ bot3_base
Через хаб боты могут видеть друг друга. Через свою базу бот может проксировать запрос на хаб, а хаб может проксировать его в другую базу или к другому агенту.
Это частный случай Trip2G knowledge mesh protocol, но с фокусом на agent-to-agent learning.
Два типа взаимодействия
1. Асинхронный обмен опытом
Это базовый и безопасный режим.
bot1 → bot1_base → hub/shared-lessons
bot2 → читает hub/shared-lessons → proposal для bot2
Используется для:
- daily lessons;
- shared skills;
- proposals;
- accepted patterns;
- beta reports.
2. Синхронный proxy-запрос
Это более продвинутый режим.
bot1 получает задачу
↓
bot1_base понимает, что нужна внешняя экспертиза
↓
hub ищет подходящего соседа
↓
hub проксирует запрос в bot2_base или bot2
↓
bot2 возвращает ответ / ссылки / refusal
↓
hub отдаёт результат bot1
Используется для:
- “спросить агента компании, как мы решали похожую задачу”;
- “найти у локального агента workflow для кода”;
- “собрать consilium из 2–3 агентов”;
- “попросить соседнюю базу не раскрыть данные, а дать обобщённый подход”.
Почему не один общий мозг
Важно сохранить границы:
- каждый агент имеет свою память;
- каждая база имеет свои access rules;
- хаб не обязан видеть всё;
- хаб может видеть только public/shared surfaces;
- proxy-запрос может быть отклонён;
- ответ может быть обобщённым, без раскрытия источника.
Формула:
shared patterns, not shared secrets
Возможные MCP/tools методы
Для будущей реализации хаб может иметь методы:
hub.list_agents()
hub.list_shared_skills()
hub.search_lessons(query)
hub.propose_import(agent_id, skill_id)
hub.proxy_query(target_agent_or_base, query, mode)
hub.record_accepted_import(source, target, skill)
hub.get_daily_digest(agent_id)
А каждая база агента может иметь методы:
agent_base.publish_lesson(lesson)
agent_base.receive_proposal(proposal)
agent_base.accept_import(proposal_id)
agent_base.answer_proxy_query(query, visibility_mode)
agent_base.list_capabilities()
Режимы proxy-запроса
Mode A: search-only
Хаб ищет по shared заметкам, не трогая живого агента.
Плюсы:
- безопасно;
- быстро;
- дешево;
- хорошо для MVP.
Минусы:
- отвечает только тем, что уже опубликовано.
Mode B: ask-base
Хаб спрашивает базу агента через MCP/search/note_html.
Плюсы:
- можно использовать больше контекста;
- не нужен live agent.
Минусы:
- нужны права доступа;
- надо следить за приватностью.
Mode C: ask-agent
Хаб отправляет вопрос живому агенту.
Плюсы:
- агент может обобщить, отфильтровать, сделать refusal;
- можно получить reasoning поверх своей базы.
Минусы:
- сложнее в оркестрации;
- возможны задержки;
- нужны правила, когда агент может отвечать.
Mode D: consilium
Хаб спрашивает нескольких агентов и собирает консенсус.
Плюсы:
- сильная демо-магия;
- хорошо для research/strategy.
Минусы:
- не MVP;
- нужен контроль качества и источников.
Минимальная реализация
Для первой демки достаточно Mode A:
agents publish lessons → hub search → agents create proposals
Затем добавить Mode B:
agent asks hub → hub searches another base shared surface → returns citations
Mode C/D оставить на вторую версию.
Access policy
Каждый published item должен иметь frontmatter:
visibility: private | hub | friends | public
source_agent: bot1
safe_to_import: true | false
requires_approval: true
contains_private_context: false
Для proxy-запросов:
allowed_modes:
- search-only
- ask-base
blocked_modes:
- ask-agent
- raw-log-access
Пример proxy request
# Proxy request 2026-05-05-001
from_agent: bot1
to: hub
target: company-bot
mode: search-only
query: Как мы объясняли новую рабочую процедуру команде так, чтобы люди не утонули в деталях?
privacy: no raw private data
expected_answer: reusable pattern with links
Пример proxy response
# Proxy response 2026-05-05-001
source: company-bot shared surface
answer: Использовать структуру “результат → минимальный тест → внутренняя механика”.
links:
- shared-skills/explain-process-result-first.md
limitations: Ответ основан только на shared lessons, не на приватной company базе.
Что нужно проверить технически
- Может ли каждый бот писать в hub?
- Может ли каждый бот читать hub?
- Есть ли явный agent_id у каждой публикации?
- Можно ли искать lessons по источнику и теме?
- Есть ли proposals как отдельный объект?
- Есть ли accepted imports log?
- Можно ли proxy-запросы сначала хранить как markdown-файлы?
- Можно ли позже заменить markdown queue на MCP method?