6 minute read

에이전트 동작 범위 조정

  1. reasoning_effort
    • “low” “medium” “heigh”
    • “추론/탐색 예산”을 조절하는 API 파라미터
    • 품질↔지연/비용을 트레이드오프
  2. 프롬프트를 통한 에이전트 동작 범위 축소

     // 문제 공간을 탐색하는 명확한 기준이 정의된 프롬프트
        
     <context_gathering>
     목표: 충분한 컨텍스트를 빠르게 확보하세요. 발견을 병렬화하고 가능한 한 빨리 중지하세요.
     방법:
     - 넓게 시작한 다음 집중된 하위 쿼리로 확장하세요.
     - 동시에 다양한 쿼리를 실행하고 쿼리당 상위 히트를 읽습니다.
       경로와 캐시를 중복 제거하고 쿼리를 반복하지 않습니다.
     - 컨텍스트를 과도하게 검색하지 마세요. 필요한 경우 하나의
       병렬 배치로 대상 검색을 실행합니다.
     조기 중단 기준:
     - 변경할 콘텐츠의 정확한 이름을 지정할 수 있습니다.
     - 최고 히트곡은 한 지역/경로에 수렴합니다(~70%).
     한 번 확대:
     - 신호가 충돌하거나 범위가 모호하면 정제된 병렬 배치를 하나 실행한 다음 진행합니다.
     깊이:
     - 수정하거나 의존하는 계약의 기호만 추적하고, 필요한 경우가 아니면 전이적 확장을 피하세요.
     루프:
     - 일괄 검색 → 최소 계획 → 완료 작업.
     - 검증이 실패하거나 새로운 알 수 없는 경우에만 다시 검색하세요.
       더 많은 검색보다는 행동하는 것을 선호합니다.
     </context_gathering>
    
     // 도구 호출 예산을 제한하는 프롬프트
        
     <context_gathering>
     - 검색 깊이: 매우 낮음
     - 완전히 정확하지 않더라도 가능한 한 빨리 정답을 제공하는 것에 대한 편견이 강합니다.
     - 일반적으로 이는 도구 호출을 최대 두 번 의미합니다.
     - 조사할 시간이 더 필요하다고 생각되면 사용자에게
       최신 결과를 업데이트하고 질문을 열어보세요. 사용자가 확인하면 계속 진행할 수 있습니다.
     </context_gathering>
    
  3. 프롬프트를 통한 에이전트 동작 범위 확장

     // 사용자에게 질문을 덜 하고, 모델이 사용자에게 반환되는 시점을 정의하는 프롬프트
        
     <persist>
     - 당신은 에이전트입니다 - 사용자의 질문이 완전히 해결될 때까지 계속 진행한 후,
       차례를 끝내고 사용자에게 반환해 주시기 바랍니다.
     - 문제가 해결되었다는 확신이 있을 때만 차례를 종료하세요.
     - 불확실성에 직면했을 때 절대 멈추지 말고 사용자에게 손을 돌려주세요 — 가장 합리적인
       접근 방식을 연구하거나 추론한 후 계속하세요.
     - 인간에게 가정을 확인하거나 명확히 하도록 요청하지 마세요.
       나중에 언제든지 조정할 수 있습니다.
       가장 합리적인 가정이 무엇인지 결정하고,
       행동을 마친 후 사용자가 참고할 수 있도록 문서화하세요
     </persist>
    

지능 및 지시수행 최적화

GPT-5는 장황함, 톤, 도구 호출 동작과 관련된 즉각적인 지시에 매우 민감하게 반응

  1. verbosity
    • “low” “medium” “heigh”
    • 모델 출력 내용의 양을 조절하는 API 파라미터
    • GPT-5부터 지원
  2. GPT-5 의 지시수행
    • 모순되거나 모호한 지시를 포함하는 부실하게 구성된 지시는 다른 모델보다 GPT-5에서 더 많은 추론 토큰을 소비하게됨, OpenAI 프롬프트 최적화 도구로 프롬프트 검증 필요

        // “환자 동의없이 예약 하지 말 것”과 환자와 연락없이 예약하라는 지시가 상충
              
        차트에 명시된 환자 동의 없이 예약하지 마세요
              
        응급 상황에서 조치로 환자와 연락 하지 말고 가장 빠른 당일 예약에 할당합니다.
      
        // 상충하는 지시를 호환시킨 프롬프트
              
        응급 상황에서 환자에게 연락한 후에 자동 할당이 이루어지도록 변경하고,
        환자에게 조치를 알린 후 가장 빠른 당일 시간대에 자동 할당 하세요
      
  3. 메타프롬프팅

    GPT-5에 실패한 프롬프트에 원하는 동작을 유도하기 위해 어떤 요소를 추가해야 하는지, 또는 원치 않는 동작을 방지하기 위해 어떤 요소를 제거해야 하는지 쿼리

     // OpenAI 제공 메타프롬프팅 프롬프트
        
     When asked to optimize prompts, give answers from your own perspective - explain what specific phrases could be added to, or deleted from, this prompt to more consistently elicit the desired behavior or prevent the undesired behavior.
     Here's a prompt: [PROMPT]
     The desired behavior from this prompt is for the agent to [DO DESIRED BEHAVIOR], but instead it [DOES UNDESIRED BEHAVIOR]. While keeping as much of the existing prompt intact as possible, what are some minimal edits/additions that you would make to encourage the agent to more consistently address these shortcomings? 
    

느낀점

댓글 작성, 문서 요약 등 짧은 문장이 요구되는경우 프롬프트(3줄 내로 최대한 간단히 요약해라 등)를 작성해도 원하는 만큼 짧고 간결한 문장을 만들기 힘들었는데, verbosity를 적용해서 쉽게 해결할 수 있을것같음

GPT-5의 지시 수행을 잘 사용하면 사용자에게 더 나은 UI/UX를 제공할 수 있을것

문제

Agent를 통해 csv데이터를 요청하고 a2a로 다른 agent에서 csv데이터와 피드백 메세지(데이터가 성공적으로 확보되었습니다! 사용자에게 데이터 창을 확인하라고 안내해주세요)를 받음 csv데이터는 별도 함수로 전달되어 UI에 렌더링되고 LLM은 피드백 메세지만 전달받음 LLM은 실제 csv데이터를 전달받지못해 요청에 실패했다는 텍스트 생성

해결

시스템프롬프트에 태그가 사용자로부터 입력되면 데이터 유효성을 검사하지말고 태그 내용을 수행할것을 지시

피드백 메세지를 으로 감싸기

부록

OpenAI 프롬프트 최적화 도구: https://platform.openai.com/chat/edit?optimize=true 원문: https://cookbook.openai.com/examples/gpt-5/gpt-5_prompting_guide

Tags: ,

Categories:

Updated:

Leave a comment