Anthropic SDK로 툴 콜링 붙은 멀티턴 에이전트를 돌리고 있습니다. API가 stateless라서 매 요청마다 system + 지금까지의 messages 전체를 다시 실어 보내야 하는 건 이해했는데, 문제는 대화가 10턴, 20턴 넘어가면 입력 토큰이 계속 누적돼서 뒤쪽 턴 한 번 호출하는 비용이 앞쪽의 몇 배가 됩니다.
system 프롬프트가 좀 큰 편이에요. 툴 정의랑 few-shot 예시, 그리고 회사 룰 같은 게 들어가서 고정으로 꽤 됩니다. 이걸 매 턴 풀로 다시 계산해서 과금되는 것 같은데, 히스토리를 통째로 요약해서 줄여버리면 맥락이 깨질까 봐 겁납니다.
usage를 찍어보면 input_tokens가 턴마다 쭉쭉 올라가는 게 보이는데, 이 고정 프리픽스 부분을 매번 풀로 안 물게 하는 방법이 있을까요? 아니면 그냥 감수해야 하나요?
댓글 0