7개 지점 식당의 모든 인스타그램 DM에 Sonnet 4.6 적용하기. 97% 캐시 적중률 덕분에 비용 효율 달성
Running Sonnet 4.6 on every Instagram DM for a 7-location restaurant. 97% cache hit is the only reason it's affordable
핵심 요약
7개 지점 식당의 인스타그램 DM 응대를 위해 Claude Sonnet을 도입하고, 프롬프트 캐싱을 활용해 비용 문제를 해결한 사례.
- 프롬프트 캐싱 — 97%의 캐시 적중률로 API 비용을 획기적으로 절감함.
- 인스타그램 자동화 — Meta API를 통해 메뉴, 알레르기 정보 등을 기반으로 고객 응대 자동화.
- 하이브리드 응대 — 복잡한 문의나 사진, 음성 메시지는 사람이 직접 처리하도록 설계함.
- 비용 효율성 — 캐시 읽기 비용을 활용해 대량의 DM 처리를 경제적으로 운영함.
에이전트 만드는 게 제일 힘들 줄 알았는데, 막상 까보니까 비용 문제가 핵심이더라. 결국 그 부분 때문에 계약 성사됐음.
매장 7개 운영하는 초밥 체인점이 있는데, 주문의 90%가 인스타그램 DM으로 들어옴. 그래서 Meta API 써서 Claude 에이전트(Sonnet 3.5)를 그 DM에 붙여버렸지. 메뉴 전체, 재료, 칼로리, 알레르기 정보, 배달 구역, 영업시간, 조리 시간, 지점별 프로모션까지 싹 다 입력해 놨음. 이게 데이터 양이 꽤 되는데, 손님이 "안녕"이라고 한마디만 보내도 에이전트가 답변하려면 매번 이 방대한 메뉴 정보를 다 읽어야 함.
보통 이러면 비용 때문에 답도 안 나옴. 손님이 말 걸 때마다 그 긴 문맥을 매번 다시 처리해야 하니까 입력 비용이 그대로 다 깨지거든. 이론상으로는 주문량 좀 되는 체인점에서 Sonnet을 DM마다 돌리는 건 그냥 미친 짓임.
근데 캐싱(Caching)이 판을 뒤집었음. 메시지 97% 정도는 정적 데이터 블록을 캐시에서 긁어오니까 다시 처리할 필요가 없고, 캐시 읽기 비용은 일반 입력 비용의 10분의 1 수준임. 그러니까 에이전트가 처리하는 대부분의 작업이 90% 할인되는 셈이지. 제값 내는 토큰은 손님이 보낸 메시지랑 에이전트 답변뿐인데, 이건 메뉴 데이터에 비하면 껌값임. "메시지당 비용이 너무 비싸서 못 씀"과 "사장님이 LLM 돌아가는지도 까먹음" 사이의 간극을 이게 다 메꿔준 거임.
에이전트가 그 많은 문맥 가지고 하는 일은 이거임: 메뉴 추천, 롤에 뭐가 들어가는지 설명, 알레르기 체크, 적절할 때 추가 판매 유도("그 세트는 X 소스랑 잘 어울리는데 추가할래?"), 그리고 주문 확정되면 주방으로 쏴주고 CRM이랑 관리자 페이지에 기록 남기기.
일부러 안 맡긴 건 전화, 음성 메시지, 사진임. 이건 사람이 직접 확인해야 함. 사진 보고 모델이 추측하게 뒀다간 대형 사고 터지기 딱 좋거든. 사람한테 넘기는 경우는 거의 없음. "매니저 바꿔줘" 같은 거나 가끔 들어오는데, 그것도 드문 편임.
프롬프트를 쪼개서 메뉴랑 규칙은 고정된 프리픽스(prefix)에 박아두고, 실시간 대화 내용만 바뀌게 세팅했더니 캐시 적중률이 높게 유지됨. 혹시 이런 식으로 세팅해서 적중률 97% 이상 찍어본 사람 있음?

