AI・機械学習

AIエージェントを自分で作ろう!2026年版・Python入門ハンズオンガイド

「AIエージェントって、自分でも作れるの?」🤔

AI robot assistant
AI robot assistant / Photo by Kindel Media via Pexels

そんな疑問を持っている方、多いんじゃないでしょうか。最近「AIエージェント」という言葉をよく耳にしますよね。でも「なんとなく難しそう…」と感じて、まだ触れていない方も多いはずです。

今回は、Pythonを使ってAIエージェントをゼロから作る方法を、できるだけかみ砕いて解説していきます。プログラミング初〜中級者でも「できそう!」と思えるはずです 🚀

そもそもAIエージェントって何?

イメージとしては、「自分で考えて、調べて、行動するAIアシスタント」です。

普通のチャットAI(ChatGPTなど)は、質問に答えるだけですよね。でもAIエージェントは違います。

  • ✅ 目標を受け取る
  • ✅ 自分で必要な情報を調べる
  • ✅ 結果をまとめて返す

つまり、「指示→思考→行動→回答」のサイクルを自律的に回すのがAIエージェントの特徴です。

今回作るもの:リサーチアシスタントエージェント 🔍

今回のゴールはこんなエージェントを作ることです。

  • トピックを入力すると
  • 自動で情報を検索・収集して
  • わかりやすくまとめて返してくれる

実用的でシンプル。これがAIエージェント入門にはぴったりの題材なんですよね。

必要な準備(環境確認)

まず以下の確認をしておきましょう。

  • Python 3.10以上がインストールされている
  • OpenAI APIキーを取得済み
  • pip install openai requests でライブラリをインストール済み

実際にコードを書いてみよう

ポイントをまとめるとこんな感じです。

  • 🧠 LLM(大規模言語モデル)が「思考」を担当
  • 🔧 ツール(Tool)が「行動」を担当(検索・計算など)
  • 🔄 ループ処理で「考えて→動いて→また考える」を繰り返す

import openai
import json

# OpenAI クライアントの初期化
client = openai.OpenAI(api_key="あなたのAPIキーをここに")

# エージェントが使えるツール(関数)を定義
def search_web(query: str) -> str:
    """簡易的なWeb検索ツール(実際はAPIと連携)"""
    # ここでは例として固定テキストを返す
    return f"『{query}』に関する情報:AIエージェントは2026年現在、急速に普及しています。"

# ツールの定義(LLMに何ができるか教える)
tools = [
    {
        "type": "function",
        "function": {
            "name": "search_web",
            "description": "指定したトピックについてWebを検索する",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "検索キーワード"}
                },
                "required": ["query"]
            }
        }
    }
]

def run_agent(topic: str):
    """AIエージェントのメインループ"""
    messages = [
        {"role": "system", "content": "あなたはリサーチアシスタントです。ツールを使って情報を集め、わかりやすくまとめてください。"},
        {"role": "user", "content": f"次のトピックについて調べてください:{topic}"}
    ]

    print(f"\n🔍 トピック:{topic}\n")

    # エージェントループ(最大3回まで繰り返す)
    for step in range(3):
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=messages,
            tools=tools,
            tool_choice="auto"
        )

        message = response.choices[0].message

        # ツール呼び出しがなければ終了
        if not message.tool_calls:
            print("📝 エージェントの回答:")
            print(message.content)
            break

        # ツールを実行して結果をメッセージに追加
        messages.append(message)
        for tool_call in message.tool_calls:
            args = json.loads(tool_call.function.arguments)
            result = search_web(args["query"])  # ツール実行
            messages.append({
                "role": "tool",
                "tool_call_id": tool_call.id,
                "content": result
            })
            print(f"🔧 ツール実行:search_web('{args['query']}')")

# 実行してみよう!
run_agent("AIエージェントの最新トレンド")

ここが重要です。

  • toolsでエージェントに「使える道具」を教えている
  • tool_callsがNoneなら思考完了 → 回答を出力
  • ループを回すことで「考える→調べる→また考える」が実現できる

まとめ 🎉


今回はAIエージェントの基本構造をPythonで実装する方法を見てきました。「難しそう…」と思っていた方も、ざっくりとした流れはつかめたんじゃないでしょうか。

LLMにツールを渡して、ループで回す。これがエージェントの本質です。まずはこのコードをそのまま動かして、ツールの中身をカスタマイズするところから始めてみてください。一気に「自分のAIアシスタント」が作れるようになりますよ 💪

📡 Arduinoをもっと深く学ぼう!

Arduino・ラズパイ・ロボットプログラミングを体系的に学びたい方へ。おすすめのUdemyコースや電子部品もまとめています。

Arduinoロボット入門のおすすめコース・部品を見る →

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

Arduinoをはじめよう 第4版 (Make: PROJECTS)

もしも

Arduinoをはじめよう 第4版 (Make: PROJECTS)

Arduino公式推薦の定番入門書

Amazonで見る

徹底攻略! 電子工作&プログラミング Arduinoで学ぶ電子工作完全ガイド

もしも

徹底攻略! 電子工作&プログラミング Arduinoで学ぶ電子工作完全ガイド

電子工作とプログラミングを同時に学べる

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です