![LightAgent Banner](docs/images/lightagent-banner.jpg)

License GitHub release GitHub issues GitHub stars GitHub forks GitHub contributors Docs PyPI Downloads Python Version Code Style

English | 简体中文 | 繁體中文 | Español | Français | Deutsch | 日本語 | 한국어 | Português | Русский

LightAgent🚀(차세대 Agentic AI 프레임워크)

**LightAgent**는 재사용 가능한 Skills, 도구, 선택적 장기 메모리, OpenAI 호환 모델 및 스트리밍을 지원하는 모듈형 오픈 소스 Python 프레임워크입니다. `LightSwarm`은 라우팅, `LightFlow`는 정해진 단계, `LightDAG`는 영속적인 동적 검증 작업을 담당합니다. 선택적 이벤트 소싱 Runtime은 영속 Session, 비동기 실행, 정책 및 승인을 제공합니다. MCP는 stdio, SSE, Streamable HTTP를 지원합니다. --- ## 뉴스 - new**[2026-10-01]** LightAgent v0.11.0 릴리스: 선택형 영속 동적 다중 에이전트 DAG, 검증 후에만 공개되는 불변 산출물, lease와 fencing을 통한 복구, 권한을 축소만 할 수 있는 통합 `SecurityContext` 및 승인 제어를 추가했습니다. - **[2026-08-15]** LightAgent v0.10.0 릴리스: 영속 Session, 비동기 실행, Capability Registry와 Policy, Inbox, Goals, Budgets, Jobs, 하위 에이전트, 컨텍스트 압축 및 SQLite FTS5 검색을 갖춘 이벤트 기반 Agent Runtime을 도입했습니다. - **[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의 지속 가능한 사람 승인, 공유 Graph Memory의 fail-closed 쓰기 승인 및 감사 제어를 추가했습니다. - **[2026-06-24]** LightAgent v0.9.0: 영속 LightFlow checkpoint, resume/rerun, 승인 노드, 명확한 단계 상태, trace 메타데이터, Guardrails 템플릿, MemoryPolicy 제어, SharedMemoryPool 프로토타입을 추가했습니다. - **[2026-06-14]** LightAgent v0.8.1: MemoryScope 규약과 MemoryPolicy 출처/범위/신뢰도 필터를 추가했습니다. - **[2026-06-02]** LightAgent v0.8.0: 결정적 다단계 workflow를 위한 LightFlow를 도입했습니다. 이전 릴리스 노트는 [GitHub Releases](https://github.com/wanxingai/LightAgent/releases)를 참고하세요. --- ## ✨ 특징 - **경량 및 효율성**: LangChain이나 LlamaIndex 없이 사용하는 모듈형 오픈 소스 Python 프레임워크로, 모델, MCP, 메모리, 추적에는 목적별 의존성을 사용합니다. - **이벤트 소싱 Runtime**: 선택적 영속 Session, 재생, checkpoint, 비동기 호출, Capability와 Policy, Inbox, Goals, Budgets, Jobs, 하위 Agent, 컨텍스트 압축 및 SQLite FTS5 검색. - **동적 검증 DAG**: LightDAG는 그래프 변경을 영속화하고 독립 Worker를 병렬 실행하며, 애플리케이션이 지정한 검증을 통과한 후에만 불변 결과물을 게시합니다. - **기억 지원** 🧠: 각 사용자에 대한 맞춤형 장기 기억을 지원하며, 기본적으로 `mem0` 기억 모듈을 지원하여 대화 과정에서 사용자 맞춤 기억을 자동으로 관리하여 에이전트를 더욱 스마트하게 만듭니다. - **자율 학습** 📚️: 각 에이전트는 자율 학습 능력을 가지며 권한이 있는 관리자는 각 에이전트를 관리할 수 있습니다. - **도구 통합** 🛠️: 사용자 정의 도구(`Tools`)를 지원하며, 자동화 도구 생성을 통해 유연하게 확장 가능하며 다양한 요구를 충족합니다. - **복잡한 목표** 🌳: 반성적 사고가 가능한 사고 트리(ToT) 모듈이 내장되어 복잡한 작업 분해 및 다단계 추론을 지원하여 작업 처리 능력을 향상시킵니다. - **다중 에이전트 협업** 🤖: 스웜보다 더 간단하게 구현할 수 있는 다중 에이전트 협업 시스템으로, 내장된 LightSwarm을 통해 의도 판단 및 작업 전송 기능을 제공하여 사용자 입력을 보다 스마트하게 처리하고 필요에 따라 작업을 다른 에이전트에게 전송할 수 있습니다. - **독립 실행** 🤖: 인위적 개입 없이 자율적으로 작업 도구 호출을 완료합니다. - **다양한 모델 지원** 🔄: OpenAI, Zhiyun ChatGLM, Baichuan 대모델, StepFun, DeepSeek, Qwen 시리즈 대모델을 호환합니다. - **스트리밍 API** 🌊: OpenAI 스트리밍 형식 API 서비스 출력을 지원하여 주요 채팅 프레임워크와 원활하게 통합되어 사용자 경험을 향상시킵니다. - **Tools 도구 생성기** 🚀: API 문서만 제공하면 [Tools 도구 생성기]가 자동으로 귀하만의 도구를 만들고, 단 1시간 내에 수백 개의 맞춤형 도구를 신속하게 구축하여 효율성을 높이고 혁신 잠재력을 발휘할 수 있습니다. - **에이전트 자기 학습** 🧠️: 각 에이전트는 사용자 대화에서 자기 학습 능력을 가진 장면 기억 능력을 가지고 있습니다. - **적응형 도구 메커니즘** 🛠️: 무제한 도구 추가를 지원하며, 수천 개의 도구 중에서 대모델이 후보 도구 집합을 선택한 후 관련 없는 도구를 필터링하여 대모델에 문맥을 제출하여 Token 소비를 대폭 줄일 수 있습니다. - **워크플로 오케스트레이션** 🔁: LightFlow는 명시적 의존성, 출력 전달, 재시도, checkpoint, resume/rerun, 승인 노드, fallback agent, 추적 가능한 실행을 갖춘 결정적 workflow를 구성합니다. - **공유 메모리 프로토타입** 🧠: SharedMemoryPool은 출처 메타데이터, 범위 기반 검색, MemoryPolicy 호환 결과를 제공하는 인메모리 공유 기억입니다. - **Guardrails 템플릿** 🛡️: 입력, 도구, 출력에 대한 재사용 가능한 안전 정책으로 개인정보 차단, 민감 도구 확인, 고위험 인자 검증, 출력 마스킹을 수행합니다. - **Runtime Hooks** 🧩: 정렬된 `hooks=[...]` 미들웨어로 run, 모델, 도구, 메모리, LightFlow 단계 payload를 관찰, 교체, 차단할 수 있습니다. - **평가와 사람 검토** 📊: `LightEvaluator`는 결정적 회귀 평가를 실행하며, `HumanApprovalHook`, 영구 review store, LightFlow checkpoint는 승인, 거부, 인자 편집과 feedback을 지원합니다. ## 🧭 아키텍처 한눈에 보기 | 계층 | 주요 API | 사용 시점 | | --- | --- | --- | | 단일 Agent 런타임 | `LightAgent` | 모델 호출, 도구, 메모리, 스트리밍, trace, guardrails가 필요한 경우. | | 영속 런타임 상태 | `Session`, `AgentRuntime` | 재생, checkpoint, Inbox, Goals, Budgets, Jobs 및 컨텍스트 복구. | | 기능 계층 | `CapabilityRegistry`, `PolicyEngine` | 범위가 제한된 Provider, 정책, 수명 주기 및 감사. | | 통합 보안 컨텍스트 | `SecurityContext`, `CapabilityGate`, `ApprovalToken` | ID, 축소만 가능한 권한, 인가 및 작업에 연결된 승인. | | 다중 Agent 라우팅 | `LightSwarm` | 전문 Agent 간 역할 기반 위임. | | 결정적 workflow | `LightFlow` | DAG, 재시도, checkpoint, 승인, resume, rerun. | | 동적 검증 워크플로 | `LightDAG` | 동적 분해, Verifier, 결과물, 병렬 Worker 및 복구. | | 도구와 통합 | `tools`, `ToolRegistry`, MCP | Python 도구, 생성 도구, 런타임 로딩, MCP 서버. | | 메모리 경계 | `MemoryPolicy`, `MemoryScope` | 테넌트 격리, 출처, 신뢰, 만료, 쓰기 승인. | | 공유 메모리 | `SharedMemoryPool` | Agent 간 공유 기억 실험. | | 안전 제어 | `input_guardrails`, `tool_guardrails`, `output_guardrails` | 개인정보, 도구 확인, 위험 인자, 출력 마스킹. | | Runtime hooks | `hooks`, `HookContext`, `HookDecision` | 생명주기 경계의 정책, 감사, 마스킹, 라우팅, payload 변경. | | 관측성 | `trace=True`, `agent.export_trace()` | 실행, 모델, 도구, 오류, workflow 구조화 이벤트. | ## 핵심 사용 패턴 LightAgent는 기본 호출 경로를 단순하게 유지하면서 운영 제어를 단계적으로 추가할 수 있습니다. | 패턴 | 최소 호출 | 설명 | | --- | --- | --- | | 기본 응답 | `agent.run(query)` | 기본적으로 문자열을 반환합니다. | | 스트리밍 | `agent.run(query, stream=True)` | OpenAI 호환 chunk를 반환합니다. | | 구조화 결과 | `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)` | 결정적 다단계 실행에 사용합니다. | | 동적 워크플로 | `LightDAG(...).create_run(...)` | 작업을 동적으로 제안하고 게시 전에 결과를 검증합니다. | | 영속 Session | `agent.run(query, session_id="project-42")` | 이어서 실행하거나 재생하려면 영속 SessionStore를 설정해야 합니다. | | 비동기 | `await agent.arun(query)` | asyncio 애플리케이션용 비차단 진입점입니다. | ## v0.11.0: 검증 기반 동적 워크플로 역할 기반 라우팅에는 `LightSwarm`, 정해진 단계에는 `LightFlow`, 실행 중 Worker가 새 작업을 제안해야 할 때는 선택적으로 활성화하는 `LightDAG`를 사용합니다. - `SqliteTaskGraphStore`는 작업, 시도, 그래프 변경, 이벤트 및 복구 상태를 저장합니다. 독립적인 Worker 인스턴스를 동시에 실행할 수 있습니다. - Worker는 `TaskOutcome.candidate(...)`, `TaskOutcome.decompose(...)` 또는 `TaskOutcome.blocked(...)`를 반환합니다. 분해 승인과 불변 산출물 공개는 애플리케이션이 고정한 Verifier만 수행합니다. - lease와 fencing은 재시작 시 오래된 시도를 거부합니다. `SecurityContext`, `CapabilityGate`, 작업에 바인딩된 `ApprovalToken`이 신원, 축소만 가능한 권한 및 승인을 명시합니다. ### 오프라인 LightDAG 예제 모델, API 키, 네트워크가 필요하지 않습니다. 임시 SQLite 데이터베이스와 산출물 디렉터리를 사용하고 종료 시 정리합니다. ```python from pathlib import Path from tempfile import TemporaryDirectory from LightAgent import ( CallableVerifier, LightDAG, LocalArtifactStore, PermissionSet, SecurityContext, SqliteTaskGraphStore, TaskOutcome, TaskSpec, ) with TemporaryDirectory() as directory: root = Path(directory) store = SqliteTaskGraphStore(root / "dag.sqlite3") try: dag = LightDAG( store=store, artifact_store=LocalArtifactStore(root / "artifacts"), verifiers={"exact": CallableVerifier( "exact", lambda request: request.candidate_content == b"42", )}, ) dag.register_worker("local", lambda context: TaskOutcome.candidate("42")) dag.create_run([TaskSpec( task_id="answer", goal="42", acceptance_contract={"equals": "42"}, worker_key="local", verifier_key="exact", )], run_id="readme-demo", context=SecurityContext( user_id="alice", tenant_id="demo", project_id="readme", permissions=PermissionSet(allowed=frozenset({"dag.task.execute"})), )) result = dag.run("readme-demo") assert result.success print(result.status.value) finally: store.close() ``` 영속 사용 시에는 임시 디렉터리 대신 명시적인 저장 경로를 유지하세요. [동적 분해와 복구 전체 예제](example/14.dynamic_dag.py) 및 [LightDAG 가이드](docs/lightdag.md)에서 의존성, 통합, 재시도, 복구를 설명합니다. 영속 Session, 비동기 호출, Capability Provider, Policy, Inbox, Goals, Budgets, Jobs 설정은 [Runtime 가이드](docs/runtime_v010.md)를 참고하세요. ### 호환성과 보안 경계 - 기존 `agent.run(query)`, `stream=True`, `user_id`는 계속 지원합니다. LightDAG는 선택 기능이며 LightFlow를 대체하지 않습니다. - v0.11.0은 단일 호스트, 로컬 SQLite, 실행당 하나의 활성 스케줄러를 전제로 합니다. 실행은 최소 한 번이며 외부 부작용에는 멱등성이 필요합니다. 분산 Worker, Web UI, 내장 코드 샌드박스는 포함하지 않습니다. - `enable_unsafe_python=True` 또는 등록된 `SandboxProvider`가 있어도 기존 `execute_python_code`, `execute_python_file`, `execute_python_code_stream`의 모델/도구 디스패치는 차단됩니다. `safe_expression`이나 실제로 격리된 사용자 정의 도구를 사용하세요. 유틸리티 직접 호출은 보안 샌드박스가 아닙니다. - 메모리 출처, 쓰기 승인 및 승격 정책은 여전히 필요합니다. 프레임워크 테스트만으로 실제 공유 그래프 메모리 backend의 보안을 인증할 수 없습니다. [메모리 보안 경계](docs/memory_security.md)를 참고하세요. ### 공개 릴리스와 현재 main [v0.11.0](https://github.com/wanxingai/LightAgent/releases/tag/v0.11.0)은 2026-10-01에 공개되었습니다. 도구 선택 JSON, MCP SDK 1.x/2.x 및 선택형 deed.page 예제의 후속 변경은 해당 tag 이후 `main`에 병합되었으며 배포 패키지에는 없을 수 있습니다. 다음 명령은 원래 tag가 아닌 현재 `main`을 설치합니다. ```bash pip install --upgrade "git+https://github.com/wanxingai/LightAgent.git@main" ``` [Tools Guide](docs/tools.md), 선택형 [Memcode 어댑터](docs/memcode_memory_adapter.md), [deed.page 예제](docs/deed_page_mcp.md), [공개 API 호환성 목록](docs/public_api_compatibility.md)을 참고하세요. 이러한 외부 서비스는 핵심 런타임의 필수 조건이 아닙니다. ## 📋 문서 - 설치, 모델, 도구, 메모리, MCP, Skills, 스트리밍, LightSwarm은 [FAQ](docs/FAQ.md)를 참고하세요. - 결정적 workflow, checkpoint, resume/rerun, 승인, fallback agent, 단계 상태는 [LightFlow](docs/lightflow.md)를 참고하세요. - 사용자 정의 도구, ToolRegistry, ToolLoader, AsyncToolDispatcher, MCP는 [Tools Guide](docs/tools.md)를 참고하세요. - 공유 장기 기억 또는 그래프 기억은 [Memory Security Guidance](docs/memory_security.md)를 참고하세요. - SharedMemoryPool은 [SharedMemoryPool](docs/shared_memory_pool.md)를 참고하세요. - 메모리 쓰기 승인과 만료 제어는 [Memory Admission And Mutation Controls](docs/memory_admission.md)를 참고하세요. - 입력, 도구, 출력 안전 정책은 [Guardrails](docs/guardrails.md)를 참고하세요. - payload를 관찰, 교체, 차단하는 runtime middleware는 [Runtime Hooks](docs/runtime_hooks.md)를 참고하세요. - OpenRouter, 로컬 모델, OpenAI 호환 공급자는 [Model Provider Configuration](docs/model_providers.md)를 참고하세요. - 구조화 trace는 [Trace Observability](docs/tracing.md)를 참고하세요. - 결정적 회귀 평가는 [Evaluation Harness](docs/evaluation.md)를 참고하세요. - 도구/handoff 승인, 영구 검토와 feedback은 [Human Review](docs/human_review.md)를 참고하세요. ## 로드맵 완료된 기능과 향후 계획은 [로드맵](roadmap.md)을 참고하세요. Inbox, Jobs, 하위 Agent는 선택적 Runtime에서 이미 사용할 수 있습니다. ## 🌟 왜 LightAgent를 선택해야 하나요? - **오픈 소스 무료** 💖: 완전 오픈 소스이며, 커뮤니티 주도로 지속적으로 업데이트되며 기여를 환영합니다! - **손쉬운 사용** 🎯: 문서가 자세하고 예시가 풍부하여 빠르게 배우고 쉽게 프로젝트에 통합할 수 있습니다. - **커뮤니티 지원** 👥: 활발한 개발자 커뮤니티가 언제든지 도움과 답변을 제공합니다. - **고성능** ⚡: 최적화된 설계로 고효율로 실행되며 고병렬 요구를 충족합니다. --- ## 🛠️ 빠른 시작 ### LightAgent 최신 버전 설치 ```bash pip install lightagent ``` (선택 설치) pip를 통해 Mem0 패키지 설치: ```bash pip install mem0ai ``` 또는 호스팅 플랫폼에서 Mem0을 한 번 클릭하여 사용할 수 있습니다. [여기 클릭](https://www.mem0.ai/). ### Hello world 예제 코드 ```python 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 확인 (v0.7.0) Trace는 선택 기능이며 기본 `agent.run()` 동작과 호환됩니다. ```python 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 저장 (v0.9.0) `LightFlow`는 workflow checkpoint를 저장하고 실패한 실행을 첫 단계부터 다시 시작하지 않고 재개할 수 있습니다. ```python 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 사용 (v0.9.0) `SharedMemoryPool`은 다중 Agent 공유 기억 실험을 위한 가벼운 인메모리 프로토타입입니다. ```python 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")) ``` ### 시스템 프롬프트로 모델 자기 인식 설정 ```python from LightAgent import LightAgent # 에이전트 초기화 agent = LightAgent( role="당신은 LightAgent로, 사용자에게 여러 도구 사용을 돕는 유용한 도우미임을 기억하세요.", # 시스템 역할 설명 model="deepseek-chat", # 지원 모델: openai, chatglm, deepseek, qwen 등 api_key="your_api_key", # 당신의 대형 모델 서비스 제공자가 사용하는 API Key로 교체 base_url="your_base_url", # 당신의 대형 모델 서비스 제공자의 api url로 교체 ) # 에이전트 실행 response = agent.run("당신은 누구인가요?") print(response) ``` ### 도구 사용 예제 코드 ```python 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는 핵심 사용 모델을 유지하고, 긴 예제와 어댑터 설정, 운영 지침은 전용 문서에 둡니다. ### 1. 분리 가능한 메모리 모듈(`mem0`) LightAgent는 `store(data, user_id)`와 `retrieve(query, user_id)`를 제공하는 모든 메모리 backend를 받을 수 있습니다. 대화 격리는 `user_id`, 공유 메모리는 `MemoryPolicy`를 사용합니다. ### 2. 도구 통합 `tool_info` 메타데이터가 있는 Python 함수로 Agent에 제어된 기능을 제공합니다. ToolRegistry, ToolLoader, AsyncToolDispatcher, MCP는 [Tools Guide](docs/tools.md)를 참고하세요. ### 3. 도구 생성기 `agent.create_tool()`는 API 문서나 자연어 설명에서 도구 코드를 생성할 수 있습니다. 운영 전 리뷰와 테스트가 필요합니다. ### 4. 사고 트리(ToT) 명시적 계획, 성찰, 도구 선택이 필요한 작업에는 `tree_of_thought=True`를 사용합니다. ### 5. 다중 Agent 협업 `LightSwarm`은 전문 Agent 사이에 작업을 위임합니다. 역할은 좁게 유지하고 메모리 쓰기는 정책으로 제한하세요. ### 6. 스트리밍 API `agent.run(query, stream=True)`는 채팅 UI와 긴 응답을 위해 OpenAI 호환 chunk를 반환합니다. ### 7. Agent 자기 학습 자기 학습은 `MemoryPolicy`와 함께 사용해 개인정보, 만료, 무관한 내용을 장기 기억에 넣지 않도록 해야 합니다. ### 8. Trace와 Langfuse LightAgent는 내장 trace 또는 Langfuse로 실행을 관측할 수 있습니다. ### 9. Agent 평가 `LightEvaluator`는 결정적 업무 사례에서 출력, 도구 선택, 정책 이벤트, 복구, 지연, usage와 예상 비용을 측정합니다. ### 10. LightFlow Workflow `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](docs/lightflow.md)를 참고하세요. ### 11. Guardrails Guardrails는 입력, 도구 호출, 출력을 검사하는 가벼운 hook입니다. ```python 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](docs/guardrails.md)를 참고하세요. ### 12. SharedMemoryPool `SharedMemoryPool`은 다중 Agent 공유 기억 실험용 인메모리 프로토타입이며 `MemoryPolicy`와 함께 사용합니다. ## 주요 에이전트 모델 지원 LightAgent는 OpenAI 호환 chat completion endpoint와 동작합니다: OpenAI, OpenRouter, Zhipu ChatGLM, DeepSeek, Qwen, StepFun, Moonshot/Kimi, MiniMax, vLLM, llama.cpp, Ollama, 자체 gateway. For provider-specific parameters, base URLs, local model setup, and troubleshooting, see [Model Provider Configuration](docs/model_providers.md). ## 사용 사례 - **스마트 고객 서비스**: 다중 회화 및 도구 통합을 통해 효과적인 고객 지원을 제공합니다. - **데이터 분석**: 사고 트리 및 다중 에이전트 협업을 활용하여 복잡한 데이터 분석 작업을 처리합니다. - **자동화 도구**: 자동화 도구 생성을 통해 맞춤형 도구를 신속하게 구축합니다. - **교육 지원**: 기억 모듈 및 스트리밍 API를 통해 개인화된 학습 경험을 제공합니다. --- ## 🛠️ 기여 안내 우리는 어떤 형태의 기여든 환영합니다! 코드, 문서, 테스트 또는 피드백은 모두 프로젝트에 큰 도움이 됩니다. 좋은 아이디어가 있거나 버그를 발견한 경우, Issue 또는 Pull Request를 제출해 주십시오. 기여 방법은 다음과 같습니다: 1. **이 프로젝트 포크하기**: 오른쪽 상단의 `Fork` 버튼을 클릭하여 프로젝트를 귀하의 GitHub 리포지토리로 복사합니다. 2. **브랜치 생성**: 로컬에서 개발 브랜치를 생성합니다: ```bash git checkout -b feature/YourFeature ``` 3. **변경 내역 제출**: 개발을 완료한 후 변경 사항을 제출합니다: ```bash git commit -m 'Add some feature' ``` 4. **브랜치 푸시**: 브랜치를 귀하의 원격 리포지토리에 푸시합니다: ```bash git push origin feature/YourFeature ``` 5. **Pull Request 제출**: GitHub에서 Pull Request를 제출하고 변경 사항에 대해 설명합니다. 우리는 귀하의 기여를 즉시 검토할 것이며, 귀하의 지원에 감사드립니다!❤️ --- ## 🙏 감사의 말씀 LightAgent의 개발 및 구현은 다음 오픈 소스 프로젝트의 영감과 지원에 힘입었습니다. 특히 이러한 뛰어난 프로젝트와 팀에 감사를 드립니다: - **mem0**: [mem0](https://github.com/mem0ai/mem0)에서 제공하는 기억 모듈에 감사드립니다. LightAgent의 문맥 관리에 강력한 지원을 제공했습니다. - **Swarm**: [Swarm](https://github.com/openai/swarm)에서 제공한 다중 에이전트 협업 디자인 아이디어에 감사드립니다. LightAgent의 다중 에이전트 기능의 기본을 마련했습니다. - **ChatGLM3**: [ChatGLM3](https://github.com/THUDM/ChatGLM3)에서 제공하는 고성능 중국어 대형 모델 지원과 디자인 영감에 감사드립니다. - **Qwen**: [Qwen](https://github.com/QwenLM/Qwen)에서 제공하는 고성능 중국어 대형 모델 지원에 감사드립니다. - **DeepSeek-V3**: [DeepSeek-V3](https://github.com/deepseek-ai/DeepSeek-V3)에서 제공하는 고성능 중국어 대형 모델 지원에 감사드립니다. - **阶跃星辰**: [step](https://www.stepfun.com/)에서 제공하는 고성능 중국어 대형 모델 지원에 감사드립니다. --- ## 📄 라이센스 LightAgent는 [Apache 2.0 라이센스](LICENSE)를 따릅니다. 본 프로젝트는 자유롭게 사용, 수정 및 배포할 수 있지만 라이센스 조건을 준수해야 합니다. --- ## 📬 문의하기 질문이나 제안이 있는 경우 언제든지 문의해 주십시오: - **이메일**: service@wanxingai.com - **GitHub Issues**:[https://github.com/wanxingai/LightAgent/issues](https://github.com/wanxingai/LightAgent/issues) 우리는 귀하의 피드백을 기대하며 함께 LightAgent를 더 강력하게 만들어 갑시다!🚀 - **더 많은 도구** 🛠️: 사용 사례 요구를 충족하기 위해 더 많은 유용한 도구를 지속적으로 통합합니다. - **더 많은 모델 지원** 🔄: 더 많은 대형 모델을 지속적으로 지원하여 더 다양한 응용 사례를 충족합니다. - **더 많은 기능** 🎯: 더 많은 유용한 기능이 지속적으로 업데이트됩니다. 기대해 주세요! - **더 많은 문서** 📚: 자세한 문서와 풍부한 예시로 빠르게 배워 프로젝트에 쉽게 통합할 수 있습니다. - **더 많은 커뮤니티 지원** 👥: 활발한 개발자 커뮤니티가 언제든지 도움과 해답을 제공합니다. - **더 많은 성능 최적화** ⚡: 고병렬 요구를 충족하기 위해 성능을 지속적으로 최적화합니다. - **더 많은 오픈 소스 기여** 🌟: 기여 코드를 환영하며 함께 더 나은 LightAgent를 만들어 갑시다! ---

LightAgent - 스마트함을 더 가볍게, 미래를 더 단순하게 만듭니다. 🌈

**LightAgent** —— 경량화, 유연성, 강력한 능동적 에이전트 프레임워크로, 스마트 애플리케이션을 신속하게 구축합니다!