以下の内容はhttps://blog.generative-agents.co.jp/entry/2025/03/27/151836より取得しました。


「AIエージェントキャッチアップ #26 - Agno」を開催しました

ジェネラティブエージェンツの大嶋です。

「AIエージェントキャッチアップ #26 - Agno」という勉強会を開催しました。

generative-agents.connpass.com

アーカイブ動画はこちらです。

www.youtube.com

Agno

今回は、メモリ・知識・ツールを備えたマルチモーダルエージェントを構築するための軽量ライブラリ「Agno」について、公式ドキュメントを読んだり動かしたりしてみました。

AgnoのGitHubリポジトリはこちらです。

github.com

公式ドキュメントはこちらです。

docs.agno.com

今回のポイント

Agnoの概要

AgnoはLLMエージェントのPythonフレームワークです。

もともと「Phidata」と呼ばれていたフレームワークが「Agno」になったようです。

github.com

Agnoの基本的な使い方

Agnoで単純なエージェントを呼び出す例は以下のようになります。

from agno.agent import Agent
from agno.models.openai import OpenAIChat

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    description="あなたは優秀なAIアシスタントです。",
    markdown=True,
)
agent.print_response("こんにちは!", stream=True)

ツール・ナレッジの統合

AgnoのAgentにはツールを与えることもできます。

agent = Agent(
        :
    tools=[DuckDuckGoTools()],
    show_tool_calls=True,
        :
)

LangChainのように、Agnoでも様々なツールが提供されています。

docs.agno.com

また、Vector DBを使ってナレッジを与えることもできます。

agent = Agent(
        :
    knowledge=PDFUrlKnowledgeBase(
        urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
        vector_db=LanceDb(
            uri="tmp/lancedb",
            table_name="recipes",
            search_type=SearchType.hybrid,
            embedder=OpenAIEmbedder(id="text-embedding-3-small"),
        ),
    ),
        :
)

マルチエージェント

Agnoではマルチエージェントもサポートされています。

たとえば以下のようにしてWebエージェントとFinanceエージェントのチームを作ることができます。

web_agent = Agent(
        :
)

finance_agent = Agent(
        :
)

agent_team = Agent(
    team=[web_agent, finance_agent],
        :
)

マルチエージェントの協調の仕方として、以下の3つのモードがサポートされています。

  • Route Mode
  • Coordinate Mode
  • Collaborate Mode

docs.agno.com

ワークフロー機能

Agnoには、ワークフローを構築する機能もあります。

Agnoが提供するWorkflowクラスを継承したクラスを用意して、runメソッドで自由にワークフローを組むことができます。

from agno.workflow import Workflow

class MyWorkflow(Workflow):
        :
    def run(self):
        # Pythonで自由にワークフローを実装

ワークフローでは「session_state」に状態を保存して管理できるようになっています。

docs.agno.com

その他、Agnoにはトレーシング機能やUIなどもあり、一通りの機能がそろったエージェントフレームワークという印象でした。

次回のご案内

以上、今回は「Agno」をキャッチアップしました。

次回は「AIエージェントキャッチアップ #27 - Second Me」ということで、自分自身のAIを作り上げる「Second Me」がテーマです!

generative-agents.connpass.com

ご興味・お時間ある方はぜひご参加ください!

また、その次の回以降のテーマも募集しているので、気になるエージェントのOSSなどあれば教えてください!




以上の内容はhttps://blog.generative-agents.co.jp/entry/2025/03/27/151836より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14