はじめに
「現場で活用するためのAIエージェント実践入門」の第6章で私がつまずいたことのメモです。
(このメモのほかの章へ:1章 / 2章 / 3章 / 4章 / 5章 / 6章 / 7章 / 8章 / 9章 / 10章 / まとめ)
第6章 情報収集者を支援する
この章では、情報収集を手伝ってくれるAIエージェントを作っていきます。本で掲載されているソースコードはGitHubで公開されています。
6.1 情報収集タスクで生じる課題
適切な検索ワードを考えるのは本当に難しいです。私は過去に文献検索のシステムに携わったことがありますが、医薬文献の検索ではサーチャーと呼ばれる専門の方がいますし、特許検索も類似判定などはかなり難解で素人では検索できません。また、専門的な文献に限らず、普通のネット検索でも検索がうまい方と苦戦される方がいますよね。欲しいものを探すために適切な検索のクエリーを考える作業は知識やコツも必要で、まだ現時点ではAIが代替できていない分野です。
いつものように脱線してしまいますが、RAGの仕組みがバズったことで、ベクトル検索によりなんでも解決できるみたいな風潮になっているのが少し気になります。検索はなかなか奥が深いテーマで、ベクトル検索+LLMでは解決できないことの方が多いでしょう。検索は1つの手段でしかないので、適切な仕組みを組み合わせる工夫も必要です。以前、このような話をしたことがあるので、参考までにその時のスライドを貼り付けておきます。
ちなみにこの章はarXivの検索機能を使いますが、これはお手軽でよいですね。
6.2 情報収集タスクにおける探索プロセスの概要
要件ヒアリングを繰り返すアプローチは個人的に好きです。クエリーを考えるのが苦手な方でも、聞き返してくれることでクエリーを充実させることができます。
uv run python -m arxiv_researcher.agent.research_agentを実行すると、この章のグラフを描いて「graph.png」で保存してくれます。前の章と比べると比較的シンプルです。
6.3 実行環境のセットアップ
Jina.ai Readerは初めて知ったのですが、WebページをMarkdownに変換してくれるサービスです。URLの頭にr.jina.ai/を付けると(実際にはブラウザが補うのでhttps://r.jina.ai/が付きます)、そのページのMarkdownが表示できます。便利!
Jina.ai ReaderはarXivのPDFファイルにも対応しており、APIで利用できるのでそれを使います。
6.4 arXiv探索エージェントのLangGraphによる設計
論文をセクション単位に分割して扱うアイデアはよいですね。ベクトル検索では当たり前のように一定サイズでチャンク分割される方が多いですが、少し乱暴すぎる感じがします。対象の文書に合わせて検討しましょう。
6.5 arXiv探索エージェントのLangGraphによる実装
「プログラムリスト 6.1」で、ResearchAgentStateが多重継承になっているのを見て、なるほど!と思いました。これならStateGraphのコンストラクタでinput_schemaやoutput_schemaを指定する際に、必ずstate_schemaに含まれているものを指定できるので便利です。
「プログラムリスト 6.4」の説明で、interrupt()によりプログラムが一時停止し、ユーザーからのフィードバックを受け取ると停止箇所から再開すると説明されていますが、厳密には停止したノードの頭から再開します。interrupt()を含むノードの頭から再実行されるので、interrupt()の手前に実装を書く時は注意が必要です。
「プログラムリスト 6.9」でSend()による並列実行が出てきますが、これは4章で出てきたMapReduceパターン(Sendによる並列実行)と同じです。こういった処理が簡単に書けるのはよいですね。
6.6 LangGraph Studioによる動作確認
2025年10月に「LangGraph Studio」は名前が変わり「LangSmith Studio」になりました。
名前が変わっただけで大きな違いはありませんが、起動するとhttps://smith.langchain.com/で始まるURLが開き、LangSmithの画面内で表示されるようになっています。
なお、AIエージェント本体の動作はローカルのままです。そのため、uv run langgraph dev --no-reloadで起動したプロセスを停止させると、LangSmithの画面も動かなくなります。
以下、「RAGの精度を改善するにあたって、対象のドキュメントの運用管理にまで言及しているものを調査して」と指示してみた結果です。
いい感じ!
6.7 arXiv探索エージェントの課題と今後の発展性
本に書かれていることは、うなずきすぎて首がもげそうです。さらに最近では、Nano Banana Proのように図まで高精度で描いてくれるモデルが出てきたので、アウトプットに図を含めることも現実的になってきました。発展が楽しみです。
6.8 まとめ
私が以前検索システムに携わっていたこともあるかもしれませんが、この章はスムーズに読み進めることができました。
次回は「マーケティングの支援」です。
(このメモのほかの章へ:1章 / 2章 / 3章 / 4章 / 5章 / 6章 / 7章 / 8章 / 9章 / 10章 / まとめ)


