AIエージェントのデザインパターンを実装する
AIエージェントをLanggraphで実装する「LangChainとLangGraphによるRAG・AIエージェント[実践]入門」を読み、AIエージェントのデザインパターンを実際のユースケースに当てはめてColaboratory上で実装してみる。
今回は「ツールレジストリ」パターンについて実装する。ツールレジストリパターンは、LLMから利用できるツール一覧を与えて適宜ツールを利用しながら回答を作成していくデザインパターンである。後でツールを追加していくことによりAIエージェントが行うことのできるタスクの幅を広げることができ、LLMの判断でAPIを呼び出したりメールを送信したりといったアクションを実行することも可能となるため、能動的に行動できるという意味でよりAIエージェントに近いものが作成できる。
他のデザインパターンについての記事は以下にまとめている。
ツールレジストリ
ツールレジストリを実現するためには、まずLLMから利用できる各種ツールを定義する必要がある。langchainのcommunityライブラリには多くのツールが用意されており、今回はこちらのいくつかを活用するが、独自ツールを簡単に開発することもできる。ツールは、「web検索」、「wikipedia検索」、「arxiv論文検索」の3つを用意し、問題を解決する際に活用できるツールとしてLLMに渡すこととする。
実装したフローチャートは以下となる。
クエリの例としては、「化学繊維を合成したい。」と入力し、化学繊維を合成するための検討事項や製造手順、取り扱いの注意事項などが回答された。