Rumah >pembangunan bahagian belakang >Tutorial Python >Ejen AI Pembetulan Sendiri: Cara Membina AI Yang Belajar Daripada Kesilapannya

Ejen AI Pembetulan Sendiri: Cara Membina AI Yang Belajar Daripada Kesilapannya

DDD
DDDasal
2024-12-29 00:09:11720semak imbas

Self-Correcting AI Agents: How to Build AI That Learns From Its Mistakes

Pengenalan

Bagaimana jika ejen AI anda dapat mengenali kesilapannya sendiri, belajar daripadanya dan mencuba lagi — tanpa campur tangan manusia? Selamat datang ke dunia ejen AI yang membetulkan sendiri.

Kebanyakan model AI menjana output dalam satu percubaan. Tetapi ejen pembetulan diri pergi lebih jauh. Mereka boleh mengenal pasti apabila ralat berlaku, menganalisis punca dan menggunakan pembetulan — semuanya dalam masa nyata. Anggap ia sebagai AI dengan pemikiran "percubaan dan ralat" terbina dalam.

Dalam blog ini, anda akan belajar:

  • Maksud pembetulan diri untuk ejen AI.
  • Bagaimana untuk membina ejen yang menyesuaikan diri dengan kesilapan.
  • Cara mengaplikasikan corak pantulan dalam reka bentuk ejen.

Pada akhirnya, anda akan tahu cara mereka bentuk ejen AI yang bukan sahaja gagal dengan anggun tetapi juga bertambah baik pada setiap percubaan.


1️⃣ Apakah itu Ejen Pembetulan Diri?

A ejen pembetulan diri ialah sistem AI yang boleh mengenali kegagalannya sendiri dan mencuba strategi baharu. Jika pendekatan awal tidak berjaya, ejen akan menilai semula dan mencuba jalan alternatif.

Analogi:

Bayangkan meminta chef untuk membakar kek, tetapi mereka menggunakan terlalu banyak gula pada kali pertama. AI standard akan terus melakukan kesilapan yang sama. Tetapi AI yang membetulkan sendiri akan melihat ralat itu, mengurangkan gula pada masa akan datang dan menyesuaikan sehingga kek berasa sempurna.

Kenapa Ejen Pembetulan Diri Penting?

Kebanyakan alatan AI (seperti ChatGPT) hanya boleh memberi anda satu respons sahaja. Jika ia salah, anda perlu memintanya secara manual untuk "cuba lagi." Tetapi ejen pembetulan diri boleh cuba semula secara autonomi.

?️ Contoh Kes Penggunaan:

AI diminta untuk menulis fungsi Python yang mengira nombor Fibonacci.

Percubaan 1: AI menulis fungsi rekursif perlahan.

Pembetulan Kendiri: Ia perasan bahawa rekursi terlalu perlahan.

Percubaan 2: AI menulis semula fungsi menggunakan pengaturcaraan dinamik, menjadikannya lebih pantas.


2️⃣ Teknik Utama untuk Pembetulan Diri

Bagaimana kita membuat ejen cukup sedar diri untuk mengenali kesilapannya? Berikut adalah tiga teknik utama:

1. Pengesanan Ralat

  • Kenal pasti sama ada hasilnya "salah" (seperti kegagalan panggilan API, output salah atau prestasi buruk).
  • Gunakan kod ralat, pengecualian atau kes ujian untuk mengesan kegagalan.

2. Refleksi

  • Ejen memikirkan keputusan mereka, bertanya, "Apa yang berlaku?", dan merancang langkah seterusnya.
  • Refleksi boleh dicapai dengan ralat pengelogan, menjejaki panggilan API yang tidak berjaya atau menilai semula kualiti respons.

3. Cuba semula Logik

  • Selepas refleksi, ejen mencuba semula dengan strategi yang lebih baik.
  • Ini mungkin bermakna menukar penyedia API, menggunakan logik yang lebih cekap atau menggunakan pendekatan sandaran.

? Petua Pro:

Log ralat boleh dimasukkan semula ke dalam model AI untuk meningkatkan prestasi masa hadapan.


3️⃣ Pembetulan Diri dalam Amalan

Mari bina ejen AI pembetulan sendiri menggunakan Python dan FastAPI.


?? Langkah 1: Masalahnya

Kami mahukan ejen AI yang boleh menjana fungsi Python. Jika fungsi gagal dijalankan atau menghasilkan output yang salah, ejen akan secara automatik membetulkan sendiri.

Masalah: Tulis fungsi Fibonacci yang mengira nombor Fibonacci ke-10.

Cabaran: Jika ejen menghasilkan versi rekursif (yang perlahan), ia harus mengenali ini dan menulis semula menggunakan pengaturcaraan dinamik.


?? Langkah 2: Sediakan Ejen

Pasang kebergantungan yang diperlukan:

pip install openai fastapi uvicorn


?? Langkah 3: Tulis Ejen

Begini cara ejen berfungsi:

  1. Ia menjana fungsi Python menggunakan API OpenAI.
  2. Ia menjalankan fungsi untuk menyemak sama ada ia berfungsi.
  3. Jika fungsi gagal (lambat, salah atau ralat), ia mencerminkan dan membetulkan pendekatan.

Pelaksanaan Kod

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())


4️⃣ Cara Ia Berfungsi

  1. Jana Fungsi: AI menulis fungsi Python untuk Fibonacci.
  2. Jalankan Fungsi: Ejen melaksanakan fungsi dan menyemak hasilnya.
  3. Betulkan Diri: Jika keputusannya salah, ia menggesa OpenAI untuk cuba lagi dengan pendekatan yang lebih bijak.

Contoh Output

pip install openai fastapi uvicorn


5️⃣ Corak Utama dalam Agen Pembetulan Diri

  1. Pengesanan Ralat: Cari output yang salah, prestasi perlahan atau pengecualian.
  2. Refleksi: Log masalah. Mengapa ia gagal?
  3. Cuba Semula Logik: Panggil versi baharu fungsi, tetapi lebih bijak kali ini.

? Petua Pro:

Gunakan gelung maklum balas untuk membolehkan ejen belajar daripada kesilapan. Log masuk semula ke dalam ejen untuk membantunya mengenali isu biasa.


6️⃣ Bilakah Anda Harus Menggunakan Ejen Pembetulan Sendiri?

Agen pembetulan diri berguna dalam kes di mana kegagalan kerap berlaku dan campur tangan manual memerlukan kos yang tinggi.

  • Panggilan API: Cuba semula jika API gagal.
  • Penjanaan Kod: Jana semula kod jika ia menimbulkan ralat.
  • Analisis Data: Betulkan ramalan yang salah dalam model ML.

7️⃣ Manfaat Agen Pembetulan Diri

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
Masalah Penyelesaian Ejen silap faham Cuba semula dengan pendekatan yang lebih baik Permintaan API gagal Cuba semula dengan pengunduran eksponen Ralat penjanaan kod Gunakan gesaan yang lebih bijak

8️⃣ Bawa Ia Ke Tahap Seterusnya

  1. Gunakan Cache: Simpan output yang berjaya supaya ejen tidak bermula dari awal.
  2. Tambah Gelung Maklum Balas: Jika fungsi sering gagal, suapan log masuk ke dalam proses latihan.
  3. Jejaki Keyakinan Ejen: Jika ejen tidak pasti, minta ia menjalankan kes ujian.

9️⃣ Penggulungan

Anda kini mempunyai pelan tindakan untuk ejen pembetulan diri yang boleh menulis, menguji dan membetulkan fungsi Python. Inilah perkara yang kami bincangkan:

  • 3 tunjang pembetulan diri: Pengesanan Ralat, Refleksi, Cuba Semula Logik.
  • Cara membina ejen yang menjana dan menguji fungsi Python.
  • Amalan terbaik untuk membina ejen yang lebih bijak dan boleh dipercayai.

? Cabaran:

Bina ejen pembetulan diri yang bukan sahaja menjana kod tetapi menilai prestasi masa jalan. Jika fungsi terlalu perlahan, minta ia menulis semula fungsi untuk pengoptimuman.

Ingin mengetahui lebih lanjut tentang membina LLM Responsif? Lihat kursus saya di baris baharu: Aplikasi LLM Responsif dengan Acara Dihantar Pelayan

Saya cover :

  • Cara mereka bentuk sistem untuk aplikasi AI
  • Cara menstrim jawapan Model Bahasa Besar
  • Perbezaan antara Acara Dihantar Pelayan dan Soket Web
  • Kepentingan masa nyata untuk GenAI UI
  • Cara pengaturcaraan tak segerak dalam Python berfungsi
  • Bagaimana untuk mengintegrasikan LangChain dengan FastAPI
  • Apakah masalah Retrieval Augmented Generation boleh selesaikan
  • Cara mencipta ejen AI ... dan banyak lagi.

Atas ialah kandungan terperinci Ejen AI Pembetulan Sendiri: Cara Membina AI Yang Belajar Daripada Kesilapannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn