如果您的人工智慧代理能夠識別自己的錯誤,從中學習,然後重試——無需人工幹預,會怎麼樣?歡迎來到自我修正人工智慧代理的世界。
大多數人工智慧模型都會在一次嘗試中產生輸出。但自我糾正代理更進一步。他們可以即時識別何時發生錯誤、分析原因並應用修復。將其視為具有內建「試錯」心態的人工智慧。
在這個部落格中,您將學到:
到最後,您將知道如何設計 AI 代理,不僅可以優雅地失敗,而且可以在每次嘗試中進行改進。
自我修正代理是一個人工智慧系統,可以識別自己的失敗並嘗試新的策略。如果最初的方法不起作用,代理程式會重新評估並嘗試替代路徑。
類比:
想像一下請廚師烤蛋糕,但他們第一次用了太多醣。標準的人工智慧會不斷犯下同樣的錯誤。但自我修正的人工智慧會注意到錯誤,下次減少糖分,並進行調整,直到蛋糕味道完美。
大多數人工智慧工具(如 ChatGPT)只能給你一個單一的回應。如果錯誤,您必須手動要求它“重試”。但自我修正代理可以自主重試。
?️ 範例用例:
人工智慧被要求寫一個計算斐波那契數的 Python 函數。
嘗試 1: AI 寫一個緩慢的遞歸函數。
自我修正:它注意到遞迴太慢了。
嘗試 2: AI 使用動態程式設計重寫函數,使其速度更快。
我們如何讓代理人有足夠的自我意識來認識自己的錯誤?以下是三個主要技術:
?專業提示:
錯誤日誌可以回饋到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 應用程式
我涵蓋:
以上是自我修正人工智慧代理:如何建構能夠從錯誤中學習的人工智慧的詳細內容。更多資訊請關注PHP中文網其他相關文章!