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ライセンス、活発なコミュニティ、広範なドキュメントと例。
リソース
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト