Перейти к содержанию

glia

Минималистичная «прозрачная» (glass-box) библиотека для создания LLM-агентов. Каждый вызов модели, каждый вызов инструмента и каждое изменение состояния — это обычный объект, который можно залогировать, сохранить в снапшот и воспроизвести. Никакого скрытого потока управления. Весь цикл помещается в один файл, который читается за вечер.

glia (глия) — клетки, которые поддерживают и связывают нейроны. Это «соединительная ткань» для LLM-агентов: не фреймворк, которому вы подчиняетесь, а небольшая библиотека, поверх которой вы строите.

Зачем glia?

Рынок агентных фреймворков в 2026 году перегружен, и самая частая претензия к существующим решениям одна и та же: слишком много абстракций, скрытый поток управления, тяжело отлаживать. glia делает ставку на обратное. Современные техники — инструменты, структурированный вывод, стриминг, параллельный запуск инструментов, компакция контекста, устойчивые чек-пойнты, guardrails, human-in- the-loop подтверждение, сабагенты и «эвалы как тесты» — поставляются как опциональные примитивы, которые можно прочитать, а не как монолит, которому приходится доверять.

Установка

pip install glia-agents               # ядро — без зависимостей
pip install "glia-agents[anthropic]"  # + провайдер Claude

Пакет называется glia-agents; импорт всегда import glia.

За 30 секунд

import asyncio
from glia import Agent, tool
from glia.providers import ClaudeLLM

@tool
async def get_weather(city: str) -> str:
    """Узнать текущую погоду в городе."""
    return {"Paris": "18°C, облачно"}.get(city, "неизвестно")

async def main():
    agent = Agent(ClaudeLLM(), tools=[get_weather], system="Отвечай кратко.")
    result = await agent.run("Какая погода в Париже?")
    print(result.output)   # ответ
    print(result.usage)    # во сколько обошлось

asyncio.run(main())

Нет ключа API? Все примеры работают офлайн с детерминированным провайдером EchoLLM — тот же код, без обращения к сети.

Дальше