Upgrade to Pro — share decks privately, control downloads, hide ads and more …

私なりのAIエージェントの理解と開発ツールの選び方

Avatar for chiaoi chiaoi
December 23, 2025
1

 私なりのAIエージェントの理解と開発ツールの選び方

Avatar for chiaoi

chiaoi

December 23, 2025
Tweet

Transcript

  1. システムの実行はSTARTからENDへのパス END 処理 D 処理 B 処理 A STA RT

    処理 C 例) START → 処理A → 処理B → 処理C → 処理B → END START → 処理A → 処理D → END
  2. ワークフローの理解 処理A 処理C 処理B 処理Bに進む条件が... - 「常にBに進む」(固定フロー) - 「state.count <

    3」(状態を見る) - 「random() < 0.2」(ランダム) - 「”B” in response.content」 (LLMの出力をデータとして読む) 開発者が判断ロジックを定義する
  3. エージェントの理解 LLM 呼び 出し 処理C 処理B 処理Bに進む条件が... - 「response.tool_calls」(Tool useを見る)

    - 「llm.invoke(“次はB or C?”).content == “B”」 (LLMにどうするかを直接質問する) LLMが判断をする
  4. Tool use LLM 呼び出し 処理A Tool A LLMの判断を「構造化されたデータ 」として受け取る仕 組み。

    1. LLMに使えるtoolと、その使い方を教える。 (tool として登録) 2. LLMが、「使うツール名」「引数」を構造化データとし て返す。 開発者はtool_callsを見るだけで分岐できる。 自律的な分岐が簡単に実装できる。→ 必須ではない Tool B
  5. 私なりのAIエージェント理解 1. システムをグラフで捉えると理解がしやすい 2. ワークフローとエージェントの違いは「分岐の進み先を誰が決めるか 」 3. Tool useはエージェントの必須条件ではない →

    自律的な分岐(LLMが判断する分岐)を簡単にする手段 さらに 全てのフレームワークが明示的にグラフを使っているわけではないが、実装 の方法もグラフを使って理解できる。
  6. 明示的にグラフを定義する END 処理 D 処理 B 処理 A STA RT

    tool C 例) LangGraph 条件付き エッジ ノード エッジ ツール ノード
  7. エージェントを一つの処理とみなすこともできる END 処理 D 処理 B 処理 A STA RT

    処理 C マルチエージェントを考えるときには、 この考え方が大切。
  8. ノードの一部をエージェントにする END 処理 B エージェントA STA RT tool C 例)

    LangGraph、Mastra 条件付き エッジ ノード ツール ノード エージェントB
  9. 全てのノードをエージェントにする STA RT 例) Strands Graph エージェント A エージェント C

    エージェント B 条件付きエッ ジ or 並列実行 エージェント D END