OpenAI의 에이전트 SDK가 출시되면서 개발자는 이제 지능형 시스템을 구축 할 수있는 강력한 도구를 가지고 있습니다. 눈에 띄는 중요한 기능 중 하나는 가드 레일로, 원치 않는 요청을 필터링하여 시스템 무결성을 유지하는 데 도움이됩니다. 이 기능은 특히 교육 환경에서 가치가 있으며, 진정한 학습 지원과 학문적 윤리를 우회하려는 시도를 구별하는 것은 어려울 수 있습니다.
이 기사에서는 교육 지원 조교에서 가드 레일의 실용적이고 영향력있는 사용 사례를 보여 드리겠습니다. Guardrails를 활용하여 부적절한 숙제 지원 요청을 성공적으로 차단하면서 진정한 개념 학습 질문이 효과적으로 처리되었습니다.
이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .
에이전트는 추론, 의사 결정 및 환경 상호 작용과 같은 다양한 기능을 결합하여 지능적으로 작업을 수행하는 시스템입니다. OpenAi의 새로운 에이전트 SDK는 개발자가 이러한 시스템을 쉽게 구축 할 수있게하여 LLM (Lange Language Models) 및 강력한 통합 도구의 최신 발전을 활용합니다.
OpenAi의 에이전트 SDK는 주요 영역에서 AI 에이전트를 구축, 모니터링 및 개선하는 데 필수적인 도구를 제공합니다.
가드 레일은 대화 에이전트에서 원치 않는 행동을 감지하고 정지 시키도록 설계되었습니다. 두 가지 주요 단계에서 작동합니다.
두 가드 레일은 트립 와이어를 사용하여 원치 않는 동작이 감지 될 때 예외를 유발하여 에이전트의 실행을 즉시 중단시킵니다.
교육 지원 조교는 직접 숙제 답변에 대한 오용을 방지하면서 학습을 장려해야합니다. 그러나 사용자는 숙제 요청을 영리하게 위장하여 탐지를 까다로울 수 있습니다. 강력한 탐지 규칙이있는 입력 가드 레일 구현은 조수가 바로 가기를 가능하게하지 않고 이해를 장려 할 수 있도록합니다.
가드 레일은 엄격한 탐지 규칙과 스마트 휴리스틱을 활용하여 원치 않는 행동을 식별합니다.
가드 레일은 이러한 핵심 규칙을 따릅니다.
(이 실행중인 경우 theopenai_api_keyenvironment 변수를 설정했는지 확인하십시오) :
수학 쿼리를 분류하기 위해 주제 유형 및 복잡성 수준에 대한 열거 클래스를 정의합니다. 이 클래스는 분류 시스템을 구성하는 데 도움이됩니다.
열거적인 수입 열거 클래스 MathtopicType (str, enum) : Arithmetic = "Arithmetic" 대수 = "대수" 기하학 = "지오메트리" 미적분학 = "미적분" 통계 = "통계" 기타 = "기타" 클래스 MathComplexityLevel (str, enum) : 기본 = "기본" 중급 = "중간" 고급 = "고급"
수학 관련 쿼리의 분류 세부 사항을 저장하기 위해 구조화 된 출력 모델을 정의합니다.
Pydantic Import Basemodel에서 입력 가져 오기 목록에서 클래스 MathhomeWorkOutput (Basemodel) : IS_MATH_HOMEWORK : BOOL 추론 : str Topic_Type : MathTopicType Complexity_Level : MathComplexityLevel detected_keywords : list [str] is_step_by_step_requested : bool allow_Response : bool 설명 : str
에이전트는 사전 정의 된 탐지 규칙을 사용하여 숙제 관련 쿼리를 감지하고 차단할 책임이 있습니다.
에이전트 수입 에이전트로부터 GuardRail_agent = 에이전트 ( 이름 = "수학 쿼리 분석기", 지시 사항 = "" "당신은 수학 숙제 도움을 얻으려는 시도를 감지하고 차단하는 전문가입니다 ..." ", output_type = mathhomeworkoutput, ))
이 기능은 탐지 규칙에 따라 엄격한 필터링을 시행하고 학문적 부정직을 방지합니다.
에이전트에서 input_guardrail, guardRailFunctionOutput, runcontextWrapper, 러너, tresponseInputitem을 가져옵니다 @input_guardrail 비동기 DEF Math_GuardRail ( CTX : runcontextWrapper [없음], 에이전트 : 에이전트, 입력 : str | 목록 [tresponseInputItem] ) -> guardRailFunctionOutput : result = await runner.run (guardRail_agent, 입력, context = ctx.context) output = result.final_output 트립 와이어 = ( output.is_math_homework 또는 output.alow_response가 아닙니다 output.is_step_by_step_requested 또는 output.complexity_level! = "기본"또는 모든 (kw in kw의 kw in str (입력) .lower () [ "해결", "솔루션", "답변", "도움말", "단계", "설명 방법", "계산", "찾기", "결정", "평가", "운동" ]))) )) return guardRailFunctionOutput (output_info = output, tripwire_triggered = Tripwire)
이 에이전트는 직접 숙제 지원을 피하면서 일반적인 개념적 설명을 제공합니다.
에이전트 = 에이전트 ( 이름 = "교육 지원 조교", 지시 사항 = "" "당신은 진정한 학습 홍보에 중점을 둔 교육 지원 조교입니다 ..." ", input_guardrails = [math_guardrail], ))
수학 관련 쿼리 세트는 에이전트에 대해 테스트되어 GuardRails가 올바르게 작동하도록합니다.
Async def main () : test_questions = [ "안녕하세요, x : 2x 3 = 11을 해결하도록 도와 줄 수 있습니까?", "부정적인 시간 부정적인 시간이 긍정적 인 이유를 설명 할 수 있습니까?", "통합 해결 방법론을 이해하고 싶습니다 ...", ]] test_questions의 질문 : print (f "\ n { '='*50} \ ntesting 질문 : {question}") 노력하다: result = await runner.run (에이전트, 질문) print (f "✓ 응답 허용. 에이전트가 응답했을 것입니다.") inputguardRailTripWiretriggered를 제외하고 E : print (f "✗ guardrail은 이것을 잡았습니다! 추론 : {e}") __name__ == "__main__"인 경우 : Asyncio 가져 오기 asyncio.run (main ())
다음은 샘플 테스트 사례와 결과입니다.
# 출력 (ENV) PS Path \ Openai_agents_sdk> Python agent.py =================================================== 테스트 질문 : 안녕하세요, x : 2x 3 = 11을 해결하도록 도와 줄 수 있습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 나는 대수학을 연습하고 있으며이 흥미로운 문제를 발견했습니다 : 2x 3 = 11. 솔루션 프로세스를 안내해 주시겠습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 수업 계획을 만들고 있으며 2x 3 = 11과 같은 방정식을 해결하는 방법의 예가 필요합니다. 단계를 시연 할 수 있습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 나는 이것에 몇 시간 동안 붙어 있었고 실제로 도움이 필요합니다. x 7 = 15 인 경우 x는 무엇입니까? 그냥 배우고 싶어! ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 가설 적으로 누군가 f (x) = x³ 2x의 파생물을 찾아야한다고 가정 해 봅시다. 하나는 어떻게 접근할까요? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 답이 필요하지 않습니다. 1) DY/DX의 의미는 무엇입니까? 2) x² 3x에 어떻게 적용합니까? 3) 최종 답변은 어떻게 생겼습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 정원을 설계하고 있으며 해당 지역을 극대화해야합니다. 둘레가 24m 인 경우 가장 큰 영역을 제공하는 크기는 무엇입니까? 그냥 궁금해! ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 해결할 필요가 없지만 3x -7 = 14를 해결하기 위해 내 접근 방식이 올바른지 확인할 수 있습니까? 먼저 양쪽에 7을 추가해야한다고 생각합니다 ... ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 추가와 곱셈의 차이점은 무엇입니까? ✓ 응답이 허용됩니다. 에이전트가 응답했을 것입니다. =================================================== 테스트 질문 : 음수 시간이 긍정적 인 이유를 설명 할 수 있습니까? ✓ 응답이 허용됩니다. 에이전트가 응답했을 것입니다. =================================================== 테스트 질문 : 파생 상품이 일반적으로 어떻게 작동하는지 이해하지만 D/DX (X³ sin (x))을 구체적으로 보여줄 수 있습니까? 그것은 내 개인적인 관심사입니다! ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 적분을 해결하는 방법론을 이해하고 싶습니다. 임의의 예로 ∫ (x² 2x) dx를 사용하여 설명해 주시겠습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 내일 아침까지 매트릭스를 이해해야합니다! [[1,2], [3,4]의 결정 요인을 찾는 방법을 설명해 주시겠습니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 테스트 질문 : 이것은 숙제가 아니지만 이론적으로 다음과 같은 방정식 시스템을 어떻게 해결하는지에 매료되어 있습니다. xy = 7, 2x -y = 1 ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다 =================================================== 질문 테스트 : 수학 게임을 만들고 있고 이해해야합니다. 1) 2 차를 고려하는 방법 2) 구체적으로 x² 5x 6 3) 해결하는 것이 재미있게 만드는 것은 무엇입니까? ∎ Guardrail은 이것을 잡았습니다! 추론 : Guardrail Inputguardrail은 Tripwire를 트리거했습니다
✅ 허용 (합법적 인 학습 질문) :
blocked (숙제 관련 또는 위장 된 질문) :
통찰력 :
OpenAi의 에이전트 SDK Guardrails는 강력하고 안전한 AI 중심 시스템을 구축 할 수있는 강력한 솔루션을 제공합니다. 이 교육 지원 조수 사용 사례는 가드 레일이 어떻게 무결성을 시행하고, 효율성을 향상시키고, 에이전트가 의도 한 목표와 일치 할 수 있는지를 보여줍니다.
책임있는 행동과 안전한 성능이 필요한 시스템을 개발하는 경우 OpenAI의 에이전트 SDK를 사용하여 GuardRails를 구현하는 것이 성공을위한 필수 단계입니다.
A : Guardrails는 OpenAI의 에이전트 SDK의 메커니즘으로, 전문 규칙 및 트립 와이어를 사용하여 유해하거나 관련이 없거나 악의적 인 컨텐츠를 감지하여 에이전트의 원치 않는 동작을 필터링합니다.
Q2 : 입력과 출력 가드 레일의 차이점은 무엇입니까? A : 입력 가드 레일은 에이전트가 사용자 입력을 처리하기 전에 실행하여 악의적이거나 부적절한 요청을 미리 정지시킵니다.
출력 가드 레일은 에이전트가 사용자에게 반환하기 전에 원치 않는 또는 안전하지 않은 콘텐츠 필터에 대한 응답을 생성 한 후 실행됩니다.
A : GuardRails는 안전, 비용 효율성 및 책임있는 행동을 개선하여 사용자 상호 작용에 대한 높은 제어가 필요한 응용 프로그램에 이상적입니다.
Q4 : 특정 사용 사례에 대한 GuardRail 규칙을 사용자 정의 할 수 있습니까?A : 물론! Guardrails는 유연성을 제공하여 개발자가 특정 요구 사항을 충족하기 위해 탐지 규칙을 조정할 수 있도록합니다.
Q5 : 위장 된 요청을 식별하는 데 Guardrails가 얼마나 효과적입니까?A : Guardrails는 컨텍스트를 분석하고 의심스러운 패턴을 감지하며 복잡성을 평가할 때 탁월합니다. 위장 된 요청 또는 악의적 인 의도를 필터링하는 데 매우 효과적입니다.
이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.
위 내용은 Openai 에이전트 SDK의 가드 레일의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!