LightAgent является крайне легковесным активным агентным фреймворком с памятью (mem0), инструментами (Tools) и деревом мышления (ToT), полностью с открытым исходным кодом. Он поддерживает более простую многослойную координацию агентов, чем OpenAI Swarm, и позволяет в один шаг создать агента с возможностью самообучения, а также поддерживает подключение к протоколу MCP через stdio и sse. Базовая модель поддерживает OpenAI, Zhiyu ChatGLM, DeepSeek, Jieyue Xingchen, Qwen Tongyi Qianwen и другие крупные модели. В то же время, LightAgent поддерживает вывод API-сервиса в формате OpenAI Stream, бесшовно интегрируясь с основными чат-фреймворками.🌟
[2026-08-15] Выпущен LightAgent v0.9.7: добавлен лёгкий Connector-контракт без зависимостей с офлайн-валидацией и примерами, усилены проверки безопасности Python executor, добавлена опциональная матрица безопасности Mem0 Graph и подготовлена стабилизация v1.0 с помощью перечня совместимости публичного API.
- [2026-07-30] Выпущен LightAgent v0.9.6: добавлены производственные сводки и экспорт Trace, детерминированная оценка, сохраняемое человеческое одобрение для инструментов, handoff и LightFlow, а также fail-closed допуск записей и аудит общей Graph Memory.
- [2026-06-24] LightAgent v0.9.0: добавлены сохраняемые checkpoint для LightFlow, resume/rerun, узлы утверждения, более ясные состояния шагов, trace-метаданные, шаблоны Guardrails, управление MemoryPolicy и прототип SharedMemoryPool.
- [2026-06-14] LightAgent v0.8.1: добавлены соглашения MemoryScope и фильтры MemoryPolicy по источнику, области и уровню доверия.
- [2026-06-02] LightAgent v0.8.0: представлен LightFlow для детерминированных многошаговых workflow.
История релизов доступна в GitHub Releases.
- Легковесность и эффективность 🚀: ультра-упрощённый дизайн, быстрая настройка, подходит для приложений любого размера. (Нет LangChain, Нет LlamaIndex) 100% реализация на Python, без дополнительных зависимостей, основная кодовая база составляет всего 1000 строк, полностью открытый исходный код.
- Поддержка памяти 🧠: поддержка пользовательской долгосрочной памяти для каждого пользователя, нативная поддержка модуля памяти
mem0, позволяющая автоматически управлять персонализированной памятью пользователя в процессе диалога, делая агента более умным. - Автономное обучение 📚️: каждый агент обладает способностью самостоятельно обучаться, а администраторы с соответствующими правами могут управлять каждым агентом.
- Интеграция инструментов 🛠️: поддержка пользовательских инструментов (
Tools), автоматическая генерация инструментов, гибкое расширение для удовлетворения разнообразных потребностей. - Сложные цели 🌳: встроенный модуль дерева мышления с рефлексией (ToT), поддержка декомпозиции сложных задач и многошагового вывода, повышение эффективности обработки задач.
- Многослойное взаимодействие агентов 🤖: более простая реализация многослойного взаимодействия агентов, встроенный LightSwarm для определения намерений и переноса задач, что позволяет более умно обрабатывать ввод пользователя и при необходимости передавать задачи другим агентам.
- Автономное выполнение 🤖: выполнение вызовов инструментов без человеческого вмешательства.
- Поддержка множества моделей 🔄: совместимость с OpenAI, ChatGLM от Zhipu, Baichuan и другим.
- Потоковый API 🌊: поддержка вывода сервисов API в потоковом формате OpenAI, бесшовная интеграция с основными чат-фреймворками, улучшение пользовательского опыта.
- Генератор инструментов Tools 🚀: просто передайте вашу документацию API [генератору инструментов Tools], и он автоматически создаст для вас индивидуальные инструменты, позволяя вам быстро создать сотни персонализированных инструментов всего за час, повысив производительность и освободив ваши творческие возможности.
- Самообучение агентов 🧠️: каждый агент обладает способностью запоминать информацию о сценах и самообучаться на основе разговоров с пользователями.
- Адаптивный механизм инструментов 🛠️: поддержка неограниченного количества инструментов, выбор кандидатов из десятков тысяч инструментов крупной моделью, фильтрация нерелевантных инструментов и передача контекста крупной модели, что может значительно снизить потребление токенов.
- Оркестрация workflow 🔁: LightFlow связывает агентов в детерминированные workflow с явными зависимостями, передачей результатов, повторами, checkpoint, resume/rerun, утверждениями, fallback-agent и трассировкой.
- Прототип общей памяти 🧠: SharedMemoryPool предоставляет общую память в памяти процесса с метаданными происхождения, выборкой по области и результатами, совместимыми с MemoryPolicy.
- Шаблоны Guardrails 🛡️: Переиспользуемые политики ввода, инструментов и вывода блокируют приватные данные, требуют подтверждения чувствительных инструментов, проверяют рискованные параметры и редактируют вывод.
- Runtime Hooks 🧩: Упорядоченное middleware
hooks=[...]для наблюдения, замены или блокировки фаз run, модели, инструментов, памяти и шагов LightFlow. - Оценка и человеческая проверка 📊:
LightEvaluatorзапускает детерминированные регрессии;HumanApprovalHook, постоянные review-store и checkpoint LightFlow поддерживают одобрение, отклонение, изменение аргументов и feedback.
| Слой | Основной API | Когда использовать |
|---|---|---|
| Runtime одного агента | LightAgent |
Один агент с моделью, инструментами, памятью, streaming, trace и guardrails. |
| Маршрутизация агентов | LightSwarm |
Делегирование по ролям между специализированными агентами. |
| Детерминированный workflow | LightFlow |
DAG, повторы, checkpoints, утверждения, resume и rerun. |
| Инструменты и интеграции | tools, ToolRegistry, MCP |
Python-инструменты, генерация, runtime-загрузка или MCP-серверы. |
| Граница памяти | MemoryPolicy, MemoryScope |
Изоляция tenants, происхождение, доверие, срок действия и допуск записи. |
| Общая память | SharedMemoryPool |
Эксперименты общей памяти между агентами. |
| Безопасность | input_guardrails, tool_guardrails, output_guardrails |
Приватность, подтверждение инструментов, рискованные параметры и редактирование вывода. |
| Runtime hooks | hooks, HookContext, HookDecision |
Политики, аудит, редактирование, routing и изменение payload на границах жизненного цикла. |
| Наблюдаемость | trace=True, agent.export_trace() |
Структурированные события run, модели, инструмента, ошибки и workflow. |
LightAgent сохраняет простой путь вызова по умолчанию и позволяет постепенно добавлять production-контроль.
| Паттерн | Минимальный вызов | Примечания |
|---|---|---|
| Базовый ответ | agent.run(query) |
По умолчанию возвращает строку. |
| Streaming | agent.run(query, stream=True) |
Возвращает OpenAI-совместимые chunks. |
| Структурированный результат | agent.run(query, result_format="object") |
Возвращает контент и метаданные. |
| Trace | agent.run(query, trace=True) |
Пишет события, не меняя строковый ответ по умолчанию. |
| Память пользователя | agent.run(query, user_id="alice") |
Использует настроенный backend памяти и MemoryPolicy. |
| Инструменты | LightAgent(..., tools=[fn]) |
Функции должны иметь tool_info. |
| Guardrails | LightAgent(..., input_guardrails=[...]) |
Добавляет политики ввода, инструментов и вывода. |
| Runtime hooks | LightAgent(..., hooks=[fn]) |
Наблюдает, заменяет или блокирует payload жизненного цикла. |
| Workflow | LightFlow().step(...).run(query) |
Для детерминированного многошагового выполнения. |
- По установке, моделям, инструментам, памяти, MCP, Skills, streaming и LightSwarm см. FAQ.
- По детерминированным workflow, checkpoint, resume/rerun, утверждениям, fallback-agent и состояниям шагов см. LightFlow.
- По пользовательским инструментам, ToolRegistry, ToolLoader, AsyncToolDispatcher и MCP см. Tools Guide.
- По общей долговременной или графовой памяти см. Memory Security Guidance.
- По SharedMemoryPool см. SharedMemoryPool.
- По допуску записи памяти и срокам действия см. Memory Admission And Mutation Controls.
- По безопасности ввода, инструментов и вывода см. Guardrails.
- По runtime middleware для наблюдения, замены или блокировки payload см. Runtime Hooks.
- По OpenRouter, локальным моделям и OpenAI-совместимым провайдерам см. Model Provider Configuration.
- По структурированным trace см. Trace Observability.
- По детерминированным регрессиям см. Evaluation Harness.
- По одобрению tools/handoff, постоянной проверке и feedback см. Human Review.
- Согласованная связь агентов 🛠️: Агенты также могут обмениваться информацией и передавать сообщения, реализуя сложную информационную связь и совместное выполнение задач.
- Открытый и бесплатный 💖: полностью открытый, управляемый сообществом, регулярно обновляемый, все желающие могут внести свой вклад!
- Легкость в освоении 🎯: подробная документация, множество примеров, быстрое освоение, простая интеграция в ваши проекты.
- Поддержка сообщества 👥: активное сообщество разработчиков, готовое помочь и ответить на вопросы.
- Высокая производительность ⚡: оптимизированный дизайн, высокая эффективность, удовлетворяющая требования к высокой конкуренции.
pip install lightagent(Опционально установите пакет Mem0):
pip install mem0aiИли вы можете использовать Mem0 в облачной стороне, кликнув здесь.
from LightAgent import LightAgent
# Инициализация агента
agent = LightAgent(model="gpt-4o-mini", api_key="your_api_key", base_url= "your_base_url")
# Запуск агента
response = agent.run("Привет, кто ты?")
print(response)Trace включается явно и сохраняет совместимость поведения agent.run() по умолчанию.
from LightAgent import LightAgent
agent = LightAgent(model="gpt-4.1", api_key="your_api_key", base_url="your_base_url")
result = agent.run("Hello, who are you?", result_format="object", trace=True)
print(result.content)
print(result.trace_id)
print(result.trace)
for event in agent.export_trace():
print(event["type"], event["data"])LightFlow может сохранять checkpoint workflow и продолжать неудачный запуск не с первого шага.
from LightAgent import JsonLightFlowStore, LightAgent, LightFlow
research_agent = LightAgent(model="gpt-4.1", api_key="your_api_key", base_url="your_base_url")
writer_agent = LightAgent(model="gpt-4.1", api_key="your_api_key", base_url="your_base_url")
store = JsonLightFlowStore(".lightflow_runs")
flow = (
LightFlow(store=store)
.step("research", agent=research_agent, timeout=30)
.step("write", agent=writer_agent, depends_on=["research"], max_retry=2)
)
result = flow.run("Analyze this company", run_id="report-001", trace=True)
if not result.success:
result = flow.resume("report-001")
print(result.status)
print(flow.get_run("report-001")["steps"])SharedMemoryPool — легкий in-memory прототип для экспериментов с общей памятью между агентами.
from LightAgent import LightAgent, MemoryPolicy, SharedMemoryPool
shared_memory = SharedMemoryPool(agent_name="writer")
agent = LightAgent(
name="writer",
model="gpt-4.1",
api_key="your_api_key",
base_url="your_base_url",
memory=shared_memory,
memory_policy=MemoryPolicy(
namespace="tenant-a",
allow_unattributed_results=False,
allowed_sources=("user",),
allowed_scopes=("user",),
),
)
agent.run("Remember that I prefer concise reports.", user_id="alice")
print(shared_memory.list_records(user_id="tenant-a:alice"))from LightAgent import LightAgent
# Инициализация агента
agent = LightAgent(
role="Пожалуйста, помните, что вы - LightAgent, полезный помощник, который может помочь пользователям с использованием нескольких инструментов.", # Описание системной роли
model="deepseek-chat", # Поддерживаемые модели: openai, chatglm, deepseek, qwen и т.д.
api_key="your_api_key", # Замените на ключ API вашего провайдера крупной модели
base_url="your_base_url", # Замените на URL API вашего провайдера крупной модели
)
# Запуск агента
response = agent.run("Кто ты?")
print(response)from LightAgent import LightAgent
# Определение инструмента
def get_weather(city_name: str) -> str:
"""
Получить текущую погоду для `city_name`
"""
return f"Результат запроса: Погода в {city_name} солнечная"
# Определить информацию о инструменте внутри функции
get_weather.tool_info = {
"tool_name": "get_weather",
"tool_description": "Получите текущую информацию о погоде в заданном городе",
"tool_params": [
{"name": "city_name", "description": "Название города для запроса", "type": "string", "required": True},
]
}
tools = [get_weather]
# Инициализация агента
agent = LightAgent(model="qwen-turbo-2024-11-01", api_key="your_api_key", base_url= "your_base_url", tools=tools)
# Запуск агента
response = agent.run("Пожалуйста, проверьте погоду в Шанхае")
print(response)Поддерживает настройку неограниченного количества инструментов.
Примеры нескольких инструментов: tools = [search_news,get_weather,get_stock_realtime_data,get_stock_kline_data]
README сохраняет основную модель использования; длинные примеры, настройка адаптеров и production-практики находятся в отдельных документах.
LightAgent принимает любой backend памяти с store(data, user_id) и retrieve(query, user_id). Используйте user_id для изоляции диалогов и MemoryPolicy для общей памяти.
Python-функции с метаданными tool_info открывают контролируемые возможности агенту. ToolRegistry, ToolLoader, AsyncToolDispatcher и MCP описаны в Tools Guide.
agent.create_tool() может генерировать код инструментов из API-документации или естественного описания. Перед production выполните review и тесты.
Включайте tree_of_thought=True, когда нужны явное планирование, рефлексия и выбор инструментов.
LightSwarm делегирует работу между специализированными агентами. Роли должны быть узкими, а записи памяти контролироваться политиками.
agent.run(query, stream=True) возвращает OpenAI-совместимые chunks для chat UI и длинных ответов.
Самообучение следует сочетать с MemoryPolicy, чтобы не сохранять приватный, устаревший или нерелевантный контент.
LightAgent позволяет наблюдать выполнение через встроенный trace или Langfuse.
LightEvaluator измеряет вывод, выбор инструментов, события политик, восстановление, задержку, usage и оценочную стоимость.
LightFlow — детерминированный workflow-слой для выполнения известных шагов.
- Состояния шагов:
pending,running,success,failed,skipped,waiting_approval. - Проверка DAG:
flow.validate(strict=True). - Управление шагом:
timeout,max_retry,cancel_if,fallback_agent,requires_approval,approval_handler. - Сохранение и восстановление:
JsonLightFlowStore,flow.resume(run_id),flow.rerun_step(run_id, step_name),flow.get_run(run_id),flow.list_runs().
См. LightFlow.
Guardrails — легкие hooks для проверки ввода, вызовов инструментов и вывода.
from LightAgent import (
LightAgent,
high_risk_parameter_guardrail,
output_redaction_guardrail,
privacy_input_guardrail,
sensitive_tool_confirmation_guardrail,
)
agent = LightAgent(
model="gpt-4.1",
api_key="your_api_key",
base_url="your_base_url",
input_guardrails=[privacy_input_guardrail()],
tool_guardrails=[
sensitive_tool_confirmation_guardrail(["transfer_money"], approved=False),
high_risk_parameter_guardrail({"amount": lambda value: float(value) <= 1000}),
],
output_guardrails=[output_redaction_guardrail()],
)См. Guardrails.
SharedMemoryPool — in-memory прототип общей памяти между агентами, используйте его вместе с MemoryPolicy.
LightAgent работает с OpenAI-совместимыми chat completion endpoint: OpenAI, OpenRouter, Zhipu ChatGLM, DeepSeek, Qwen, StepFun, Moonshot/Kimi, MiniMax, vLLM, llama.cpp, Ollama и собственные gateways.
For provider-specific parameters, base URLs, local model setup, and troubleshooting, see Model Provider Configuration.
- Умный клиент: Обеспечение эффективной поддержки клиентов через многоуровневое взаимодействие и интеграцию инструментов.
- Анализ данных: Использование дерева мышления и многослойного взаимодействия для обработки сложных задач анализа данных.
- Автоматизация инструментов: Быстрое создание индивидуальных инструментов через автоматическую генерацию.
- Учебная помощь: Обеспечение персонализированного опыта обучения с помощью модуля памяти и потокового API.
Мы приветствуем любую форму вклада! Будь то код, документация, тестирование или обратная связь - всё это огромная помощь проекту. Если у вас есть хорошие идеи или вы нашли ошибку, пожалуйста, подайте заявку или Pull Request. Вот шаги по вкладке:
- Сделайте форк проекта: нажмите кнопку
Forkв правом верхнем углу, чтобы скопировать проект в ваш репозиторий GitHub. - Создайте ветвь: создайте вашу разработческую ветвь локально:
git checkout -b feature/YourFeature
- Подайте измененные данные: после завершения разработки подайте ваши изменения:
git commit -m 'Добавление новой функции' - Отправьте ветвь: отправьте ветвь в ваш удалённый репозиторий:
git push origin feature/YourFeature
- Подайте Pull Request: в GitHub подайте Pull Request с описанием ваших изменений.
Мы проверим ваш вклад как можно быстрее, спасибо за поддержку!❤️
Разработка и реализация LightAgent стали возможны благодаря вдохновению и поддержке следующих открытых проектов, особенно благодарим эти замечательные проекты и команды:
- mem0: Спасибо mem0 за предоставление модуля памяти, который стал важным элементом управления контекстом для LightAgent.
- Swarm: Спасибо Swarm за идеи по многослойному взаимодействию агентов, которые стали основой функций LightAgent.
- ChatGLM3: Спасибо ChatGLM3 за поддержку высокопроизводительных китайских моделей и идеи по проектированию.
- Qwen: Спасибо Qwen за поддержку высокопроизводительных китайских моделей.
- DeepSeek-V3: Спасибо DeepSeek-V3 за поддержку высокопроизводительных китайских моделей.
- Серия шагов: Спасибо step за поддержку высокопроизводительных китайских моделей.
LightAgent лицензирован под Apache 2.0 лицензией. Вы можете свободно использовать, изменять и распространять этот проект, но пожалуйста, соблюдайте условия лицензии.
Если у вас есть вопросы или предложения, команда всегда открыта для контакта:
- Электронная почта: service@wanxingai.com
- GitHub Issues:https://github.com/wanxingai/LightAgent/issues
Мы ждём ваших отзывов, чтобы вместе сделать LightAgent ещё сильнее!🚀
LightAgent - сделаем интеллект легче, а будущее проще. 🌈
LightAgent — легковесная, гибкая, мощная активная платформа агента, помогающая вам быстро разрабатывать интеллектуальные приложения!
