0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hugging Face AI Agents Course Unit1: What is an agent?

Last updated at Posted at 2025-07-02

エージェントとは何か?

現実のアナロジー

もし誰かが、あなたにコーヒーが欲しい!と頼んできたとしましょう。
その時、あなたはそれを達成するためのステップを以下のように推論し、プランニングをします。

  1. キッチンに行く
  2. コーヒーマシーンを使用する
  3. コーヒーを淹れる
  4. コーヒーを持ってくる

このようにプランが確定したら、あなたが使用できるツールを使って(今回はコーヒーマシーン)目的を達成します。そして最終的に、コーヒーを届けることができるのです。

これがまさにエージェントです。
エージェントは、推論、プランニング、そして、環境と交流することができます。
image.png

よりフォーマルに

エージェントの定義

定義したタスクを達成するため、AIモデルを使用して、環境と交流するシステム。
その中で、推論、プランニング、外部ツールを使用したアクションの実施を行う。

エージェントは2つのパートに分かれていると考えられる。

  1. 脳(AI model)
    思考が行われる場所。AIモデルが推論とプランニングを行って、そのシチュエーションに応じてどの行動を取るべきかが決める。

  2. 体(能力とツール)
    エージェントが何をできるかが決まる。
    例)人間は羽がないので、飛ぶことができない。しかし、歩いたり、ジャンプしたりはできる。

以下がエージェントのレベル

エージェンシーレベル 説明 呼び方
☆☆☆ エージェントの出力がプログラムの流れに一切影響を与えない シンプルプロセッサー process_llm_output(llm_response)
(LLMの出力を単に処理するだけ)
★☆☆ エージェントの出力によって基本的な分岐(if文など)が決まる ルーター if llm_decision(): path_a() else: path_b()
(LLMの判断で処理のルートが変わる)
★★☆ エージェントの出力によってどの関数を実行するかが決まる ツールコーラー(ツール呼び出し型) run_function(llm_chosen_tool, llm_chosen_args)
(LLMが使うツールと引数を決める)
★★★ エージェントの出力が、繰り返し処理や継続の判断を行う マルチステップエージェント while llm_should_continue(): execute_next_step()
(続けるべきかLLMが判断して次のステップを実行)
★★★ 一つのエージェントの処理が、別のエージェントの処理を起動する マルチエージェント if llm_trigger(): execute_agent()
(LLMが必要と判断したら、別のエージェントを起動する)

エージェントが実際にできること

例)
あなたがSiriのようなチャットアシスタントを作りたいとする。
そして、そのアシスタントで上司にメールを送りたいならば、以下のようなpythonの関数を与えてあげれば可能である。

def send_message_to(recipient, message):
    """Useful to send an e-mail message to a recipient"""
    ...

そして、LLMにこの関数を使用するコードを引数付きで生成させる。

send_message_to("Manager", "Can we postpone today's meeting?")

ポイント

  • ツールの設計は非常に大切
    • ツールの質がエージェントの質に大きく関わってくる
  • 専門のタスクには専門のツールが必要になることもあれば、web_searchなどの一般的なツールのみの使用で解決することもある。
  • アクションはやりたいことであり、ツールはそれを行うための手段。1つのアクションを達成するために複数のツールを使用することもある。

AI Agentの応用例

ビデオゲームのNPC
今までは行動ツリーに従って行動を決定していたが、LLMを使用したエージェントによって
プレイヤーの行動に応じて文脈的に反応することができる。

まとめ

AI Agentとは、

  • 自然言語を理解して、
  • 推論、計画を行って、
  • ツールなどを使って環境と交流をする(情報収集、アクションをする、結果を観察する等)

参考文献

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?