Responses 는 두 input shape 받아 — plain string 또는 typed content part 가진 message list. One-shot 호출엔 string, multimodal/multi-turn 엔 list.
String 으로 충분한 경우
이미지 없고 history 없는 single user prompt 면 input="What is 2+2?" 로 충분. 가장 적은 ceremony, 가장 빠른 read.
List shape — typed content parts
이미지, 파일, multi-turn, role 세분화 필요하면 message list. input_text, input_image, input_file typed parts 로 명시 — wire 수준에서 multimodal shape 이 explicit.
System-style 지시는 instructions= 로
옛 'role: system' 메시지를 input list 에 박는 거 — 동작은 하지만 wrong shape. Responses 는 system-style steering 을 top-level instructions= 파라미터로 lift up. 새 코드는 instructions 사용.
왜 string + list 둘 다 둠?
Single 작업에 list ceremony 강제는 ergonomic 사고. Multimodal 에 string 을 강제하면 표현력 사고. 두 shape 다 두는 게 right call — 작업에 맞는 걸 골라.