2.2K ·GitHub
Что это такое?
Unreal Agent — это агентский harness на Go, построенный вокруг асинхронности: набор инструментов для запуска LLM-агентов с постоянными сессиями, которые можно форкать, с вызовом инструментов и надёжной фоновой работой.
Это библиотека, на которой я строю своё, или готовое приложение?
Это библиотека на Go: пакет harness/, на котором вы строите агентов. В репозитории также есть исполняемые файлы в cmd/, использующие эту библиотеку, и раннеры для бенчмарков в benchmarks/.
Как запустить это у себя?
Шагов по установке не приводится. Поскольку это библиотека на Go, первый шаг — импортировать harness/ в свой проект на Go; в cmd/ лежат исполняемые файлы, показывающие, как пользоваться библиотекой на практике.
Мне нужен аккаунт у какого-то конкретного провайдера LLM, чтобы этим пользоваться?
Конкретный провайдер не назван. Компонент LLM Adapter отвечает за аутентификацию и возвращает нормализованные ответы, так что вы подключаете ту реализацию провайдера, которая вам нужна.
Что будет, если процесс упадёт посреди разговора?
Сессии и состояние операций сохраняются на диск и поддерживают восстановление, так что падение процесса не фатально. Но дедупликация входных данных хранится только в памяти, а при возобновлении сессии с неподдерживаемой версией всегда возникает явная ошибка.
Что «async-first» означает на практике?
Работа инструментов выполняется не напрямую в коде: трансляторы превращают запросы модели в сериализуемые операции, которые отдельный actor-рантайм надёжно выполняет, а координатор тем временем продолжает двигать ходы LLM вперёд.
Какие инструменты агент получает из коробки?
Фиксированный набор из Bash, ViewImage и инструмента для работы со скиллами, у каждого — свой проверяющий транслятор. Хост решает, какие из них агентская сессия реально увидит.
Что такое сессия?
Сохраняемая история разговора агента, которая только дополняется. Сессии можно форкать, а статусы вызовов инструментов записываются атомарно вместе с операциями, которые их породили.
Могут ли инструменты выполняться где-то ещё, например в удалённой песочнице?
Да — операции версонируются и всегда сериализуемы, поэтому прокси-менеджер операций может переслать их менеджеру операций, работающему внутри удалённой песочницы, и выполнить инструменты там.
What are similar projects?
lightspeed, conductor, imp, OpenAgentCore, tardigrade, cayu, maka, dapr
Which topics is it in?
actor-model, session-management, persistence, agent-runtime, orchestrator, event-sourcing, context-management, durable-execution, event-driven, tool-calling, agent-harness, concurrency