Agno : コンセプト : ツール – 知識ツール

KnowledgeTools ツールキットは「思考 → 検索 → 分析」(“Think → Search → Analyze”) サイクルを実装しています。
エージェントが知識ベースから情報を検索、取得して分析することを可能にします。このツールキットは AgentKnowledge と統合され、ユーザに応答する前に関連情報を検索して評価するための構造化ワークフローを提供します。

Agno : ユーザガイド : コンセプト : ツール – 知識ツール

作成 : クラスキャット・セールスインフォメーション
作成日時 : 08/10/2025
バージョン : Agno 1.7.7

* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

Agno ユーザガイド : コンセプト : ツール – 知識ツール

KnowledgeTools ツールキットは、エージェントが知識ベースから情報を検索、取得して分析することを可能にします。このツールキットは AgentKnowledge と統合され、ユーザに応答する前に関連情報を検索して評価するための構造化ワークフローを提供します。

このツールキットは以下をエージェントに可能にする、「思考 → 検索 → 分析」(“Think → Search → Analyze”) サイクルを実装しています :

  1. 問題全体を考えて検索クエリーを計画します。

  2. 関連情報を知識ベースで検索します。

  3. 結果を分析して、それらが十分であるか、追加の検索が必要か判断します。

このアプローチは、エージェントに知識を検索し、評価して合成するツールを与えて、正確な情報を提供するエージェントの能力を大幅に向上させます。

ツールキットは以下のツールを含みます :

  • think : 計画、キーワードのブレインストーミング、アプローチの改良のためのスクラッチパッド。これらの思考はエージェント内部に保持され、ユーザには示されません。

  • search : 知識ベースに対してクエリーを実行し関連ドキュメントを取得します。

  • analyze : 返されたドキュメントが正しく十分であるか評価し、さらなる検索が必要か判断します。

 

KnowledgeTools ツールキットを使用する方法の例が以下です :

from agno.agent import Agent
from agno.embedder.openai import OpenAIEmbedder
from agno.knowledge.url import UrlKnowledge
from agno.models.openai import OpenAIChat
from agno.tools.knowledge import KnowledgeTools
from agno.vectordb.lancedb import LanceDb, SearchType

# Create a knowledge base containing information from a URL
agno_docs = UrlKnowledge(
    urls=["https://docs.agno.com/llms-full.txt"],
    # Use LanceDB as the vector database and store embeddings in the `agno_docs` table
    vector_db=LanceDb(
        uri="tmp/lancedb",
        table_name="agno_docs",
        search_type=SearchType.hybrid,
        embedder=OpenAIEmbedder(id="text-embedding-3-small"),
    ),
)

knowledge_tools = KnowledgeTools(
    knowledge=agno_docs,
    think=True,
    search=True,
    analyze=True,
    add_few_shot=True,
)

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[knowledge_tools],
    show_tool_calls=True,
    markdown=True,
)

if __name__ == "__main__":
    # Load the knowledge base, comment after first run
    agno_docs.load(recreate=True)
    agent.print_response("How do I build multi-agent teams with Agno?", stream=True)

ツールキットは、エージェントがツールを効果的に使用できるように、デフォルトの指示と few-shot サンプルを備えています。それらを設定する方法は以下です :

from agno.tools.knowledge import KnowledgeTools

knowledge_tools = KnowledgeTools(
    knowledge=my_knowledge_base,
    think=True,                # Enable the think tool
    search=True,               # Enable the search tool
    analyze=True,              # Enable the analyze tool
    add_instructions=True,     # Add default instructions
    add_few_shot=True,         # Add few-shot examples
    few_shot_examples=None,    # Optional custom few-shot examples
)

 

以上