AI エージェントが人間の介入なしに、自身の間違いを認識し、そこから学習し、再試行できるとしたらどうなるでしょうか? 自己修正 AI エージェントの世界へようこそ。
ほとんどの AI モデルは 1 回の試行で出力を生成します。しかし、自己修正エージェントはさらに進んでいます。エラーがいつ発生したかを特定し、原因を分析し、修正を適用することをすべてリアルタイムで行うことができます。これは、「試行錯誤」の考え方が組み込まれた AI と考えてください。
このブログでは次のことを学びます:
最後には、正常に失敗するだけでなく、試行ごとに改善する AI エージェントを設計する方法がわかります。
自己修正エージェントは、自身の失敗を認識し、新しい戦略を試みることができる AI システムです。最初のアプローチが機能しない場合、エージェントは再評価して代替パスを試みます。
類似:
シェフにケーキを焼いてもらうと想像してみてください。しかし、最初は砂糖を使いすぎます。標準的な AI は同じ間違いを繰り返します。しかし、自己修正する AI がエラーに気づき、次回は砂糖を減らし、ケーキが完璧な味になるまで調整します。
ほとんどの AI ツール (ChatGPT など) は 1 つの応答しか提供できません。間違っている場合は、手動で「再試行」するように要求する必要があります。ただし、自己修正エージェントは自律的に再試行できます。
?️ 使用例:
AI は、フィボナッチ数を計算する Python 関数を書くように求められます。
試行 1: AI は遅い再帰関数を作成します。
自己修正: 再帰が遅すぎることに気づきました。
試行 2: AI が動的プログラミングを使用して関数を書き換え、高速化します。
エージェントに自分の間違いを認識できるほどの自覚を持たせるにはどうすればよいでしょうか?ここでは 3 つの主要なテクニックを紹介します:
?プロのヒント:
エラー ログを AI モデルにフィードバックして、将来のパフォーマンスを向上させることができます。
Python と FastAPI を使用して自己修正 AI エージェントを構築しましょう。
Python 関数を生成できる AI エージェントが必要です。関数の実行に失敗した場合、または間違った出力が生成された場合、エージェントは自動的に自身を修正します。
問題: 10 番目のフィボナッチ数を計算するフィボナッチ関数を作成します。
課題: エージェントが再帰バージョン (遅い) を生成する場合、エージェントはこれを認識し、動的プログラミングを使用して書き換える必要があります。
必要な依存関係をインストールします:
pip install openai fastapi uvicorn
エージェントの仕組みは次のとおりです:
import openai import time import asyncio # ? Replace with your OpenAI API key openai.api_key = "your_openai_api_key_here" # ? Step 1: Ask the AI to generate a Fibonacci function async def generate_fibonacci_function(): prompt = "Write a Python function to calculate the 10th Fibonacci number." response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": prompt}] ) function_code = response['choices'][0]['message']['content'] return function_code # ? Step 2: Test the function to see if it works def test_fibonacci_function(function_code): try: exec(function_code) # Run the function in a safe execution environment result = eval("fibonacci(10)") # Call the function with n=10 if result == 55: # Correct Fibonacci value for n=10 return "success", result else: return "wrong_output", result except Exception as e: return "error", str(e) # ? Step 3: Self-Correct by asking for a new version of the function async def self_correct_function(): max_attempts = 3 for attempt in range(max_attempts): print(f"? Attempt {attempt + 1}") # Generate a new Fibonacci function function_code = await generate_fibonacci_function() print(f"Generated function:\n{function_code}\n") # Test the function to see if it works status, result = test_fibonacci_function(function_code) if status == "success": print(f"✅ Success! Fibonacci(10) = {result}") return elif status == "wrong_output": print(f"❌ Incorrect result: {result}. Asking AI to try a better method.") else: print(f"? Error: {result}. Asking AI to try again.") print("❌ Max attempts reached. Could not generate a correct function.") # ? Run the correction process asyncio.run(self_correct_function())
出力例
pip install openai fastapi uvicorn
?プロのヒント:
フィードバック ループを使用して、エージェントが間違いから学習できるようにします。一般的な問題を認識できるように、ログをエージェントにフィードバックします。
自己修正エージェントは、失敗が頻繁に発生し、手動による介入にはコストがかかる場合に役立ちます。
Problem | Solution |
---|---|
Agent gets it wrong | Retry with a better approach |
API request fails | Retry with exponential backoff |
Code generation error | Use a smarter prompt |
これで、Python 関数を作成、テスト、修正できる自己修正エージェントの青写真が完成しました。私たちが取り上げた内容は次のとおりです:
?チャレンジ:
コードを生成するだけでなく実行時のパフォーマンスを評価する自己修正エージェントを構築します。関数が遅すぎる場合は、関数を書き直して最適化します。
レスポンシブ LLM の構築について詳しく知りたいですか?新しい行で私のコースをチェックしてください: サーバー送信イベントを使用した応答性 LLM アプリケーション
私がカバーするのは次のとおりです:
以上が自己修正型 AI エージェント: 間違いから学習する AI を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。