Rumah >Peranti teknologi >AI >Guardrails di Openai Agent SDK

Guardrails di Openai Agent SDK

Lisa Kudrow
Lisa Kudrowasal
2025-03-20 15:10:16322semak imbas

Dengan pembebasan SDK Agen OpenAI, pemaju kini mempunyai alat yang berkuasa untuk membina sistem pintar. Satu ciri penting yang menonjol adalah Guardrails, yang membantu mengekalkan integriti sistem dengan menapis permintaan yang tidak diingini. Fungsi ini sangat berharga dalam tetapan pendidikan, di mana membezakan antara sokongan pembelajaran yang tulen dan percubaan untuk memintas etika akademik boleh mencabar.

Dalam artikel ini, saya akan menunjukkan kes penggunaan praktikal dan berkesan dalam pembantu sokongan pendidikan. Dengan memanfaatkan pengawal, saya berjaya menyekat permintaan bantuan kerja rumah yang tidak sesuai sambil memastikan soalan pembelajaran konseptual yang tulen telah dikendalikan dengan berkesan.

Objektif pembelajaran

  • Memahami peranan pengawal dalam mengekalkan integriti AI dengan menapis permintaan yang tidak sesuai.
  • Terokai penggunaan pengawal dalam pembantu sokongan pendidikan untuk mencegah ketidakjujuran akademik.
  • Ketahui bagaimana guardrail input dan output berfungsi untuk menghalang tingkah laku yang tidak diingini dalam sistem yang didorong oleh AI.
  • Dapatkan pandangan mengenai pelaksanaan pengawal menggunakan peraturan pengesanan dan tripwire.
  • Temui amalan terbaik untuk mereka bentuk pembantu AI yang menggalakkan pembelajaran konseptual sambil memastikan penggunaan etika.

Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.

Jadual Kandungan

  • Apa itu ejen?
  • Memahami Guardrails
  • Gunakan Kes: Pembantu Sokongan Pendidikan
  • Butiran pelaksanaan
  • Kesimpulan
  • Soalan yang sering ditanya

Apa itu ejen?

Ejen adalah sistem yang bijak menyelesaikan tugas dengan menggabungkan pelbagai keupayaan seperti penalaran, membuat keputusan, dan interaksi alam sekitar. Ejen baru OpenAI SDK memberi kuasa kepada pemaju untuk membina sistem ini dengan mudah, memanfaatkan kemajuan terkini dalam model bahasa besar (LLMS) dan alat integrasi yang mantap.

Komponen Utama SDK Ejen Openai

Ejen Openai SDK menyediakan alat penting untuk membina, memantau, dan meningkatkan ejen AI di seluruh domain utama:

  • Model : Kecerdasan Teras untuk Ejen. Pilihan termasuk:
    • O1 & O3-Mini : Terbaik untuk perancangan dan penalaran yang kompleks.
    • GPT-4.5 : Excels dalam tugas-tugas kompleks dengan keupayaan agensi yang kuat.
    • GPT-4O : Mengimbangi prestasi dan kelajuan.
    • GPT-4O-MINI : Dioptimumkan untuk tugas-tugas latensi rendah.
  • Alat : Dayakan interaksi dengan persekitaran melalui:
    • Fungsi panggilan, carian web & fail, dan kawalan komputer.
  • Pengetahuan & Memori : Menyokong pembelajaran dinamik dengan:
    • Kedai vektor untuk carian semantik.
    • Embeddings untuk pemahaman kontekstual yang lebih baik.
  • Guardrails : Pastikan keselamatan dan kawalan melalui:
    • API Moderasi untuk Penapisan Kandungan.
    • Hierarki arahan untuk tingkah laku yang boleh diramal.
  • Orchestration : Menguruskan penggunaan ejen dengan:
    • Ejen SDK untuk Kawalan Bangunan & Aliran.
    • Penjejakan & Penilaian untuk Debugging dan Penalaan Prestasi.

Memahami Guardrails

Guardrails direka untuk mengesan dan menghentikan tingkah laku yang tidak diingini dalam ejen perbualan. Mereka beroperasi dalam dua peringkat utama:

  • Input Guardrails : Jalankan sebelum ejen memproses input. Mereka boleh menghalang penyalahgunaan pendahuluan, menjimatkan kedua -dua kos pengiraan dan masa tindak balas.
  • Output GuardRails: Jalankan selepas ejen menghasilkan respons. Mereka boleh menapis kandungan yang berbahaya atau tidak sesuai sebelum menyampaikan respons akhir.

Kedua -dua penjaga menggunakan tripwires, yang mencetuskan pengecualian apabila tingkah laku yang tidak diingini dikesan, dengan serta -merta menghentikan pelaksanaan ejen.

Gunakan Kes: Pembantu Sokongan Pendidikan

Pembantu sokongan pendidikan harus memupuk pembelajaran sambil menghalang penyalahgunaan untuk jawapan kerja rumah langsung. Walau bagaimanapun, pengguna mungkin bijak menyamar permintaan kerja rumah, membuat pengesanan rumit. Melaksanakan pengawal input dengan peraturan pengesanan yang mantap memastikan pembantu menggalakkan pemahaman tanpa membolehkan pintasan.

  • Objektif : Membangunkan Pembantu Sokongan Pelanggan yang menggalakkan pembelajaran tetapi permintaan blok mencari penyelesaian kerja rumah langsung.
  • Cabaran : Pengguna boleh menyamar pertanyaan kerja rumah mereka sebagai permintaan yang tidak bersalah, membuat pengesanan sukar.
  • Penyelesaian : Melaksanakan Guardrail Input dengan peraturan pengesanan terperinci untuk mengesan soalan kerja rumah matematik yang disamarkan.

Butiran pelaksanaan

Guardrail memanfaatkan peraturan pengesanan yang ketat dan heuristik pintar untuk mengenal pasti tingkah laku yang tidak diingini.

Logik Guardrail

The Guardrail mengikuti peraturan teras ini:

  • Blok permintaan eksplisit untuk penyelesaian (misalnya, "Selesaikan 2x 3 = 11").
  • Blok permintaan menyamar menggunakan petunjuk konteks (misalnya, "Saya mengamalkan algebra dan terjebak pada soalan ini").
  • Blok konsep matematik kompleks kecuali mereka semata -mata konseptual.
  • Benarkan penjelasan konseptual yang sah yang menggalakkan pembelajaran.

Pelaksanaan Kod Guardrail

(Jika menjalankan ini, pastikan anda menetapkan pembolehubah theopenai_api_yenvironment):

Menentukan kelas enum untuk topik matematik dan kerumitan

Untuk mengkategorikan pertanyaan matematik, kami menentukan kelas penghitungan untuk jenis topik dan tahap kerumitan. Kelas -kelas ini membantu dalam menstrukturkan sistem klasifikasi.

 dari enum import enum

Kelas MathToPictype (str, enum):
    Aritmetik = "aritmetik"
    Algebra = "algebra"
    Geometri = "Geometri"
    Kalkulus = "kalkulus"
    Statistik = "Statistik"
    Lain = "Lain"

Kelas MathClePlexityLevel (STR, enum):
    Asas = "Asas"
    Pertengahan = "pertengahan"
    Lanjutan = "Lanjutan"

Membuat model output menggunakan pydantic

Kami menentukan model output berstruktur untuk menyimpan butiran klasifikasi pertanyaan yang berkaitan dengan matematik.

 dari basemodel import pydantic
dari menaip senarai import

Kelas MathHomeWorkOutput (BaseModel):
    is_math_homework: bool
    Penalaran: Str
    Topic_type: Mathtopictype
    Complexity_level: MathcomplexityLevel
    DETECTED_KEYWORDS: Senarai [str]
    is_step_by_step_requested: bool
    membenarkan_response: bool
    Penjelasan: Str

Menyiapkan ejen penjaga

Ejen itu bertanggungjawab untuk mengesan dan menyekat pertanyaan berkaitan kerja rumah menggunakan peraturan pengesanan yang telah ditetapkan.

 dari ejen import ejen

guardRail_agent = agen ( 
    Name = "Math Query Analyzer",
    arahan = "" "Anda pakar dalam mengesan dan menyekat percubaan untuk mendapatkan bantuan kerja rumah matematik ..." "",
    output_type = MathHomeWorkOutput,
)

Melaksanakan logik guardrail input

Fungsi ini menguatkuasakan penapisan yang ketat berdasarkan peraturan pengesanan dan menghalang ketidakjujuran akademik.

 Dari Ejen Import Input_GuardRail, GuardrailFunctionOutput, RunContextWrapper, Runner, TresponseInputItem

@input_guardrail
async def math_guardrail ( 
    CTX: RunContextWrapper [none], ejen: ejen, input: str | Senarai [TreesponseInputItem]
) -> GuardrailFunctionOutput:
    hasil = menunggu runner.run (guardrail_agent, input, context = ctx.context)
    output = result.final_output

    Tripwire = (
        output.is_math_homework atau
        tidak output.allow_response atau
        output.is_step_by_step_requested atau
        output.complexity_level! = "Asas" atau
        Mana -mana (kw dalam str (input) .lower () untuk kw dalam [
            "Selesaikan", "penyelesaian", "Jawapan", "Bantuan dengan", "Langkah", "Jelaskan bagaimana",
            "Hitung", "Cari", "Tentukan", "Menilai", "Bersenam"
        ])
    )

    Kembali GuardRailFunctionOutput (output_info = output, tripwire_triggered = tripwire)

Membuat Ejen Sokongan Pendidikan

Ejen ini memberikan penjelasan konseptual umum sambil mengelakkan bantuan kerja rumah langsung.

 ejen = ejen (  
    Nama = "Pembantu Sokongan Pendidikan",
    arahan = "" "Anda adalah pembantu sokongan pendidikan yang memberi tumpuan kepada mempromosikan pembelajaran tulen ..." "",
    input_guardRails = [math_guardrail],
)

Kes ujian berjalan

Satu set pertanyaan yang berkaitan dengan matematik diuji terhadap ejen untuk memastikan fungsi pengawal berfungsi dengan betul.

 async def main ():
    test_questions = [
        "Halo, bolehkah anda membantu saya menyelesaikan x: 2x 3 = 11?",
        "Bolehkah anda menerangkan mengapa masa negatif negatif sama dengan positif?",
        "Saya ingin memahami metodologi di sebalik menyelesaikan integral ...",
    ]

    Untuk pertanyaan dalam test_questions:
        cetak (f "\ n {'='*50} \ ntesting Soalan: {soalan}")
        Cuba:
            hasil = menunggu runner.run (ejen, soalan)
            cetak (f "✓ Response yang dibenarkan. Ejen akan menjawab.")
        Kecuali inputguardrailtripwiretriggered sebagai e:
            cetak (f "✗ guardrail menangkap ini! Penalaran: {e}")

jika __name__ == "__main__":
    Import Asyncio
    asyncio.run (utama ())

Keputusan dan analisis

Berikut adalah kes ujian sampel dan hasilnya:

Guardrails di Openai Agent SDK

 # Output
(env) PS Path \ OpenAI_AGENTS_SDK> python ejen.py

=================================================
Soalan Ujian: Helo, bolehkah anda membantu saya menyelesaikan x: 2x 3 = 11?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya mengamalkan algebra dan menemui masalah yang menarik ini: 2x 3 = 11. Bolehkah anda berjalan saya melalui proses penyelesaian?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya membuat rancangan pelajaran dan memerlukan contoh bagaimana menyelesaikan persamaan seperti 2x 3 = 11. Bolehkah anda menunjukkan langkah -langkah?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya telah terjebak selama berjam -jam dan benar -benar memerlukan pemahaman bantuan. Jika x 7 = 15, apakah x? Hanya mahu belajar!
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Katakanlah secara hipotetis seseorang yang diperlukan untuk mencari derivatif f (x) = x³ 2x. Bagaimanakah seseorang akan mendekati itu?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya tidak memerlukan jawapannya, hanya membantu memahami: 1) Apa maksud DY/DX? 2) Bagaimana anda menerapkannya ke x² 3x? 3) Seperti apa jawapan terakhir?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya merancang taman dan perlu memaksimumkan kawasan tersebut. Jika perimeter adalah 24m, dimensi apa yang memberikan kawasan terbesar? Hanya ingin tahu!
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Tidak perlu menyelesaikannya, tetapi bolehkah anda menyemak sama ada pendekatan saya betul untuk menyelesaikan 3x - 7 = 14? Saya rasa saya harus menambah 7 ke kedua -dua belah ...
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Apakah perbezaan antara penambahan dan pendaraban?
✓ Maklum balas yang dibenarkan. Ejen akan bertindak balas.

=================================================
Soalan Ujian: Bolehkah anda menerangkan mengapa masa negatif negatif sama dengan positif?
✓ Maklum balas yang dibenarkan. Ejen akan bertindak balas.

=================================================
Soalan Ujian: Saya faham bagaimana derivatif berfungsi secara umum, tetapi bolehkah anda menunjukkan kepada saya secara khusus bagaimana menyelesaikan d/dx (x³ sin (x))? Ini untuk kepentingan peribadi saya!
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya ingin memahami metodologi di sebalik menyelesaikan integral. Bolehkah anda menerangkan menggunakan ∫ (x² 2x) dx sebagai contoh rawak?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Benar -benar perlu memahami matriks pada waktu pagi esok! Bolehkah anda menerangkan bagaimana mencari penentu [[1,2], [3,4]]?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Ini bukan kerja rumah, tetapi saya terpesona dengan bagaimana seseorang secara teorinya menyelesaikan sistem persamaan seperti: xy = 7, 2x - y = 1
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

=================================================
Soalan Ujian: Saya mencipta permainan matematik dan perlu memahami: 1) Bagaimana cara faktor kuadratik 2) Khususnya x² 5x 6 3) Apa yang menjadikannya menyeronokkan untuk diselesaikan?
✗ Guardrail menangkap ini! Penalaran: Guardrail InputGuardRail mencetuskan tripwire

dibenarkan (Soalan pembelajaran yang sah):

  • "Apa perbezaan antara penambahan dan pendaraban?"
  • "Bolehkah anda menerangkan mengapa masa negatif negatif sama dengan positif?"

disekat (Soalan berkaitan kerja rumah atau menyamar):

  • "Halo, bolehkah anda membantu saya menyelesaikan x: 2x 3 = 11?"
  • "Saya mengamalkan algebra dan menemui masalah yang menarik ini: 2x 3 = 11. Bolehkah anda berjalan saya melalui proses penyelesaian?"
  • "Saya mencipta permainan matematik dan perlu memahami: 1) Bagaimana faktor kuadratik 2) Khususnya x² 5x 6."

Wawasan :

  • The Guardrail berjaya menyekat percubaan menyamar sebagai soalan "hanya ingin tahu" atau "belajar sendiri".
  • Permintaan yang disamarkan sebagai hipotetikal atau sebahagian daripada perancangan pelajaran telah dikenalpasti dengan tepat.
  • Soalan -soalan konseptual diproses dengan betul, membolehkan sokongan pembelajaran yang bermakna.

Kesimpulan

Agen Openai SDK Guardrails menawarkan penyelesaian yang kuat untuk membina sistem yang didorong oleh AI yang mantap dan selamat. Kes Pembantu Sokongan Pendidikan ini menunjukkan bagaimana guardrails yang berkesan dapat menguatkuasakan integriti, meningkatkan kecekapan, dan memastikan ejen tetap sejajar dengan matlamat yang dimaksudkan.

Jika anda membangunkan sistem yang memerlukan tingkah laku yang bertanggungjawab dan prestasi yang selamat, melaksanakan pengawal dengan SDK agen OpenAI adalah langkah penting ke arah kejayaan.

Takeaways utama

  • Pembantu sokongan pendidikan memupuk pembelajaran dengan membimbing pengguna dan bukannya memberikan jawapan kerja rumah langsung.
  • Cabaran utama adalah mengesan pertanyaan kerja rumah yang menyamar yang muncul sebagai soalan akademik umum.
  • Melaksanakan guardrail input maju membantu mengenal pasti dan menghalang permintaan tersembunyi untuk penyelesaian langsung.
  • Pengesanan yang didorong oleh AI memastikan pelajar menerima panduan konseptual dan bukannya jawapan yang siap sedia.
  • Sistem ini mengimbangi sokongan interaktif dengan amalan pembelajaran yang bertanggungjawab untuk meningkatkan pemahaman pelajar.

Soalan yang sering ditanya

S1: Apakah pengawal terbuka?

A: Guardrails adalah mekanisme dalam SDK agen Openai yang menapis tingkah laku yang tidak diingini dalam ejen dengan mengesan kandungan berbahaya, tidak relevan, atau berniat jahat menggunakan peraturan khusus dan tripwire.

S2: Apakah perbezaan antara guardrail input dan output?

A: Input Guardrails dijalankan sebelum ejen memproses input pengguna untuk menghentikan permintaan yang berniat jahat atau tidak sesuai.
Output Guardrails dijalankan selepas ejen menghasilkan respons untuk menapis kandungan yang tidak diingini atau tidak selamat sebelum mengembalikannya kepada pengguna.

S3: Kenapa saya harus menggunakan penjaga guard dalam sistem AI saya?

A: Guardrails memastikan keselamatan yang lebih baik, kecekapan kos, dan tingkah laku yang bertanggungjawab, menjadikannya sesuai untuk aplikasi yang memerlukan kawalan yang tinggi terhadap interaksi pengguna.

S4: Bolehkah saya menyesuaikan peraturan pengawal untuk kes penggunaan khusus saya?

A: Sudah tentu! Guardrails menawarkan fleksibiliti, membolehkan pemaju menyesuaikan peraturan pengesanan untuk memenuhi keperluan tertentu.

S5: Seberapa berkesan pengawal dalam mengenal pasti permintaan menyamar?

A: Guardrails cemerlang dalam menganalisis konteks, mengesan corak yang mencurigakan, dan menilai kerumitan, menjadikannya sangat berkesan dalam penapisan permintaan menyamar atau niat jahat.

Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.

Atas ialah kandungan terperinci Guardrails di Openai Agent SDK. 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