2週間前、ECサイトから商品情報をスクレイピングする方法の記事を書いていた私は、危うく体調を崩しかけました。
理由はこちらです。GymsharkというECサイトから商品をスクレイピングするために、DatablistのAI assistants向けに作成したデータ分類・編集用のプロンプトフレームワークを使いました。最初はうまく動いているように見えましたが、データが正しく整理されておらず、データセット全体が使いものになりませんでした。
そこで、AIやユースケースが違えば、必要なプロンプトも異なるのだと気づきました。
プロンプトでは細かな指示が結果を大きく左右するため、詳細の5%が抜けるだけでも、出力が使いものにならなくなることがあります。
それでは始めましょう。
AI Agentのプロンプトテンプレートが必要な場合は、入力データ、調査対象のソース、出力する項目、根拠が見つからない場合の対応を最初に指定してください。企業調査リストなら、次のような短いプロンプトが実用的です。
各行の
Company Websiteの値を使い、その企業の公式サイトを調査してください。Industry、Evidence URL、Statusを返してください。業界を確認できない場合はNot foundとし、企業名から推測しないでください。不確かな結果を確認できるよう、出力は元の行に紐づけたままにしてください。
これで、Agentに調査ソースと出力ルールを伝えられます。まずは特徴の異なる数行でテストし、Evidence URLを確認したうえで、リスト全体を処理する前に指示を調整しましょう。後半の詳細なテンプレートでは、このパターンを複数ステップのリサーチへ拡張する方法をご紹介します。
この記事のポイント:
- DatablistのAI Agentsは、Google検索、Webサイトの閲覧、APIの呼び出しなどを実行できる
- AI Agentを活用するうえで、優れたプロンプトは結果を大きく左右する
- ベストプラクティスに従えば、AI Agent向けのプロンプト作成は難しくない
- Datablistにはプロンプトテンプレートが用意されているが、自分で書き方を学ぶことも大切
DatablistのAI AgentsとAI Assistantsの違い
AI Agents向けとAI Assistants向けのプロンプトの違いを理解するには、まず両者に何ができるのかを明確にする必要があります。
それぞれの機能を、簡単にご紹介します。
AI Assistant
DatablistのAI assistantsは、テキストやコードの読み取り、分類、抽出、編集、生成を行うための機能です。
AI Agent
DatablistのAI agentsは、Google検索、HTMLコードのレンダリング、複数ページの巡回、APIの呼び出し、Google NewsやWebサイト、ECサイトの閲覧と情報抽出などを行えるツールを備えたAIです。
💡 シンプルに考えましょう
AI agentsは外部データを扱うシステム、AI assistantはDatablistのコレクション内にあるデータを扱うシステムと考えると分かりやすいでしょう。
DatablistのAI Agentでできること
AI Agent向けに効果的なプロンプトを書くため、利用できるツールと機能を改めて確認しておきましょう。
- Google検索
- Google News検索
- テキストやコードの抽出・生成
- アカウント情報の取得
- Webサイトの閲覧
- Webサイトのページネーション
- HTMLのレンダリング
- APIの呼び出し
DatablistのAI Agentプロンプト作成11のルール
利用できるツールを把握したら、次のルールに従い、Agentが理解しやすく、結果を確認しやすいプロンプトを作成しましょう。明確なプロンプトは曖昧さを減らしますが、回答の正確性を保証するものではありません。11のルールは以下のとおりです。
- プロンプトをロードマップとして考える:要求だけを伝えて動作を期待するのではなく、Agentがタスクを進められるよう手順を示してください。
- 必ず目的から書き始め、その背景情報を加えてください。
- Agentが内容を解釈しやすく、アクションやコマンドを区別できるよう、プロンプトの各セクションにラベルを付けてください。
- 「Googleを検索する」「テキストを抽出する」「HTMLコードを取得する」など、AI Agentのツールを呼び出す明確なコマンドを使ってください。
- 出力項目にラベルを付け、具体例を提示してください。それらが出力設定の基準になります。
- 特定の情報をスクレイピングする場合は、Webサイト内のどこに目的の情報があるかを伝えてください。
- プロンプトを整理するため、各パートの間に区切り(
.===)を入れてください。 - ミスを防げるよう、避けるべき間違いを明示してください。
- エラーや欠損データへの対応方法を定義してください。
- プロンプトを繰り返し改善し、出力が悪くてもAI Agentのせいにしないでください(以前の私はそうしていました)。
- データの取得元となる列は、必ずプロンプトの最後に追加してください。
これらのガイドラインとベストプラクティスに従えば、プロンプトの修正に費やす時間とクレジットを大幅に節約できます。
📘 優れたプロンプトが重要です
上記のルールに従わなくてもAI Agentは動作します。しかし、ルールを取り入れれば結果は大きく改善します。それほどプロンプトの構成は重要です。
AI Agentのプロンプト例:良い例と悪い例
AI Agentプロンプト:良い例
まず良いプロンプトを確認し、その後で悪いプロンプトと比較してみましょう。
これは最近、ECサイトから商品情報をスクレイピングするために私が作成したプロンプトです。
このプロンプトが良い理由を詳しく見てみましょう。
- 具体的で明確な目的と背景から始まっている
- プロンプトが複数のセクションに分かれ、すべてにラベルが付いているため、AIが理解しやすい
- アクションを示す動詞を使った明確なコマンドがある
- コマンドが分かりやすい順序で並んでいる
- 探している情報を説明し、具体例も示している
- データの不整合やエラーへの対処方法を指定している
- 避けるべきミスを具体的に示している
- セクションが
.===で明確に区切られている - プロンプト全体が整理され、AIが要求に沿って処理できるよう導いている
- 最後に、参照データを含む列を紐づけている
AI Agentプロンプト:悪い例
私のことを「プロンプト作成が得意なエンジニア」だと思っている方に、正直な話をしましょう。まず、私はコードを書けません。そして以前のプロンプトは、このようなものでした。
これでも良いプロンプトだと思う方がいるかもしれません。しかし、実際には違います。出力結果がまったく良くなかったからです。
この例では、多くの点に問題がありました。一見すると高度に見えますが、プロンプトも、それによって得られる結果も使いものになりません。私が犯したミスと、その避け方をご説明します。
悪い理由1:構成が不十分
プロンプトに明確な流れと整理された構成がありません。
避ける方法:
誰かに作業を説明するときと同じように、目的を具体的なステップへ分解してください。 例:
- まず、Webサイトにアクセスする
- 次に、商品セクションを探す
- 最後に、価格を抽出する
悪い理由2:ラベルが曖昧
ラベルやセクション名が具体的ではありません。
避ける方法:
各セクションには、日常的で分かりやすい言葉を使ってください。たとえば、Data Parametersではなく抽出する商品情報、Inputではなく処理するWebサイトURLと書きます。
悪い理由3:出力形式と具体例がない
データ形式と期待する出力例が明確に定義されていません。
避ける方法:
データ構造を番号付きリストで示し、期待する出力の具体例を2〜3件必ず加えてください。
例:
1. 商品名:Nike Air Max; Adidas Ultraboost; Puma RS-X;
2. 価格:$120; $180; $110;
3. カラー:Black; Cloud White; High Risk Red;
4. サイズ:US 9; US 10.5; US 8;
5. 素材:Mesh & Synthetic; Primeknit; Leather & Mesh;
悪い理由4:手順が明確でない
アクションが論理的な順序で並んでいません。
避ける方法:
友人に道順を教えるように、「まずこれを行い、次にあれを行う」という形で手順を書いてください。
例:
1. Webサイトを開く;
2. 商品セクションを探す;
3. データを抽出する
AI Agent活用でよくある3つの失敗
Datablist.comに加わって以来、AI Agentを使いたいというお客様と何度もお話ししてきました。そのなかで、多くの方に共通する失敗のパターンが見えてきました。同じミスをしないよう、ぜひ確認してください。
-
プロンプトを書くことを面倒がる: AIに考えていることを伝えなくても、意図を理解してくれると思っている方がいます。時間を節約するために時間をかけることを、ばかばかしく感じるようです。同じ考え方は避けましょう。
-
指示が曖昧すぎる: 「商品情報を取得して」と伝えるのではなく、必要なデータ項目を正確に指定してください(例:「商品詳細セクションから、商品名、米ドル建ての価格、利用可能なサイズを抽出してください」)。
-
エラー処理を見落とす: 欠損データや想定外の状況への対応も、プロンプトに含めてください(例:「価格が掲載されていない場合は
N/Aと記載してください」)。
プロンプト作成にかける時間の目安
このワークフローから得られる価値と、どれだけ時間を節約できるかを基準に考えてください。
私は自分の業務やユーザーのサポートのため、プロンプト作成にかなりの時間を使っています。
Grokを使うときは、プロンプトを書くのに30分もかけません。最初の依頼を簡潔に伝え、やり取りしながら改善します。それほど複雑なタスクを頼まないからです。一方、メールのパーソナライズやデータクリーニングのプロンプトを書く場合は、しっかり時間をかけます。問題を探し、プロンプトを修正し、後から再実行する手間を減らせるためです。
LangChain創業者 Harrison Chase氏: 「Agentアプリケーションと対話する最適な方法は、まだ確立できていないと思います。信頼性が十分に高いわけではないため、Human-in-the-loopは依然として必要でしょう。ただし、人が関与しすぎると、Agentが実際に役立つ仕事をほとんどできなくなります。そこには難しいバランスがあります」
編集して使えるAI Agentプロンプトテンプレート
このテンプレートをコピーし、各プレースホルダーを、ご自身の入力データ、調査ソース、出力項目に置き換えてください。 Webサイトから回答を取得する場合は、Evidence URLも含めます。本格的に運用する前に数行で試し、取得に成功した結果と情報が見つからなかった結果の両方を確認してください。
目的:[この調査によって支援する意思決定と、使用する入力列を記載してください。]
===
実行してほしいこと:
- まず、[Input Column]に指定されたソースを確認してください。
- 次に、必要な項目を抽出し、根拠として使用したページのURLを記録してください。
抽出する情報(例を含む):
- 項目1:[項目名と有効な例]
- 項目2:[項目名と有効な例]
- Evidence URL:[各項目の根拠となるページ]
- Status:Found、Not found、Needs review
データに不整合がある場合の対応:
- ページを開けない場合や必要な項目がない場合は、Not foundを返し、その項目を空欄にしてください。ドメインや企業名から推測しないでください。
避けるべきミス:
- 名前が似ている企業の情報を混在させないでください。各結果は元の入力行に紐づけたままにしてください。
Input Column:[ソースURLまたはその他の識別子を含むコレクション列の名前を記載してください。]
このフレームワークをECサイトのスクレイピングに適用すると、次のようになります。
目的:ECサイトのリストから、指定した商品情報を取得したい。
===
実行してほしいこと:
- これからリンクを渡す各サイトにアクセスする
- 後ほど指定する各商品の情報を抽出する
探している情報(例を含む):
- 商品名(Traveler XP 300)
- 表示通貨での元の価格($30; €10)
- 商品カテゴリー(Travel backpack; Business bag)
- 商品仕様1(30L Capacity; 17.4×14.3×8)
- 商品仕様2(Black; 11 Compartments)
- Special Tags(Last chance; Limited offer)
データに不整合がある場合の対応:
- 各項目につき、情報は1つだけ返す
- データがない場合は「N/A」を返す
避けるべきミス:
- CTAやレビューなど、指定したデータ項目に該当しない情報は返さない
- すべてのページが同じ構成とは限りませんが、各商品には十分に分かりやすいラベルがあるため、データ項目の違いを識別してください。
商品をスクレイピングするサイト:/Category Pages
このフレームワークをメディアリサーチに適用すると、次のようになります。
目的:氏名と企業名をもとに、特定の人物に関する最近のメディア掲載を見つけたい
===
タスクの指示:
- 各人物が言及されているニュース記事やプレス記事をGoogleで検索する
- 調査対象の人物に言及しているサイトへアクセスする
- 以下の指定に従い、掲載に関する情報を抽出する
抽出する情報(例を含む):
- 記事タイトル(「John Smith Launches New Tech Startup」)
- メディア名(The Tech Times)
- 公開日(2025-05-20)
- 掲載タイプ(Interview、News Coverage、Press Release)
データ処理ルール:
- 過去3か月以内で最も新しい掲載のみを抽出する
- 過去3か月以内に掲載が見つからない場合は「No recent mentions」を返す
避けるべきミス:
- SNSでの言及は含めず、無視する
- 同姓同名や似た名前の人物と混同しない。そのため、必ず「氏名 + 企業名」で照合する
- スポンサーコンテンツや広告は除外する
- 公開日が指定期間内であることを確認する
人物の氏名:/People to Research
===人物の企業名:/company name
AIプロンプト作成に関するよくある質問
1. プロンプト作成に本当に時間をかける必要がありますか?
手間に感じられるかもしれませんが、正確な結果を得るには、明確なプロンプトの作成に時間をかけることが重要です。曖昧な指示からは曖昧な出力しか得られず、修正や再実行によって、結果的により多くの時間がかかります。
2. 良いプロンプトと悪いプロンプトの違いは何ですか?
良いプロンプトには、明確な構成、具体的な指示、期待する出力例、エラー処理のルールがあります。悪いプロンプトは曖昧で構成が整理されておらず、具体例がないうえ、起こり得るエラーや不整合も考慮されていません。
3. プロンプト作成に使える簡単なテンプレートはありますか?
はい。この記事では、「目的」「タスクの指示」「抽出する情報」「データ処理ルール」「避けるべきミス」という5つの主要セクションで構成されたテンプレートをご用意しています。各セクションは===で明確に区切ってください。
4. プロンプトの例はどの程度詳しく書くべきですか?
具体的で、想定される複数のケースをカバーする例にしてください。たとえば商品情報を抽出する場合は、予想されるさまざまな形式、通貨、単位の例を含めます。
5. プロンプトで省略してはいけない最重要項目は何ですか?
エラー処理と「避けるべきミス」のセクションが特に重要です。よくある問題を防ぎ、想定外のデータや状況に直面した場合でも、一貫した出力を得やすくなります。





