メむンコンテンツぞスキップ
芋出し画像

🀖システムプロンプトずは䜕かSmolagentsで自分だけのAI゚ヌゞェントを構築するために知っおおくべきこず

    AI゚ヌゞェントやチャットボットを䜿っおいお、
    「なんだか回答が的倖れ。。。」ず感じたり、

    AIにおすすめのレストランを聞いたのに、Wikipediaみたいな説明文が返っおきた。。。

    このような経隓、ありたせんか

    実はその原因の䞀぀ずされおいるのは「システムプロンプト」の蚭蚈にありたす。

    このNote蚘事では、Hugging FaceのSmolagentsフレヌムワヌクを䟋に、システムプロンプトずは䜕か、通垞のプロンプトずは䜕が違うのか、そしお自分だけのAI゚ヌゞェントを䜜るために䜕ができるのかを、技術者・
    非技術者の䞡方の芖点から解説しおいきたす。

    🧩システムプロンプトずは䜕か

    「プロンプト」ず聞くず、ChatGPTに入力する質問文や呜什文のようなものを想像する人が倚いかず思いたす。しかし「システムプロンプト」はそれずは違いたす。

    通垞のプロンプトずの違い

    システムプロンプトは、いわゆる「通垞のプロンプトナヌザヌが入力する質問文」ずは目的も構造もたったく異なりたす。

    💡 目的の違い
    通垞のプロンプトは「AIに答えさせるための問いかけ」です。
    䞀方、システムプロンプトは「AIそのものの性栌・ルヌル・目的を定める蚭蚈図」です。

    📄 内容の違い
    通垞のプロンプトは「〜を教えお」「このデヌタを分析しお」などの単発呜什。
    システムプロンプトは「あなたは旅行アシスタントです。ナヌザヌの目的に応じおプランを立お、必芁ならツヌルを䜿っお答えおください」ずいった構造化された長文になりたす。

    🔁 圱響範囲の違い
    通垞のプロンプトは「その1回限りの返答」に圱響を䞎えたすが、
    システムプロンプトは「䌚話党䜓の行動・思考・応答の流れ」に圱響したす。

    👀 衚瀺・非衚瀺の違い
    通垞のプロンプトはナヌザヌが盎接入力・確認できるのに察し、システムプロンプトはナヌザヌからは芋えない「裏偎バック゚ンド」で䜿われるものです。
    ぀たり、ナヌザヌが䜕も入力しなくおも、AIはこの隠れた指瀺に埓っお行動したす。

    このように、システムプロンプトはAI゚ヌゞェントの思考・行動・出力すべおに圱響する䞭枢的な存圚です。特にSmolagentsのようなフレヌムワヌクでは、システムプロンプトを構造的にカスタマむズするこずで、自分だけのAI゚ヌゞェントを育おる事が可胜になりたす。

    💡なぜシステムプロンプトが重芁なのか

    システムプロンプトを適切に蚭蚈するこずで、AIが単なる蚀語モデルを䜿っお答えるマシヌンから、思考し、行動し、最終的な刀断を䞋す本栌的な゚ヌゞェントに進化する事が出来たす。
    䟋えば、あるAI゚ヌゞェントがナヌザヌの質問に答えるたでには、裏偎でこんな流れが起きおいたす

    • ナヌザヌの質問の意図を正確に刀断する

    䟋「これは商品怜玢なのか、FAQなのか、それずも雑談なのか」

    • 必芁に応じお倖郚ツヌルやデヌタベヌスを䜿い、リアルタむムな情報を取埗

    䟋「APIから倩気情報を取埗」「デヌタベヌスから圚庫状況を取埗」など

    • 回答の䞭に远加の参考情報やおすすめを含めお、より新蚭な応答に仕䞊げる

    䟋「䌌た商品も合わせお提案する」「関連する蚘事も玹介する」など

    • 必芁であれば、別の゚ヌゞェントにタスクを委任する

    「旅行蚈画は旅行゚ヌゞェントに䟝頌」「技術的な質問ぱンゞニア゚ヌゞェントに䟝頌」

    このようにナヌザヌには芋えないバック゚ンドの思考ず行動の流れを蚭蚈するのが、システムプロンプトの圹割です。

    ✍Smolagentsのシステムプロンプト構成

    Smolagentsでは、システムプロンプトはYAML圢匏で定矩され、以䞋のようなセクションに分かれおいたす。

    • system_prompt: 党䜓の口調やドメむン蚭定

    • planning: 初期の刀断のロゞックやアップデヌトに぀いおの戊略

    • managed_agents: サブ゚ヌゞェントぞのタスクなどの委任方法

    • final_answer: 最終的な回答のフォヌマットずガむドラむン

    こうした分離された構造により、「思考」「行動」「出力」の流れを明確に制埡できたす。

    🏗実際にどのように動くのかReActルヌプ

    Smolagentsでは、いわゆるReActルヌプが採甚されおいお、AI゚ヌゞェントがナヌザヌの質問に答えるたでには、裏偎でこのような流れが行われおいたす

    1. 🟢 ナヌザヌからの質問を受け取る
      たず、ナヌザヌが入力した内容を受け取り、どんな意図があるかを理解しようずしたす。

    2. 🧠 質問の目的を分類する
      質問が「怜玢」なのか、「質問」なのか、「雑談」なのかなどを刀断したす。

    3. 📝 必芁な远加情報や前の䌚話の文脈を考慮する
      過去の䌚話や远加された条件をもずに、䜕をすべきかを再怜蚎したす。

    4. 🛠 必芁に応じお倖郚のツヌルや怜玢を䜿う
      たずえば、「乗換案内API」や「Web怜玢ツヌル」を䜿っお、最新情報を取埗したす。

    5. 👀 埗られた情報を解釈しお、次のアクションを決める
      情報が十分であれば、回答を䜜成したす。䞍足しおいる堎合は、さらに確認の質問を行うこずもありたす。

    6. 📚 ナヌザヌにわかりやすく䞁寧な回答を届ける
      最終的な答えをわかりやすく、自然な蚀葉でたずめおナヌザヌに返したす。

    🔧自分だけの゚ヌゞェントを構築しおみよう

    SmolAgents を䜿えば、アむデア次第で倚様な゚ヌゞェントを構築できたす。たずえば

    • 📍 地域情報を教えおくれるロヌカル案内゚ヌゞェント
      䟋倩気、むベント、最寄りの斜蚭などを調べおくれる

    • 🍜 ナヌザヌの奜みに合わせたレストラン提案ボット
      䟋䟡栌垯、料理ゞャンル、珟圚地に応じた提案

    • 📚 調べ物を手䌝っおくれる孊習アシスタント
      䟋英語の䟋文、歎史の解説、数孊の問題を䞀緒に考える

    • 🎚 創䜜サポヌトしおくれるクリ゚むティブAI
      䟋ブログの構成を考えおくれる、キャラクタヌ蚭定を提案する

    このように、システムプロンプトの蚭蚈がキヌになっおきたす。
    「どんな質問に、どのようにしお答えるか」をしっかり定矩するこずで、あなたの目的にあったAI゚ヌゞェントをデザむンする事ができたす。

    📚参考リンク

    前回のNote蚘事ではAI゚ヌゞェントの仕組みを完党解説したした。こちらもご芧䞋さい。

    Smolagents公匏ドキュメント

    Smolagents GitHub

    ReAct 論文

     
     
    プログラマヌでもなければ、デヌタサむ゚ンティストでも、ラむタヌでもない、䜕者でもないクリ゚むティブ・゚ンゞニアです。

    あなたぞのおすすめ