> 기술 주변기기 > 일체 포함 > Openai 에이전트 SDK의 가드 레일

Openai 에이전트 SDK의 가드 레일

Lisa Kudrow
풀어 주다: 2025-03-20 15:10:16
원래의
320명이 탐색했습니다.

OpenAI의 에이전트 SDK가 출시되면서 개발자는 이제 지능형 시스템을 구축 할 수있는 강력한 도구를 가지고 있습니다. 눈에 띄는 중요한 기능 중 하나는 가드 레일로, 원치 않는 요청을 필터링하여 시스템 무결성을 유지하는 데 도움이됩니다. 이 기능은 특히 교육 환경에서 가치가 있으며, 진정한 학습 지원과 학문적 윤리를 우회하려는 시도를 구별하는 것은 어려울 수 있습니다.

이 기사에서는 교육 지원 조교에서 가드 레일의 실용적이고 영향력있는 사용 사례를 보여 드리겠습니다. Guardrails를 활용하여 부적절한 숙제 지원 요청을 성공적으로 차단하면서 진정한 개념 학습 질문이 효과적으로 처리되었습니다.

학습 목표

  • 부적절한 요청을 필터링하여 AI 무결성을 유지하는 데있어 Guardrails의 역할을 이해하십시오.
  • 학업 부정직을 방지하기 위해 교육 지원 조교에서 Guardrails의 사용을 탐색하십시오.
  • AI 중심 시스템에서 원치 않는 동작을 차단하기 위해 입력 및 출력 Guardrails가 어떻게 작동하는지 알아보십시오.
  • 탐지 규칙 및 트립 와이어를 사용하여 Guardrails 구현에 대한 통찰력을 얻으십시오.
  • 윤리적 사용을 보장하면서 개념 학습을 촉진하는 AI 조수를 설계하기위한 모범 사례를 발견하십시오.

이 기사는 Data Science Blogathon 의 일부로 출판되었습니다 .

목차

  • 에이전트는 무엇입니까?
  • 가드 레일 이해
  • 사용 사례 : 교육 지원 조교
  • 구현 세부 사항
  • 결론
  • 자주 묻는 질문

에이전트는 무엇입니까?

에이전트는 추론, 의사 결정 및 환경 상호 작용과 같은 다양한 기능을 결합하여 지능적으로 작업을 수행하는 시스템입니다. OpenAi의 새로운 에이전트 SDK는 개발자가 이러한 시스템을 쉽게 구축 할 수있게하여 LLM (Lange Language Models) 및 강력한 통합 도구의 최신 발전을 활용합니다.

OpenAI의 에이전트 SDK의 주요 구성 요소

OpenAi의 에이전트 SDK는 주요 영역에서 AI 에이전트를 구축, 모니터링 및 개선하는 데 필수적인 도구를 제공합니다.

  • 모델 : 에이전트의 핵심 인텔리전스. 옵션은 다음과 같습니다.
    • O1 & O3-MINI : 계획 및 복잡한 추론에 가장 적합합니다.
    • GPT-4.5 : 강력한 에이전트 기능으로 복잡한 작업이 뛰어납니다.
    • GPT-4O : 성능과 속도의 균형.
    • GPT-4O-MINI : 낮은 대기 시간 작업에 최적화되었습니다.
  • 도구 : 다음을 통해 환경과의 상호 작용을 가능하게합니다.
    • 기능 호출, 웹 및 파일 검색 및 컴퓨터 제어.
  • 지식 및 기억 : 다음과 함께 동적 학습을 지원합니다.
    • 시맨틱 검색을위한 벡터 저장.
    • 개선 된 상황 이해를위한 임베딩.
  • 가드 레일 : 안전 및 제어 보장 :
    • 컨텐츠 필터링을위한 중재 API.
    • 예측 가능한 행동에 대한 지시 계층.
  • 오케스트레이션 : 에이전트 배포 관리 :
    • 건물 및 흐름 제어를위한 SDK 에이전트.
    • 디버깅 및 성능 튜닝을위한 추적 및 평가.

가드 레일 이해

가드 레일은 대화 에이전트에서 원치 않는 행동을 감지하고 정지 시키도록 설계되었습니다. 두 가지 주요 단계에서 작동합니다.

  • 입력 가드 레일 : 에이전트가 입력을 처리하기 전에 실행됩니다. 오용 오용을 미리 방지하여 계산 비용과 응답 시간을 모두 절약 할 수 있습니다.
  • 출력 가드 레일 : 에이전트가 응답을 생성 한 후 실행됩니다. 최종 응답을 전달하기 전에 유해하거나 부적절한 콘텐츠를 필터링 할 수 있습니다.

두 가드 레일은 트립 와이어를 사용하여 원치 않는 동작이 감지 될 때 예외를 유발하여 에이전트의 실행을 즉시 중단시킵니다.

사용 사례 : 교육 지원 조교

교육 지원 조교는 직접 숙제 답변에 대한 오용을 방지하면서 학습을 장려해야합니다. 그러나 사용자는 숙제 요청을 영리하게 위장하여 탐지를 까다로울 수 있습니다. 강력한 탐지 규칙이있는 입력 가드 레일 구현은 조수가 바로 가기를 가능하게하지 않고 이해를 장려 할 수 있도록합니다.

  • 목표 : 학습을 장려하지만 직접 숙제 솔루션을 찾는 요청을 차단하는 고객 지원 어시스턴트를 개발하십시오.
  • 도전 : 사용자는 무고한 요청으로 숙제를 위장하여 탐지가 어려워집니다.
  • 솔루션 : 위장 된 수학 숙제 질문을 발견하기위한 자세한 탐지 규칙이 포함 된 입력 가드 레일을 구현하십시오.

구현 세부 사항

가드 레일은 엄격한 탐지 규칙과 스마트 휴리스틱을 활용하여 원치 않는 행동을 식별합니다.

가드 레일 로직

가드 레일은 이러한 핵심 규칙을 따릅니다.

  • 솔루션에 대한 명시적인 요청을 차단합니다 (예 : "2x 3 = 11").
  • 컨텍스트 단서를 사용하여 위장 된 요청을 차단합니다 (예 :“대수를 실천 하고이 질문을 고수했습니다”).
  • 복잡한 수학 개념이 순전히 개념적이지 않는 한 차단하십시오.
  • 학습을 촉진하는 합법적 인 개념적 설명을 허용합니다.

가드 레일 코드 구현

(이 실행중인 경우 theopenai_api_keyenvironment 변수를 설정했는지 확인하십시오) :

수학 주제 및 복잡성을위한 열거 클래스 정의

수학 쿼리를 분류하기 위해 주제 유형 및 복잡성 수준에 대한 열거 클래스를 정의합니다. 이 클래스는 분류 시스템을 구성하는 데 도움이됩니다.

 열거적인 수입 열거

클래스 MathtopicType (str, enum) :
    Arithmetic = "Arithmetic"
    대수 = "대수"
    기하학 = "지오메트리"
    미적분학 = "미적분"
    통계 = "통계"
    기타 = "기타"

클래스 MathComplexityLevel (str, enum) :
    기본 = "기본"
    중급 = "중간"
    고급 = "고급"
로그인 후 복사

Pydantic을 사용하여 출력 모델 생성

수학 관련 쿼리의 분류 세부 사항을 저장하기 위해 구조화 된 출력 모델을 정의합니다.

 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 ())
로그인 후 복사

결과 및 분석

다음은 샘플 테스트 사례와 결과입니다.

Openai 에이전트 SDK의 가드 레일

 # 출력
(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 (숙제 관련 또는 위장 된 질문) :

  • "안녕하세요, x : 2x 3 = 11을 해결하도록 도와 줄 수 있습니까?"
  • "저는 대수학을 연습하고 있으며이 흥미로운 문제를 발견했습니다. 2x 3 = 11. 솔루션 프로세스를 안내해 주시겠습니까?"
  • "수학 게임을 만들고 있고 이해해야합니다. 1) 2 차를 고려하는 방법 2) 구체적으로 x² 5x 6."

통찰력 :

  • Guardrail은 성공적으로 "호기심 많은"또는 "자아 학습"질문으로 위장한 시도를 성공적으로 차단했습니다.
  • 가상 또는 수업 계획의 일부로 위장 된 요청이 정확하게 확인되었습니다.
  • 개념적 질문이 올바르게 처리되어 의미있는 학습 지원이 가능합니다.

결론

OpenAi의 에이전트 SDK Guardrails는 강력하고 안전한 AI 중심 시스템을 구축 할 수있는 강력한 솔루션을 제공합니다. 이 교육 지원 조수 사용 사례는 가드 레일이 어떻게 무결성을 시행하고, 효율성을 향상시키고, 에이전트가 의도 한 목표와 일치 할 수 있는지를 보여줍니다.

책임있는 행동과 안전한 성능이 필요한 시스템을 개발하는 경우 OpenAI의 에이전트 SDK를 사용하여 GuardRails를 구현하는 것이 성공을위한 필수 단계입니다.

주요 테이크 아웃

  • 교육 지원 조수는 직접 숙제 답변을 제공하는 대신 사용자를 안내함으로써 학습을 촉진합니다.
  • 주요한 과제는 일반적인 학문적 질문으로 보이는 변장 된 숙제 쿼리를 감지하는 것입니다.
  • 고급 입력 가드 레일을 구현하면 직접 솔루션에 대한 숨겨진 요청을 식별하고 차단하는 데 도움이됩니다.
  • AI 구동 탐지는 학생들이 기성품 답변보다는 개념적지도를 받도록합니다.
  • 이 시스템은 대화 형 지원과 책임 학습 관행의 균형을 유지하여 학생의 이해를 향상시킵니다.

자주 묻는 질문

Q1 : Openai Guardrails는 무엇입니까?

A : Guardrails는 OpenAI의 에이전트 SDK의 메커니즘으로, 전문 규칙 및 트립 와이어를 사용하여 유해하거나 관련이 없거나 악의적 인 컨텐츠를 감지하여 에이전트의 원치 않는 동작을 필터링합니다.

Q2 : 입력과 출력 가드 레일의 차이점은 무엇입니까?

A : 입력 가드 레일은 에이전트가 사용자 입력을 처리하기 전에 실행하여 악의적이거나 부적절한 요청을 미리 정지시킵니다.
출력 가드 레일은 에이전트가 사용자에게 반환하기 전에 원치 않는 또는 안전하지 않은 콘텐츠 필터에 대한 응답을 생성 한 후 실행됩니다.

Q3 : AI 시스템에서 GuardRails를 사용해야하는 이유는 무엇입니까?

A : GuardRails는 안전, 비용 효율성 및 책임있는 행동을 개선하여 사용자 상호 작용에 대한 높은 제어가 필요한 응용 프로그램에 이상적입니다.

Q4 : 특정 사용 사례에 대한 GuardRail 규칙을 사용자 정의 할 수 있습니까?

A : 물론! Guardrails는 유연성을 제공하여 개발자가 특정 요구 사항을 충족하기 위해 탐지 규칙을 조정할 수 있도록합니다.

Q5 : 위장 된 요청을 식별하는 데 Guardrails가 얼마나 효과적입니까?

A : Guardrails는 컨텍스트를 분석하고 의심스러운 패턴을 감지하며 복잡성을 평가할 때 탁월합니다. 위장 된 요청 또는 악의적 인 의도를 필터링하는 데 매우 효과적입니다.

이 기사에 표시된 미디어는 분석 Vidhya가 소유하지 않으며 저자의 재량에 따라 사용됩니다.

위 내용은 Openai 에이전트 SDK의 가드 레일의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿