같은 task에 두 가지 모양
모델한테 process를 실행하라고 할 수 있어 ("먼저 X, 그 다음 Y, 그 다음 Z") 또는 outcome을 달성하라고 ("X와 Y에 access 있으니 Z를 return"). 둘 다 work할 수 있어 — 다르게 실패해.
step-by-step이 이기는 때
- task가 알려진 brittle한 순서를 가짐 (parse → validate → transform → emit).
- traceability 필요 — 각 step의 output이 logged.
- 모델이 overshooting하고 있어 (verification 건너뛰고 추측으로 점프).
- tool calling 쓰는 중 — explicit step이 explicit tool call이랑 align.
open-ended가 이기는 때
- task가 valid path 많음 (creative writing, planning).
- step이 모델한테 obvious해서 적는 게 그냥 noise.
- 이미 internally plan하는 reasoning model 쓰는 중.
pivot
step-by-step 프롬프트가 rote하고 mechanical한 output을 만들면 soften해. open-ended 프롬프트가 필요한 check를 skip하면 harden해. 이 다이얼을 의도적으로 움직여, 우연이 아니라.