🍣

AIエージェントのメモ

2025/02/01に公開

AIエージェントという言葉をよく聞くようになってきたので、自分なりに色々関連情報の整理です。あくまで個人的に(なるべく)フラットに書いてます。

AIエージェントの定義

そもそもAIエージェントって何?というところですが、結論よく分かりませんでした。定義ははっきり定まっていないのと、生成AIの盛り上がりとも重なり、バズワード化しているので、色々な人がポジショントーク的に、自分にとって都合の良いAIエージェントを定義しているのかなと感じました。ここでは、いくつか代表的な定義を紹介しておきます。

Artificial Intelligence: A Modern Approachによる定義だと「エージェントとは、環境を認識し、目標を達成するために自律的に行動する存在」と書かれています。よく紹介される定義ですが、これだけだとよく分からないですね。昔からあるエージェントの定義なので、強化学習とかの文脈で使われる、環境と相互作用するエージェントととらえるとしっくりするかもしれません。

Agent Design Pattern Catalogue: A Collection of Architectural Patterns for Foundation Model based Agentsでは、AIエージェントには18パターンあると書いてあります。いくつかパターンをみてみましたが「少し複雑なことをしたらエージェントということ?」と思いました。

各社がポジション取るために発信しているAIエージェントの定義はいくつかあります。Anthropicは
Building effective agentsという記事を公開しています。

OpenAIは、以下のような5段階のAIのレベルを定義していて3段階目にエージェントを定義しています。

  1. チャットボット:会話能力を持つAI
  2. 推論者:人間レベルの問題解決能力を持つAI
  3. エージェント:ユーザーに代わってアクションを取れるシステム
  4. イノベーター:発明や発見を支援できるAI
  5. 組織:組織全体の仕事を行えるAI

OpenAIがAIのレベルを5段階で評価、現在レベル1より引用

個人的には「面倒なことをやってくれるAI」は、みんなAIエージェントでいいんじゃないかなと思ったりしました。つまり、面倒なことはChatGPTにやらせようは、AIエージェントの本といっても過言ではないかもしれません(これが、ポジショントークってやつですね)。

面倒なことはChatGPTにやらせよう

AIエージェントの定義や概要についてかかれた情報

参考リンクです。

https://tech.algomatic.jp/entry/agents/interpretation-of-ai-agents

https://zenn.dev/r_kaga/articles/e0c096d03b5781

https://zenn.dev/aimasaou/articles/c14d1bc35b4be5

https://llmagents-learning.org/f24

https://open.spotify.com/episode/5H3tmuluwO2PxypVE1bb7R

https://open.spotify.com/episode/5MWgfqVBMo4tn5JIhgwrrG

AIエージェントの例

以下具体的な、よくAIエージェントと呼ばれるようなものの具体例です。

AIエージェント

https://zenn.dev/karaage0703/articles/5917040338efa6

https://zenn.dev/karaage0703/articles/e2e6417fb003dd

https://creators.bengo4.com/entry/2024/12/20/000000

https://note.com/hatti8/n/n394a8f58dcd7

https://zenn.dev/dev_commune/articles/b93a7296fbb354

https://huggingface.co/agents-course

マルチエージェント

複数のエージェントがいると、AIエージェントっぽくはありますね。

https://zenn.dev/karaage0703/articles/05b647078a2d8a

AIサイエンティスト

https://github.com/SakanaAI/AI-Scientist

https://bwgift.hatenadiary.jp/entry/2024/08/13/222431

https://7shi.hateblo.jp/entry/2024/08/14/013457

PC操作

OSSのbrowser-use、Anthropicのcomputer use、OpenAIのOperatorなどあります。

browser-useを試してみた例です。
https://zenn.dev/karaage0703/articles/4720a04f6d921f

https://qiita.com/hedgehog051/items/eddcf26ad5d1dc8086d5

コーディング

コーディングするAIもエージェントと言われたりする気がします。自分も、最近はVS Codeエディタ拡張のClineをよく使っています。

https://qiita.com/sigma_devsecops/items/51d945d58fd6a3ea5167

https://qiita.com/noshut/items/0c1de89c766106b204a8

https://www.ai-souken.com/article/what-is-cline

https://zenn.dev/ubie_dev/articles/624c9034cc9b43

https://zenn.dev/acntechjp/articles/a24eea73caaaa3

https://zenn.dev/abel_dev/articles/devin_notion

https://zenn.dev/he/articles/ffc350195e8842

https://qiita.com/SatouHa/items/f963d0a68efb03e1d0aa

https://qiita.com/minorun365/items/b2990a7228e8cc4ed025

https://zenn.dev/berry_blog/articles/c72564d4d89926

https://www.ai-shift.co.jp/techblog/5434

関連論文

https://arxiv.org/abs/2405.10467

https://arxiv.org/abs/2304.08244

https://arxiv.org/abs/2302.07842

https://arxiv.org/abs/2205.12255

https://arxiv.org/abs/2210.03629

https://arxiv.org/abs/2302.04761

https://arxiv.org/abs/2304.08354

https://arxiv.org/abs/2401.00812

https://arxiv.org/abs/2411.01747

https://arxiv.org/abs/2402.01030

https://arxiv.org/abs/2502.02649

https://arxiv.org/abs/2404.11584v1

書籍

エージェントに関して、自分が読んだ本です。

LangChainとLangGraphによるRAG・AIエージェント[実践]入門 エンジニア選書

その仕事、AIエージェントがやっておきました。 ――ChatGPTの次に来る自律型AI革命

つくりながら学ぶ!生成AIアプリ&エージェント開発入門

まとめ

AIエージェントについて気になって、色々調べてまとめていたのですが、結局よくわからなかったという内容でした。

エンジニアリング的には、結局重要なのは、どの技術でもそうですが「便利かどうか」「使えるか使えないか」ではないかなと思います。なので、個人的にはAIエージェントは「面倒なことをやってくれるいい感じのAI」と言い続けていきたいと思います。

面倒なことはChatGPTにやらせよう

関連記事

https://karaage.hatenadiary.jp/entry/2024/09/09/073000

Discussion