こんにちは。RSSのM.D.です。
昨今、AI開発における「エージェント(Agent)」の活用が急速に進んでいるとニュースなどで目にする機会が増えました。
一例を挙げると、Anthropic社が提供するClaude Codeのサブエージェント機能(/agent)は、複数のタスクを並列かつ独立したコンテキストで実行できるという話を耳にしています。
そこで今回は、「エージェント」に関する知見を深めるためにも、まずは身近なテーマである「47都道府県の特産品リサーチ」をエージェントにおまかせすることに挑戦してみました。これならソフトウェア開発の難しい話も発生しませんし、まだ完璧ではないものの、自分でエージェントの調査結果について評価できると思ったからです。
本記事では、その具体的な手順と、実際に試して分かったエージェント活用の勘所について共有します。
Claude Codeの「サブエージェント」とは?
Claude Codeには、特定のタスクに特化した「サブエージェント」を作成し、実行させる機能があります。この機能の最大の特徴は以下の2点です。
- 並列実行が可能: 複数のタスクを同時に進行させることができる。
- コンテキストの分離: 各エージェントが「まっさらな状態」でタスクを開始するため、前のタスクのバイアスやハルシネーション(嘘の出力)の影響を受けにくい。
エージェントの定義
今回は/agentsコマンドからCreate new agentを選択し、自然言語(日本語)で「都道府県ごとの特産品を調べてほしい」と指示を出しました。すると、Claude Codeが自動的に以下のようなエージェント定義(YAML形式)を生成してくれました。
YAML
---
name: regional-specialty-finder
description: Use this agent when you need to identify representative specialty products from a specific Japanese region.
# (中略: 具体的な使用例などが自動記述されます)
model: sonnet
---
You are a Japanese regional specialty product expert with comprehensive knowledge of local specialties (特産品) across all prefectures.
# (中略: エージェントへの詳細な振る舞い指示)
1. **Identify the Region**: Recognize the specific geographic area.
2. **Research Representative Specialties**: Draw from your knowledge of authentic items.
3. **Select Top 3**: Choose exactly 3 specialty products.
4. **Format Response**: Return ONLY the 3 specialty products as a single line of text.
私が日本語で指示した内容が、よりAIにとって理解しやすい英語のプロンプトとして最適化されている点が非常に興味深いです。このように、LLM(大規模言語モデル)への指示は英語で行う方が精度が高いとされていますが、Claude Codeを使えば、日本語の指示をベースに自動で定義を作成してくれるため、導入のハードルが大きく下がります。
実践:47都道府県リサーチの自動化
作成したエージェントregional-specialty-finderを使用し、以下のプロンプトを実行しました。
日本の都道府県を1つずつregional-specialty-finderに渡して特産品を取得し、それを「都道府県名: 特産品」という形で列挙したresult.txtを作成してください
実行プロセスとパフォーマンス
実行を開始すると、Claude Codeは複数のスレッドを立ち上げ、並列処理を開始しました。
- 並列数: 最大8並列程度で進行。
- 処理時間: 1つの都道府県につき2〜3分程度の待機時間(Web検索や情報精査の時間を含む)。
- 挙動: 外部サイトへアクセスするたびに承認を求められる(※設定で一括許可も可能)。
人間が手作業で47回検索してまとめる手間を考えると、コマンド1つでバックグラウンド処理が進むのは圧倒的な効率化です。
出力結果(抜粋)
最終的に生成されたresult.txtの一部がこちらです。
Plaintext
北海道: 夕張メロン, 毛ガニ, 白い恋人
群馬県: こんにゃく, だるま弁当, 焼きまんじゅう
東京都: 江戸切子, 深川めし, 東京ばな奈
愛知県: 味噌煮込みうどん, ひつまぶし, 八丁味噌
大阪府: たこ焼き, お好み焼き, 昆布
福岡県: 明太子, 博多ラーメン, あまおう
沖縄県: ちんすこう, 紅いもタルト, 泡盛
おおむね正確なリストが生成されました。それぞれの地域を象徴するアイテムが抽出されています。
結果の分析と運用のヒント
今回の実験を通じて、AIエージェントを業務活用する際のいくつかの課題と可能性が見えてきました。
1. 定義の曖昧さが結果に直結する
出力結果を見ると、例えば「農産物(メロン)」「加工食品(こんにゃく)」「伝統工芸品(江戸切子)」「特定の商品名(白い恋人)」など、カテゴリーが混在しています。
これは、エージェント定義内の「特産品(Specialty)」という言葉の定義が広義であったためです。
- Historically or culturally significant(歴史的・文化的に重要)
- Not generic items(一般的すぎないもの)
といった条件は満たしていますが、例えば「群馬県」の結果に対し、地元出身者としては「もっと代表的な農産物(下仁田ネギなど)があるのでは?」といった違和感を覚える部分もありました。
【教訓】 エージェントへの指示においては、「何を正解とするか」の定義を厳密に行う必要があります。「食品に限る」「登録商標は除外する」といった制約を加えることで、より実用的なデータが得られるでしょう。
2. コンテキスト分離のメリット
今回は「47都道府県」という独立したパラメーターを渡す処理でした。これを1つの長いチャット履歴(コンテキスト)で行うと、前の都道府県の情報に影響されたり、メモリ不足で精度が落ちたりする可能性があります。 サブエージェント機能を用いることで、常にクリアな状態でタスクを実行でき、品質の均一化が図れました。
まとめ
Claude Codeの/agent機能を使用することで、以下の成果が得られました。
- 日本語指示によるエージェント生成: 英語プロンプトの自動生成により、手軽に高品質なエージェント定義が可能。
- 並列処理による効率化: 調査系タスクの大幅な時間短縮。
- 独立コンテキストの有用性: タスク間の干渉を防ぎ、安定した出力を実現。
LangChainなどのフレームワークを用いて独自に実装することも可能ですが、Claude Codeのような統合ツールを使用することで、より手軽に「エージェント駆動開発」の恩恵を受けることができます。
今後は、社内データと組み合わせたリサーチ業務や、コードの自動レビューなど、より実践的な業務プロセスへの組み込みを検討していく予定です。
おわりに
最後まで読んでいただき、ありがとうございました。
今回は身近なテーマでの実験でしたが、こうした新しい技術を実際のソリューション開発にどう活かすか、RSSでは日々議論を重ねています。
私たちレイスシステムソリューションズでは、AIをはじめとする最新技術に関心を持ち、積極的にアウトプットできるエンジニアを募集しています。もし興味をお持ちいただけましたら、ぜひ採用ページも覗いてみてください。
レイスシステムソリューションズ株式会社のソフトウェア開発や、
採用に関するお問い合わせについては、下記のリンクにてお問い合わせください。
-1.png)



