ReAct Prompting
自律型AIエージェントを構築するためのReActプロンプトを探索しましょう。推論と行動が、LLMやUltralytics YOLO26のようなビジョンツールといかに連携するかを学びます。
ReAct (Reasoning and Acting) prompting is an advanced prompt engineering paradigm that enables Large Language Models (LLMs) to dynamically interleave step-by-step reasoning traces with task-specific actions. Introduced in the influential 2022 academic paper "ReAct: Synergizing Reasoning and Acting in Language Models", this technique transforms a static language model into an interactive AI agent. By explicitly generating thoughts about a problem and executing actions to retrieve external information, the ReAct framework significantly improves factual accuracy and decision-making capabilities in complex artificial intelligence workflows.
Link to this section推論と行動のメカニズム#
従来の対話では、モデルは完全に内部知識に基づいて応答を生成するため、LLMのハルシネーションにつながることがよくあります。ReActアーキテクチャは、思考(Thoughts)、行動(Actions)、観察(Observations)の継続的なループを使用してAIを外部環境に結びつけることで、この問題を解決します。
クエリに直面したモデルは、まず戦略を概説するための「思考(Thought)」を生成します。次に、検索エンジンのクエリ実行、データベースとの対話、あるいはfunction callingと呼ばれる概念を介したビジョンAPIの呼び出しといった「行動(Action)」を引き起こします。環境は「観察(Observation)」を返し、事実データを提供します。モデルはこの新しい情報を評価して推論を更新し、最終的な回答にたどり着くまでこのサイクルを繰り返します。Prompt Engineering Guide on ReActで詳しく説明されているこの手法は、人間の問題解決を模倣し、透明性が高く制御可能なエージェントの挙動を確立します。
Link to this section実社会での応用#
ReActプロンプティングは、反復的な問題解決や多段階のツール利用が必要なシナリオにおいて卓越しており、現代のエージェント型AIシステムの基礎となっています。
- 自動化されたカスタマーサポートエージェント: エンタープライズ環境において、ITヘルプデスクエージェントはReActを使用してユーザーの問題を解決します。ユーザーがネットワーク障害を報告した場合、エージェントはサーバーのステータスを確認する必要があると推論します。診断APIにpingを送信する行動を取り、その結果を観察し、取得した事実に基づいてチケットをエスカレーションするかトラブルシューティングガイドを提供することで、従来のRAG(検索拡張生成)パイプラインを効率化します。
- 動的な視覚分析: コンピュータビジョンシステムは、複雑な視覚的質問応答にReActを活用します。在庫管理を任されたロボットエージェントは、棚を観察し、特定のアイテムを数える必要があると推論し、物体検出モデルを呼び出す行動を取り、返されたbboxデータを使用してカウントを完了させます。この相乗効果が、テキストベースの推論と空間的な理解の間の溝を埋めます。
Link to this sectionコンピュータビジョンによるReActの実装#
Pythonを使用する開発者にとって、ReActエージェントは多くの場合、知覚モデルを調整して物理世界と対話させます。以下の概念コードは、ReAct推論ループがUltralytics YOLO26モデルを外部ツールとしてシームレスにデプロイし、環境を観察および報告する方法を示しています。
from ultralytics import YOLO
def vision_tool(image_path: str) -> str:
"""Action tool for a ReAct agent to detect objects in an image."""
model = YOLO("yolo26n.pt") # Load highly efficient YOLO26 nano model
results = model(image_path)
# Format the observation for the LLM's reasoning loop
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
return f"Observation: Found {len(detected_classes)} objects: {', '.join(detected_classes)}"
# Simulated ReAct agent executing an action
agent_observation = vision_tool("https://ultralytics.com/images/bus.jpg")
print(agent_observation)これらのビジョンツールのデータセット管理や実験追跡は、モダンなAIデプロイメントに向けた包括的なソリューションを提供するUltralytics Platformを使用して完全に効率化できます。これらのエージェントをゼロから構築することに関心がある方は、公式ReActリポジトリの基礎となるロジックを学習することもできます。
Link to this section関連概念の区別#
最近の学術的なアライメント研究で探究されているような堅牢なマルチモーダルアーキテクチャを設計するには、ReActを関連するエンジニアリングパターンと区別することが重要です。
- 対 Chain-of-Thoughtプロンプティング: Chain-of-Thought (CoT) はモデルに段階的な思考を促しますが、完全に静的で内部的な知識に依存します。ReActは、推論プロセス中に新しい外部からの観察結果を収集する動的な「行動」を注入することで、CoTを拡張します。
- 対 プロンプトチェイン: プロンプトチェインは、あるステップの出力を自動的に次のステップに入力する、個別のLLM呼び出しのシーケンスをハードコーディングすることを含みます。ReActは、硬直したチェインスクリプトに従うのではなく、進行中の観察結果に基づいて、どのツールまたは連続したアクションを実行すべきかを単一のエージェントが動的に決定する、より自律的なパラダイムです。
論理的演繹と、マルチモーダルモデルのような専門的な外部ツールの実行を統合することで、ReActプロンプティングは、非常に有能で汎用的なAIシステムの開発を可能にします。






