Closed8

AIエージェントの定義いろいろ

ツルオカツルオカ

Building effective agents

Anthoropic社が公開しているAgentsの定義
https://www.anthropic.com/research/building-effective-agents

  • 独立して複雑なタスクを実行するものや事前定義されたワークフローなど様々なバリエーションをすべてagentic systemsと呼ぶ上で以下の2点に分類
    • Workflows: 事前に定義されたフローや期待される結果がわかっているとき
      • 例)Difyなどのワークフローで定義できるもの
    • Agents: LLM自身で動的にコントロールしながらタスクを実行していくとき
      • 例)Clineなど出力結果に対して良し悪しを評価して再実行し内省(コーディングエージェント)
  • 基本的に業務で実行する分にはWorkflowsで十分なことが大半
  • Anthoropicの主張としては、"エージェントシステム"の言葉に囚われずにまずはシンプルなLLMコールから一つずつ小さく試してユースケースにあったものを選択すれば良い
    • 複雑なシステムを作ることはゴールではなく、正しいシステムを作ることが大事

https://www.youtube.com/watch?v=Yj6rllE8-rM

ツルオカツルオカ

Prompt Chaining

これとかまさにワークフローの簡単な例で、これまでも同じようなことをDifyやコードベースでやってきたと思うが、それが用語と一緒に整理されている感じ。

例)ある文章をLLMで生成→100文字以内かチェック→Noの場合は再度LLMをコールし100文字以内に要約(以下ループ)

ツルオカツルオカ

n8n(エヌエイトエヌ)

https://n8n.io/

n8n(エヌエイトエヌ)は無料で使えるオープンソースのワークフロー自動化ツールでIFTTTやZapierと比較されることが多く、これらのツールを使ったことがあればそれのGenAI版と思えば良い

  • 無料でオープンなノードベースのワークフロー自動化ツール
  • Webサービスやツールのタスクを自動化できる
    • ホスティング型とクラウド型(有料)を提供
  • ほぼノーコードでワークフローが組めるので自動化が簡単
  • 対応しているWebサービスの200以上でIFTTTのようにインテグレーションを定義してワークフローを作るだけ
  • 対応サービス一覧: https://n8n.io/integrations

https://qiita.com/malvageee/items/eda4eb3b71a31bc78a4f

名前の由来

It is "n8n" with all lower case letters. It can either be pronounced "n eight n" or "nodemation".

While looking for a good name for the project with a free domain, Jan quickly realized that all the good ones he could think of were already taken. So, in the end, he chose nodemation. 'node-' in the sense that it uses a Node-View and that it uses Node.js and '-mation' for 'automation' which is what the project is supposed to help with. However, he did not like how long the name was and could not imagine writing something that long every time in the CLI. That is when he ended up on 'n8n'.
https://github.com/n8n-io/n8n?tab=readme-ov-file#what-does-n8n-mean

ツルオカツルオカ

Function callingとAI Agents

関係性: Function calling の延長が AIエージェント
Function callingは「外部ツールを呼び出して使う」ことにとどまりますが、AIエージェントはそれを**「どのように組み合わせて目標を達成するか」まで考慮する仕組み**と言えます。

例えば、以下の2つを比較すると違いが明確です。

Function callingの活用例

  • ユーザー: 「東京の天気を教えて」
  • LLM: 「天気APIを呼び出します… 東京の天気は晴れです。」

AIエージェントの活用例

  • ユーザー: 「今週末に東京でBBQをするんだけど、場所の候補を教えて」
  • エージェントの動き:
    1. 天気APIを呼び出して今週末の東京の天気を確認
    2. 天気が悪そうなら「屋根付きBBQ場」の検索を優先
    3. Google Maps APIを使い、交通アクセスの良いBBQ場をリストアップ
    4. 各候補の予約可否をチェックし、ユーザーに提案

このように、Function calling が単なるツール呼び出しなのに対し、AIエージェントは状況に応じた複数のアクションを自律的に組み合わせる点でより高度な仕組みになります。

結論
✔ Function callingはAIエージェントの基盤技術の1つだが、それだけではエージェントとは言えない
✔ エージェントはFunction callingを活用しつつ、より自律的に目的達成を目指す仕組みを持つ
✔ Function callingを適切に組み合わせて意思決定をするようになると、よりエージェントに近づく

つまり、「状況に応じたFunction callingの組み合わせとその結果をもとに行動を決定する仕組み」を作れば、それはAIエージェントとしての役割を果たし始めると言えます。

ツルオカツルオカ

https://note.com/haru_consulting/n/nfa57eaebe60f

実際、2020年から2024年初頭にかけて登場したAIモデルは飛躍的に性能を進化させていましたが、それ以降は明らかに成長が鈍化しています。単にデータを増やすだけでは、AIの精度が飛躍的に向上することはなくなってきたのです。

この限界を打破するものとして登場したのが、第三の波であるReasoning Modelです。Reasoning Modelであるo1は、前述の通り複雑なタスクにおいて4oのパフォーマンスを大きく凌駕

このスクラップは2025/02/04にクローズされました