wanxingai/LightAgent
LightAgent: Lightweight Python framework for OpenAI-compatible agents with tools, memory, guardrails, tracing, lifecycle hooks, multi-agent collaboration, and workflows.
LightAgent – 초경량 오픈소스 에이전트 프레임워크
소개 – LightAgent는 LLM 기반 에이전트를 구축, 실행 및 오케스트레이션할 수 있는 Python 라이브러리입니다. 소규모 코드베이스, 모듈식 설계, 그리고 영구 메모리, 도구 통합, 멀티 에이전트 라우팅, 결정론적 워크플로우, OpenAI 호환 스트리밍 API와 같은 프로덕션 준비 기능을 중점적으로 다룹니다.
주요 기능
| 기능 | 제공 내용 |
|---|---|
| 단일 에이전트 런타임 | LightAgent는 모델 호출, 선택적 도구, 메모리, 가드레일 및 스트리밍을 단일 run() 호출로 처리합니다. |
| 메모리 | 장기 사용자 메모리에 대한 내장 지원(mem0 모듈 경유) 및 멀티 에이전트 실험을 위한 프로토타입 공유 메모리 풀. |
| 도구 사용 | Python 함수를 도구로 등록 가능하며, 기본적으로 안전한 표현식 도구가 제공됩니다. 샌드박스 도구를 추가하지 않는 한 임의의 Python 실행은 비활성화됩니다. |
| 사고의 나무 (Tree-of-Thought) 추론 | 복잡한 쿼리를 성찰을 포함한 다단계 추론으로 분해합니다. |
| 멀티 에이전트 협업 | LightSwarm이 사용자 의도를 전문 에이전트로 라우팅하며, 에이전트 간에 작업을 위임할 수 있습니다. |
| 워크플로우 오케스트레이션 | LightFlow는 단계 의존성, 재시도, 체크포인트, 승인 노드 및 재개/재실행 지원을 갖춘 결정론적 DAG 워크플로우를 구축합니다. |
| 동적 DAG | LightDAG(옵트인)는 런타임 그래프 변경을 유지하고, 워커를 병렬로 실행하며, 아티팩트 게시 전 검증을 요구합니다. |
| 스트리밍 API | OpenAI 스타일의 스트리밍 청크를 반환하므로, OpenAI 스트리밍 형식을 기대하는 모든 채팅 UI에 에이전트를 통합할 수 있습니다. |
| 관측 가능성 및 추적 | trace=True는 기본 문자열 반환값을 변경하지 않고 구조화된 이벤트(모델 호출, 도구 사용, 오류, 지연 시간)를 기록합니다. |
| 안전 및 가드레일 | 입력, 도구 및 출력 가드레일 템플릿을 통해 개인 정보 차단, 위험한 도구에 대한 인간 확인 요구, 민감한 출력 편집이 가능합니다. |
| Human-in-the-loop | HumanApprovalHook을 사용하여 영향력이 큰 작업에 대한 수동 검토를 위해 실행을 일시 중지할 수 있습니다. |
| 평가 도구 | LightEvaluator는 결정론적 회귀 케이스를 실행하여 동작, 지연 시간, 비용 및 정책 준수 여부를 검증합니다. |
| 확장 가능한 런타임 | 세션, AgentRuntime, 기능 레지스트리, 정책 엔진, 받은 편지함/목표/예산, 그리고 확장 가능한 프로덕션 사용을 위한 선택적 SQLite-FTS5 검색. |
일반적인 사용 패턴
from LightAgent import LightAgent, LightFlow, HumanApprovalHook, LightEvaluator
# 기본 에이전트
agent = LightAgent(model="gpt-4.1", api_key="…")
print(agent.run("Hello, who are you?"))
# 스트리밍 응답
for chunk in agent.run("Tell me a story", stream=True):
print(chunk, end="")
# 도구 및 가드레일 추가
agent = LightAgent(
model="gpt-4.1",
tools=[my_search_tool],
input_guardrails=[block_private_data],
hooks=[HumanApprovalHook(tools={"send_payment"})]
)
# LightFlow를 사용한 결정론적 워크플로우
flow = LightFlow().step(name="search", tool=my_search_tool).step(name="summarize", depends_on="search")
result = flow.run("Give me a summary of recent AI papers")
# 에이전트 동작 평가
report = LightEvaluator().run(agent, [
EvaluationCase(name="payment policy", query="Pay invoice 42", expected_trace_events=("approval_required",))
])
print(report.to_dict())
설치
pip install lightagent # 핵심 라이브러리
pip install mem0ai # 선택적 메모리 백엔드
이 패키지는 PyPI에 게시되어 있으며 Python 3.8+를 지원하고, 모든 OpenAI 호환 엔드포인트(OpenAI, OpenRouter, DeepSeek, Qwen, vLLM, llama.cpp 등)와 작동합니다.
LightAgent를 선택해야 하는 이유
- 경량화 – LangChain이나 LlamaIndex와 같은 무거운 의존성이 없습니다.
- 프로덕션 준비 – 지속 가능한 세션, 체크포인트 워크플로우, 승인 후크 및 구조화된 추적.
- 확장성 – 사용자 정의 도구, 메모리 어댑터, 기능 정책 또는 자체 샌드박스를 플러그인할 수 있습니다.
- 오픈소스 – Apache-2.0 라이선스, 활발한 커뮤니티, 광범위한 문서 및 예제.
리소스
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트