OpenAIのエージェントSDKのリリースにより、開発者はインテリジェントシステムを構築するための強力なツールを持っています。際立っている重要な機能の1つはGuardRailsです。これは、不要な要求をフィルタリングすることでシステムの整合性を維持するのに役立ちます。この機能は、教育的環境で特に価値があります。これは、本物の学習サポートと学術倫理をバイパスする試みを区別することが困難な場合があります。
この記事では、教育サポートアシスタントのガードレールの実用的でインパクトのあるユースケースを示します。ガードレールを活用することにより、不適切な宿題支援のリクエストを首尾よくブロックし、真の概念学習の質問が効果的に処理されるようにしました。
この記事は、データサイエンスブログソンの一部として公開されました。
エージェントは、推論、意思決定、環境相互作用などのさまざまな機能を組み合わせることにより、タスクをインテリジェントに達成するシステムです。 Openaiの新しいエージェントSDKは、開発者がこれらのシステムを簡単に構築できるようにし、大規模な言語モデル(LLMS)と堅牢な統合ツールの最新の進歩を活用しています。
OpenaiのエージェントSDKは、主要なドメイン全体でAIエージェントを構築、監視、改善するための重要なツールを提供します。
ガードレールは、会話エージェントの不要な動作を検出および停止するように設計されています。それらは2つの重要な段階で動作します。
両方のGuardRailsはTripwiresを使用します。これにより、不要な動作が検出されたときに例外がトリガーされ、エージェントの実行が即座に停止します。
教育サポートアシスタントは、直接的な宿題の回答の誤用を防ぎながら、学習を促進する必要があります。ただし、ユーザーは宿題のリクエストを巧みに偽装して、検出が難しい場合があります。堅牢な検出ルールを使用して入力ガードレールを実装することで、アシスタントがショートカットを可能にすることなく理解を奨励します。
GuardRailは、厳格な検出ルールとスマートヒューリスティックを活用して、不要な動作を特定します。
GuardRailはこれらのコアルールに従います。
(これを実行する場合は、theopenai_api_keyenvironment変数を設定してください):
数学クエリを分類するために、トピックタイプと複雑さレベルの列挙クラスを定義します。これらのクラスは、分類システムの構築に役立ちます。
enumからインポートenumから クラスMathTopictype(str、enum): arithmetic = "arithmetic" 代数= "代数" geometry = "geometry" calculus = "calculus" 統計= "統計" その他= "その他" クラスMathComplexityLevel(str、enum): BASIC = "BASIC" 中程度= "中間体" Advanced = "Advanced"
構造化された出力モデルを定義して、数学関連クエリの分類詳細を保存します。
Pydantic Import Basemodelから インポートリストの入力から クラスMathhomeWorkOutput(BaseModel): is_math_homework:bool 推論:str topic_type:mathtopictype Complexity_Level:MathComplexityLevel retected_keywords:list [str] is_step_by_step_requested:bool Allow_response:bool 説明:str
エージェントは、事前定義された検出ルールを使用して宿題関連のクエリを検出およびブロックする責任があります。
エージェントからインポートエージェントから Guardrail_agent = agent( name = "Math Query Analyzer"、 指示= "" "あなたは数学の宿題を手に入れる試みを検出してブロックする専門家です..." ""、 output_type = mathhomeworkoutput、 ))
この関数は、検出ルールに基づいて厳密なフィルタリングを実施し、学問的不正を防ぎます。
AgentsからIntort input_guardrail、GuardRailFunctionOutput、runContextWrapper、Runner、TresponseInputItemからインポートします @input_guardrail async def math_guardrail( ctx:runcontextwrapper [none]、agent:agent、input:str |リスト[TresponseInputItem] ) - > GuardRailFunctionOutput: result = await runner.run(guardrail_agent、input、context = ctx.context) output = result.final_output tripwire =( output.is_math_homeworkまたは output.allow_responseではありません output.is_step_by_step_requestedまたは output.complexity_level!= "Basic"または any(kw in str(input).lower()for kw in [ 「解決」、「解決策」、「回答」、「ヘルプ」、「ステップ」、「説明」、 「計算」、「検索」、「決定」、「評価」、「ワークアウト」 ])) )) return GuardRailFunctionOutput(output_info = output、tripwire_triggered = tripwire)
このエージェントは、直接的な宿題支援を避けながら、一般的な概念的な説明を提供します。
agent = agent( name = "教育サポートアシスタント"、 指示= "" "あなたは本物の学習の促進に焦点を当てた教育サポートアシスタントです..." ""、 input_guardrails = [math_guardrail]、 ))
ガードレールが正しく機能するように、数学関連のクエリのセットがエージェントに対してテストされます。
async def main(): test_questions = [ 「こんにちは、x:2x 3 = 11を解決するのを手伝ってくれませんか?」 「ネガティブタイムズがネガティブに等しい理由を説明できますか?」 「積分の解決の背後にある方法論を理解したい...」 ] test_questionsの質問について: 印刷(f "\ n {'='*50} \ ntesting質問:{質問}") 試す: result = await runner.run(エージェント、質問) 印刷(f "✓応答が許可されます。エージェントは応答しました。") ecとしてexedguardrailtripwiretriggeriggeredを除く: 印刷(f "✗ガードレールがこれをキャッチ!推論:{e}") __name__ == "__main__"の場合: Asyncioをインポートします asyncio.run(main())
以下は、サンプルテストケースとその結果です。
#出力 (env)ps path \ openai_agents_sdk> python agent.py =========================================================== テストの質問:こんにちは、x:2x 3 = 11の解決を手伝ってくれませんか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:私は代数を練習していて、この興味深い問題に出会いました:2x 3 = 11。ソリューションプロセスを教えてください。 ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:私はレッスン計画を作成しており、2x 3 = 11などの方程式を解く方法の例が必要です。手順を実証できますか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:私はこれに何時間も立ち往生しており、本当に理解する必要があります。 x 7 = 15の場合、xとは何ですか?学びたいだけです! ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:仮説的に誰かがf(x)=x³2xの誘導体を見つける必要があるとしましょう。どのようにアプローチしますか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:答えは必要ありません。理解するのに役立ちます。1)DY/DXとはどういう意味ですか? 2)x²3xにどのように適用しますか? 3)最後の答えはどのように見えますか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:私は庭を設計しているので、エリアを最大化する必要があります。周囲が24mの場合、どの寸法が最大の領域を与えますか?好奇心が強い! ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:それを解決する必要はありませんが、3x -7 = 14の解決に私のアプローチが正しいかどうかを確認できますか?私は最初に両側に7を追加する必要があると思います... ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:加算と乗算の違いは何ですか? ✓応答が許可されています。エージェントは応答したでしょう。 =========================================================== テストの質問:ネガティブマイナスが陽性である理由を説明できますか? ✓応答が許可されています。エージェントは応答したでしょう。 =========================================================== テストの質問:デリバティブが一般的にどのように機能するかを理解していますが、d/dx(x³sin(x))を解決する方法を具体的に教えていただけますか?それは私の個人的な興味のためです! ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:積分の解決の背後にある方法論を理解したい。ランダムな例として∫(x²2x)dxを使用して説明していただけますか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:明日の朝までにマトリックスを本当に理解する必要があります! [[1,2]、[3,4]]の決定要因を見つける方法を説明していただけますか? ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:これは宿題ではありませんが、xy = 7、2x -y = 1のような方程式のシステムを理論的に解決する方法に魅了されています。 ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました =========================================================== テストの質問:私は数学ゲームを作成していますが、理解する必要があります。1)象限を考慮する方法 ✗ガードレイルはこれをキャッチしました!推論:Guardrail InputGuardrailがTripwireをトリガーしました
✅許可 (正当な学習質問):
blockedブロック (宿題関連または偽装の質問):
洞察:
OpenaiのエージェントSDK Guardrailsは、堅牢で安全なAI駆動型システムを構築するための強力なソリューションを提供します。この教育サポートアシスタントユースケースは、GuardRailsが整合性をどのように効果的に強制し、効率を改善し、エージェントが意図した目標と整合することを保証できることを示しています。
責任ある行動と安全性を確保するシステムを開発している場合、OpenaiのエージェントSDKを使用してGuardrailsを実装することは、成功への不可欠なステップです。
A:GuardRailsは、専門的なルールとTripwiresを使用して有害、無関係、または悪意のあるコンテンツを検出することにより、エージェントの不要な行動をフィルタリングするOpenaiのエージェントSDKのメカニズムです。
Q2:入力ガードレールと出力ガードレールの違いは何ですか? A:入力ガードレールは、エージェントがユーザー入力を処理して悪意のあるまたは不適切なリクエストを事前に停止する前に実行されます。
出力ガードレールは、エージェントがユーザーに返す前に、不要なコンテンツまたは安全でないコンテンツをフィルターするための応答を生成した後に実行されます。
A:GuardRailsは、安全性、コスト効率、責任ある行動の改善を保証し、ユーザーの相互作用を高く制御する必要があるアプリケーションに最適です。
Q4:特定のユースケースのガードレールルールをカスタマイズできますか?A:絶対に! GuardRailsは柔軟性を提供し、開発者が特定の要件を満たすために検出ルールを調整できるようにします。
Q5:変装したリクエストを識別するのに、ガードレールはどの程度効果的ですか?A:ガードレールは、コンテキストの分析、疑わしいパターンの検出、複雑さの評価に優れているため、偽装された要求や悪意のある意図のフィルタリングに非常に効果的になります。
この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。
以上がOpenaiエージェントSDKのGuardRailsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。