Мир прикладного искусственного интеллекта долгое время страдал от глухой и противоестественной фрагментации. У каждого крупного технологического вендора или открытого фреймворка существовал собственный изолированный остров: боты внутри одной библиотеки прекрасно общались друг с другом, но не были способны сказать ни слова агентам из соседней экосистемы. Если у тебя работает агент анализа данных на LangGraph, агент тестирования на CrewAI и локальный консольный воркер, научить их безопасно обмениваться задачами по сети до сих пор было сложнейшей инженерной задачей.
Лаборатория Nous Research сделала фундаментальный шаг к объединению разрозненных ИИ-систем, представив знаковый релиз Hermes Agent V0.21 под кодовым названием «The Herald Release». Центральным новшеством версии стала открытая спецификация и реализация протокола межсетевой коммуникации агентов — A2A (Agent-to-Agent Protocol v1.0). Протокол устраняет стены между замкнутыми системами и превращает агентов в полноправные сетевые сервисы.
Кроме того, в релиз вошли модуль локального голосового инференса с ультранизкой задержкой и детерминированный механизм валидации цитат. Я развернул сетевой узел Hermes, протестировал протокол A2A в локальной сети и проверил качество фактчекинга на реальных задачах. Давай посмотрим, как устроены эти архитектурные новшества.
Двунаправленный протокол A2A 1.0: агент как клиент и сервер
Протокол A2A v1.0 превращает каждого запущенного агента в независимый сетевой узел, работающий по стандарту JSON-RPC поверх HTTP и WebSocket. При этом Hermes Agent может функционировать одновременно в двух сетевых режимах:
- Режим сервера (Server Mode): Hermes поднимает защищенный сетевой сокет, публикует манифест своих навыков через эндпоинт
GET /a2a/v1/capabilitiesи ждет входящих поручений наPOST /a2a/v1/tasks. Внешние скрипты, корпоративные CI/CD-пайплайны или удаленные боты могут делегировать ему задачи с криптографической аутентификацией по токенам; - Режим клиента (Client Mode): Агент обнаруживает другие A2A-совместимые узлы в локальной сети или через корпоративный сервисный реестр. Для модели удаленный агент выглядит как обычный локальный инструмент: она просто вызывает функцию
delegate_task(target="agent-lawyer", input={...}), не задумываясь о сетевой маршрутизации и протоколах сериализации данных.
В процессе рукопожатия (handshake) узлы обмениваются криптографическими сигнатурами и манифестами возможностей. Это исключает ситуацию, когда задачу по компиляции кода случайно отправят боту, умеющему лишь форматировать текст.
Конфигурация сетевого сокета и клиентский вызов на Python
Настройка сервера A2A в файле конфигурации hermes.config.json выглядит предельно лаконично и понятно:
{
"a2a_server": {
"enabled": true,
"listen_host": "0.0.0.0",
"listen_port": 7443,
"auth_token_hash": "sha256:d8e8fca2dc0f896f7e8a9b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e",
"advertised_name": "Hermes-Security-Auditor",
"capabilities": ["static_analysis", "test_generation", "vulnerability_scan"]
}
}
А вызов удаленного агента через протокол A2A на стороне клиента реализуется следующим асинхронным скриптом на Python:
import httpx
import json
async def delegate_to_remote_agent(remote_url: str, task_payload: dict, auth_token: str) -> dict:
"""Делегирует выполнение задачи удаленному A2A-агенту с проверкой цитирования."""
headers = {
"Authorization": f"Bearer {auth_token}",
"Content-Type": "application/json"
}
payload = {
"protocol": "a2a-v1.0",
"task_id": "task_20261030_sec_01",
"action": "execute_task",
"input": task_payload,
"require_citation_verification": True
}
async with httpx.AsyncClient(timeout=60.0) as client:
response = await client.post(f"{remote_url}/a2a/v1/tasks", headers=headers, json=payload)
response.raise_for_status()
result = response.json()
print(f"[A2A Узел] Задача принята удаленным агентом: {result.get('worker_node')}")
return result
Голосовой инференс реального времени и победа над задержкой
Вторым важнейшим новшеством релиза V0.21 стало внедрение встроенного модуля локального голосового взаимодействия (Real-Time Voice Engine). Раньше голосовой диалог с агентом требовал сложной связки сторонних облачных API: сначала запись аудио улетала на сервер транскрибации Whisper, затем текст передавался в LLM, а итоговый ответ отправлялся в генератор речи. Суммарная задержка такого тройного перелета составляла от двух до четырех секунд, превращая диалог в мучительное ожидание.
В Hermes V0.21 применен легковесный стек прямого голосового инференса на базе оптимизированного движка llama.cpp. Модель работает непосредственно с сырым аудиопотоком через WebSocket-соединение. Задержка диалогового отклика (Voice Latency) на стандартной рабочей станции с видеокартой уровня RTX 4090 упала до 280–350 миллисекунд. Ты говоришь фразу в микрофон — и агент отвечает тебе мгновенно, без ощущения неловкой паузы на линии.
Детерминированная верификация цитат (Citation Verification)
Одной из самых коварных болезней автономных агентов в аналитических задачах остаются галлюцинации ссылок. Модель может написать великолепный по стилю отчет, но приписать цитату несуществующему автору или сослаться на номер строки в файле, где на самом деле находится совершенно другой код.
В релизе Hermes V0.21 разработчики Nous Research внедрили жесткий детерминированный строковый валидатор — Citation Verification Harness:
- Когда агент в своем ответе оформляет цитату или делает ссылку на источник, валидатор перехватывает исходящее сообщение до его отправки пользователю;
- Система автоматически обращается к исходному документу или файлу в репозитории, извлекает указанный фрагмент и вычисляет расстояние Левенштейна;
- Если цитата совпадает с оригиналом с точностью выше 95%, ответ верифицируется и помечается зеленым бейджем;
- Если же цитата искажена или отсутствует в источнике, валидатор блокирует вывод и принудительно возвращает задачу агенту с системным предупреждением: «Ошибка верификации цитаты: фрагмент не найден в файле. Перепроверьте факты».
Hermes Agent V0.21 закладывает основы интернета агентов (Agentic Internet). Протокол A2A 1.0 решает проблему изоляции и позволяет разнородным системам объединяться в распределенные сети для решения сложнейших прикладных задач с гарантированной точностью фактов.
