Responses API에서 Daybreak 사용하기

Responses API에서 Daybreak 사용하기 (Use Daybreak in the Responses API)

access_programs.cyber를 사용해 Responses API 요청에 대한 사이버 보안 접근 프로그램을 선택하세요. Daybreak Blue와 Daybreak Red 프로그램은 사이버 보안 작업을 위한 승인된 접근을 제공해요. 다른 API 사이버 보안 안전장치는 계속 적용돼요.

출처: 문서

본문

Daybreak를 사용하기 전에 조직 승인과 프로젝트 설정을 완료하세요. 프로젝트는 프로그램과 모델 모두에 접근할 수 있어야 해요. 그 프로젝트의 API 키를 사용하세요. 요청 매개변수는 승인된 접근 범위 안에서 동작을 선택할 뿐, 접근을 부여하지는 않아요.

모델과 접근 프로그램 선택하기 (Choose the model and access program)

model 필드는 모델을 선택하고, access_programs.cyber 필드는 그 요청에 대해 지원되는 접근 프로그램(standard, daybreak_blue, daybreak_red)을 선택해요.

모델 model을 이렇게 access_programs.cyber를 이렇게 사용 시점
표준 안전장치가 있는 메인라인 모델 gpt-6-sol standard Daybreak 접근이 있어도 표준 안전장치로 범용 또는 보안 작업.
Daybreak Blue가 있는 메인라인 모델 gpt-6-sol daybreak_blue 특정 메인라인 모델로 승인된 방어적 보안 작업.
Daybreak Red가 있는 사이버 모델 gpt-5.6-cyber daybreak_red 특정 사이버 모델로 고급, 승인된 보안 작업. Daybreak Red 승인 필요.
Daybreak Blue 별칭 gpt-daybreak-blue-latest daybreak_blue Blue 별칭의 기본 모델 갱신을 따르는 승인된 방어적 보안 작업.
Daybreak Red 별칭 gpt-daybreak-red-latest daybreak_red Red 별칭의 기본 모델 갱신을 따르는 고급, 승인된 보안 작업. Daybreak Red 승인 필요.

요청 값을 모델에 맞추고, 조직의 승인 수준에는 맞추지 마세요. 예를 들어 Daybreak와 함께 gpt-6-sol을 쓸 때는, 조직이 Daybreak Red 승인을 받았어도 daybreak_blue를 보내세요. 이 모델에 daybreak_red를 보내면 invalid_access_program을 반환해요.

Daybreak 별칭은 일치하는 프로그램만 받아들여요. 예를 들어 gpt-daybreak-blue-latest를 daybreak_red로 요청하면 오류가 반환돼요.

gpt-6-astra에서 축소된 거부(reduced refusals)는 Daybreak Red 접근이 필요하지만, 요청 값은 daybreak_blue예요. 이 모델은 daybreak_red를 거부해요. Daybreak Blue 승인만으로는 이 모델의 축소된 거부를 승인하지 않아요. 프로젝트에 필요한 접근도 활성화돼 있어야 해요.

요청 보내기 (Send a request)

이 예시는 gpt-6-sol로 Daybreak Blue를 명시적으로 선택해요:

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-sol",
    "input": "Explain how to validate a security patch in a test environment.",
    "access_programs": {
      "cyber": "daybreak_blue"
    }
  }'

access_programs와 cyber 모두 선택적이지만 요청에서 null을 받아들이지는 않아요. 빈 access_programs 객체는 선택을 지정하지 않은 것으로 남겨요.

생략 시 기본값 이해하기 (Understand defaults when omitted)

access_programs.cyber를 생략하면 API가 모델과 조직·프로젝트 접근을 기반으로 호환되는 프로그램을 선택해요:

  • gpt-6-sol 같은 메인라인 모델: 조직과 프로젝트에 필요한 접근이 있으면 Daybreak Blue 처리, 그렇지 않으면 표준 안전장치.
  • Daybreak 별칭과 Red 모델: 일치하는 Daybreak 프로그램. 예를 들어 gpt-daybreak-blue-latest는 daybreak_blue를 선택해요. 필요한 접근이 없으면 요청이 실패해요.
  • gpt-6-astra: 프로젝트에 Daybreak Red 접근이 활성화된 자격 있는 호출자에게는 축소된 거부, 그렇지 않으면 표준 안전장치.

모델 권한은 여전히 적용돼요. 호환 모델에서 표준 안전장치를 명시적으로 요청하려면 standard를 보내세요. 명시적 Daybreak 선택이 모델과 호환되지 않거나 필요한 접근이 없으면 실패해요.

응답 확인하기 (Check the response)

가능할 때 access_programs.cyber는 선택된 프로그램을 기록해요. 이 부분 응답은 Daybreak Blue를 보여 줘요:

{
  "model": "gpt-6-sol",
  "access_programs": {
    "cyber": "daybreak_blue"
  }
}

프로그램이 지정되지 않고 요청이 표준 안전장치를 사용하면 access_programs는 null이에요. -latest 별칭에서는 model을 검사해 어떤 모델이 요청을 처리했는지 보세요. 별칭 해석은 바뀔 수 있고 승인된 접근에 따라 달라져요.

오류 처리하기 (Handle errors)

HTTP 상태와 코드 무엇을 해야 하는지
400 invalid_access_program 선택한 모델이 다른 프로그램 값을 필요로 해요. access_programs.cyber를 오류에 지정된 값으로 바꾸고 다시 시도하세요.
400 unsupported_access_program Daybreak를 지원하는 모델로 전환하거나, access_programs.cyber를 standard로 설정해 이 모델을 표준 안전장치로 계속 사용하세요.
403 access_program_not_enabled API 키가 필요한 프로그램이 활성화된 프로젝트에 속하는지 확인하세요. 조직 승인이 없다면 오류에 지정된 Daybreak 수준을 요청하세요. 프로젝트 접근이 없다면 조직 관리자에게 그 프로그램을 활성화해 달라고 요청하세요.

알 수 없는 필드, 잘못된 값, 요청 측 null 값은 유효성 검사에 실패해요. 모델 권한은 별도로 확인돼요. 선택된 Daybreak 프로그램이 모든 안전 검사나 프롬프트가 성공함을 보장하지는 않아요. 더 자세한 도움은 Daybreak 문제 해결을 참고하세요.

더 알아보기 (Learn more)