저녁 피크타임의 주방을 떠올려보세요. 주문이 들어와도 셰프는 양파를 찾아 헤매지 않아요. 이미 다져져 있고, 육수는 이미 끓고 있으며, 소스는 작은 용기에 담겨 준비된 상태예요. 이 사전 준비에는 이름이 있어요. 미장플라스(mise en place).
캐싱은 AI의 미장플라스예요.
캐싱이 해결하는 문제는 이거예요. AI는 답변할 때마다 전체 맥락을 처음부터 다시 읽어요. 긴 지시사항, 붙여넣은 방대한 문서, 맨 위에 설정해둔 내용 전부를요. 전송 버튼을 누를 때마다 위에서 아래로 다시 훑어요. 처음 읽는 것처럼. 속도가 느리고, 텍스트 분량만큼 비용을 내는 구조라면 돈도 꽤 들고요. 매번 같은 양파를 다시 써는 셈이에요.
캐싱은 변하지 않는 부분을 한 번 준비해두고 대기 상태로 유지해요.
대화에서 고정된 부분은 한 번만 처리하고 따로 보관해둬요. 다음 차례에는 처음부터 다 읽는 대신, 이미 끝난 준비 작업을 가져다 쓰고 새로운 것(가장 최근 메시지)만 처리해요. 양파를 다시 다지지 않는 거예요. 이미 다져진 양파가 담긴 그릇을 집어 드는 거죠.
체감할 수 있는 변화는 두 가지예요.
답변이 더 빨리 와요. 다시 읽을 분량이 줄어드니, 생각 중 표시를 보는 시간도 줄어들어요.
비용이 낮아져요. API로 AI를 사용한다면, 재사용된 준비 작업은 새 텍스트보다 훨씬 싸요. 캐싱된 부분은 대략 10분의 1 가격이에요.
단, 준비물이 영원히 유지되진 않아요. 한동안 자리를 비우면 주방은 그것을 치워요. 나중에 돌아오면 양파를 다시 정가로 다지게 되죠. (준비물은 보통 몇 분 정도 유지되니, 빠르게 주고받는 대화에서는 계속 재사용돼요.)
무언가를 만든다면 기억해두세요: 크고 고정된 내용은 맨 위에 두고 그대로 유지해야 해요.
- 긴 지시사항, 참고 문서, 규칙들은 맨 위에 쌓아두고 손대지 않아요.
- 바뀌는 것(실제 질문)은 맨 아래에 둬요.
순서가 왜 중요할까요? 준비물은 그 위의 내용이 바뀌지 않는 동안만 유지돼요. 맨 위 근처에서 단어 하나라도 바꾸면 AI는 그 아래 전부를 다시 처리해야 해요. 아래의 양파가 더 이상 같은 양파가 아니기 때문이에요. 고정된 것을 고정 상태로 유지해야 준비물도 살아있어요.
대부분의 앱은 이 작업을 조용히 처리해주니 신경 쓸 필요가 없어요. 바꾸지 않고 그대로 두는 모든 것은, 다시 준비하지 않아도 되는 작업이에요.