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

そんな疑問を持っている方、多いんじゃないでしょうか。最近「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コースや電子部品もまとめています。





