Responses API

모델 응답을 메시지와 도구 호출 같은 출력 항목으로 다루는 API입니다.

···
html
<div class="scene"><div class="heading">RESPONSE ITEMS</div><div class="stream"><div id="item-call">output: tool_call</div><div id="item-result">input: tool_result</div><div id="item-message">output: message</div></div><div class="muted" id="response-note">모델이 도구 호출 항목을 냅니다</div></div>
css
.scene{width:min(94vw,800px);height:min(88vh,326px);padding:clamp(10px,2.7vmin,19px);border:1px solid var(--line);border-radius:13px;background:var(--surface);font:500 clamp(13px,2.4vmin,17px)/1.3 var(--font-sans,sans-serif);position:relative;overflow:hidden}.scene .mono{font-family:ui-monospace,SFMono-Regular,monospace}.scene .muted{color:var(--muted)}.scene .accent{color:var(--accent)}.scene .heading{font-weight:750;color:var(--accent);margin-bottom:clamp(5px,1.6vmin,12px)}.stream{height:68%;display:flex;flex-direction:column;justify-content:space-around;gap:5px}.stream div{border-left:4px solid var(--line);padding:clamp(7px,2vmin,13px);background:var(--bg);font-family:ui-monospace,monospace;opacity:.72;transition:.3s}.stream div.on{border-color:var(--accent);opacity:1;background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
js
const ids=['item-call','item-result','item-message'],notes=['모델이 도구 호출 항목을 냅니다','앱이 실행 결과를 다음 입력으로 보냅니다','모델이 최종 메시지를 냅니다'];let i=0;function draw(){ids.forEach((id,n)=>document.getElementById(id).classList.toggle('on',n===i));document.getElementById('response-note').textContent=notes[i];i=(i+1)%3}draw();setInterval(draw,850)

Responses API는 입력을 받아 응답 객체를 만들고, 출력 배열에 텍스트 메시지나 도구 호출 같은 항목을 담습니다. 애플리케이션은 항목의 종류를 확인한 뒤 도구 결과를 다시 입력으로 이어 보낼 수 있습니다.

데모는 응답의 도구 호출, 애플리케이션의 결과 전달, 최종 메시지를 순서대로 보여줍니다. 출력 배열 첫 칸이 언제나 텍스트라고 가정하면 도구 호출이나 다른 항목을 놓칠 수 있습니다.

언제 쓰나

모델 호출과 도구 실행 루프를 애플리케이션에서 직접 제어할 때 사용합니다.

페이지로 열기 ↗