jjyaoao/HelloAgents

A agent framework based on the tutorial hello-agents

HelloAgents – モジュール式マルチエージェントフレームワーク

何であるか – HelloAgents は、大規模言語モデル(LLM)の 関数呼び出し インターフェースを介して通信する マルチエージェント アプリケーションを構築できる Python ライブラリです。プロンプトを送信し、ツール呼び出しを受け取り、ツールを実行し、結果をフィードバックするループをはじめから用意済み。さらに、コンテキスト管理、リトリーバー拡張生成(RAG)、永続的メモリ、サブエージェント、スキル、ストリーミング出力、観測性といったオプション機能も提供しています。

主要なコンポーネント

  • コア – SimpleAgent、ReActAgent、ReflectionAgent、PlanSolveAgent は異なる推論パターンを実装。HelloAgentsLLM は OpenAI互換、Anthropic、Gemini プロバイダーを抽象化し、LLM_BASE_URL から自動的に適切なアダプタを検出します。
  • ツールシステム – ToolRegistry を通じてツール(例:電卓)を登録。組み込みツールにはファイル編集、タスク委任、開発ログ、RAG、メモリ、GraphRAG、権限、回路ブレーカーなどがあります。
  • コンテキストエンジン – 会話履歴の管理、トークン予算、切り捨て処理を行い、モデルに送信する最終ペイロードを構築します。
  • リトリーバーとメモリ – プラグイン可能なベクトルストア(Qdrant)、BM25、ハイブリッドランキング、再ランク、ユーザー固有の事実を保存する永続的「プロフィール」ストアをサポート。
  • ランタイム – 非同期ループ、ストリーミング SSE 出力、複数モデル間での予算共有、セッションの永続化、バックグラウンドジョブを処理します。

導入方法

  1. uv sync --locked または pip install -r requirements.txt でインストール(Python 3.12–3.13)。
  2. モデルID、APIキー、ベースURLを含む .env ファイルを定義。
  3. 必要なツールを登録し、HelloAgentsLLM インスタンスを作成。その後 SimpleAgent をインスタンス化し、agent.run(prompt) を呼び出します。
from hello_agents import SimpleAgent, HelloAgentsLLM, ToolRegistry
from hello_agents.tools import CalculatorTool

registry = ToolRegistry()
registry.register_tool(CalculatorTool())
with HelloAgentsLLM() as llm:
    agent = SimpleAgent("assistant", llm, tool_registry=registry)
    print(agent.run("2泊の宿泊費が1泊320元、交通費180元の合計予算を計算して"))

拡張性 – AgentComponents を通じて任意のオプションコンポーネント(例:RAGストア、メモリストア、サブエージェント)を追加可能。また、以下の機能もサポートしています:

  • MCPブリッジ:外部ツール統合(stdio/HTTP)
  • 回路ブレーカー および 権限 ポリシーによるツール実行のサンドボックス化
  • TraceLogger を用いた観測性による実行トレース

ドキュメントと例 – リポジトリにはインストール、信頼性、ツール応答プロトコル、コンテキスト設計、RAG、GraphRAG、メモリ、サブエージェント、ストリーミングなど、完全なドキュメント階層と、各機能を示す豊富な examples/ フォルダが含まれています。単純な非同期エージェントデモから、完全な旅行アシスタントアプリまでをカバーしています。

コミュニティとバージョン

  • 主な2つのブランチ:learn_version(Datawhaleチュートリアルと同期)と現在の v1.0.1 リリース。
  • Go および TypeScript でのコミュニティポートがリンクされています。
  • CC BY-NC-SA 4.0 ライセンス(非営利利用);商業利用は許可が必要です。

対象ユーザー – ツール使用、リトリーブ、メモリを備えた LLM ベースのエージェントを、すべてを自前で構築せずに、即時利用可能かつ高度にカスタマイズ可能なフレームワークで構築したい開発者向け。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト