Chat Completions는 OpenAI의 최신 모델과 함께 사용하는 표준 API입니다. 텍스트 생성 개발자 가이드에서 시작 방법을 확인할 수 있습니다.
2025년 3월 11일 기준, 새로운 Agents 플랫폼의 구성 요소를 공개했습니다. 자세한 내용은 Responses API, 웹 검색, 파일 검색, 컴퓨터 사용을 포함한 Tools, 그리고 Tracing이 포함된 Agents SDK에 대한 API 문서를 참고하세요.
프롬프트에서 메시지로
모델과 더 상호작용적이고 동적인 대화를 하려면, Completions에서 사용하던 기존 프롬프트 방식 대신 채팅 형식의 메시지를 사용할 수 있습니다.
작동 방식은 다음과 같습니다:
프롬프트로 단일 문자열을 보내는 대신, 입력으로 메시지 목록을 보냅니다.
목록의 각 메시지에는 두 가지 속성이 있습니다: role과 content.
'role'은 세 가지 값 중 하나를 가질 수 있습니다: 'system', 'user' 또는 'assistant'
'content'에는 해당 role이 보낸 메시지 텍스트가 들어갑니다.
시스템 지시문은 대화에 대한 상위 수준의 지침을 제공할 수 있습니다.
메시지는 목록에 나타난 순서대로 처리되며, 어시스턴트는 그에 맞게 응답합니다.
아래에서 볼 수 있듯이, 기본적인 Completions 요청도 Chat Completions로 처리할 수 있습니다:
| 이전 | 이제 |
'prompt' : '농담 하나 해줘' | 'messages': [{'role':'user', 'content':'농담 하나 해줘'}] |
이제는 대화에서 메시지 목록을 확장하기만 하면, 모델과의 주고받기가 그 어느 때보다 쉬워졌습니다.
'messages': [{'role':'user', 'content':'농담 하나 해줘'},
{'role':'assistant', 'content':'왜 닭이 길을 건넜을까요'},
{'role':'user', 'content':'모르겠어, 왜 닭이 길을 건넜을까요'}]시스템 지시문
대화 전반에서 모델의 동작을 안내하기 위해 시스템 수준 지시문을 사용할 수도 있습니다. 예를 들어, 시스템 지시문과 아래와 같은 메시지를 사용하면
'messages': [{'role':'system', 'content':'당신은 셰익스피어처럼 말하는 어시스턴트입니다.'},
{'role':'user', 'content':'농담 하나 해줘'}, 다음과 같은 결과가 나옵니다
{...
'message': {'role':'assistant',
'content':'어찌하여 닭이 길을 건넜느냐? 저편으로 가려 함이었으나, 진실로 그 저편은 위험과 위태로움으로 가득하여, 이내 왔던 곳으로 서둘러 돌아왔노라, 참으로!'}
...}메시지 대화 기록을 직접 관리하는 방식을 쓰지 않는 옵션을 살펴보고 싶다면 Assistants API를 확인해 보세요.
