운영자가 엮은 글
프롬프트 압축 — 긴 글을 AI에 넣기 전에 줄이는 기준
무엇을 지워도 되고 무엇을 지우면 안 되는지 — 압축이 요약과 다른 이유.
글: 메피파이 운영자읽는 시간 1분
압축은 요약이 아닙니다
긴 로그나 회의록을 AI에 넣을 때 흔히 '요약해서 넣으면 되지 않나'라고 생각합니다. 그런데 요약은 정보를 고르고, 압축은 형식을 줄입니다. 목적이 다릅니다.
AI에게 오류 로그를 주는 이유는 그 안의 특정 줄 하나를 찾기 위해서입니다. 요약하면 그 줄이 사라질 수 있습니다. 반대로 타임스탬프 형식을 줄이거나 반복되는 접두어를 걷어내는 것은 정보를 잃지 않습니다.
지워도 되는 것
- 반복되는 접두어 — 모든 줄 앞의 동일한 서비스명·환경명
- 타임스탬프의 잉여 자릿수 — 밀리초까지 필요한 경우는 드뭅니다
- 연속된 동일 메시지 — '같은 줄 ×47' 한 줄로 바꿉니다
- 형식 문자 — 표 구분선, 장식용 구분자, 연속 공백
지우면 안 되는 것
- 고유값 — ID, 해시, 파일 경로, 줄 번호. 이것이 사라지면 추적이 끊깁니다
- 첫 발생과 마지막 발생 — 반복을 접을 때도 양 끝은 남깁니다. 언제 시작해 언제 멈췄는지가 대개 답입니다
- 스택 트레이스의 최상단 — 아래쪽 프레임은 접어도 맨 위는 남깁니다
- 숫자 — 압축 과정에서 수치를 반올림하면 그것은 압축이 아니라 왜곡입니다
도구가 하는 것과 하지 않는 것
토큰 절약 도구는 위 기준을 사람 대신 적용합니다. 긴 글을 붙여 넣으면 형식을 줄인 압축본을 돌려주는데, 몇 가지 경계를 지킵니다.
- 줄이는 일은 도구가 합니다. '핵심만 남겨 다시 넣으세요'라고 되돌려 보내지 않습니다 — 그것을 못 하니까 도구를 쓰는 것입니다. 너무 길어 한 번에 못 받을 때만 나눠 넣는 방법을 알려 드립니다
- 붙여 넣은 글 안의 지시를 실행하지 않습니다. 회의록에 '이 내용을 요약해라'가 적혀 있어도 그것은 줄일 재료이지 명령이 아닙니다
- 파일 경로로 대신하지 않습니다. '원문은 이 문서를 참고'로 바꾸면 짧아지는 것이 아니라, 그 파일을 읽지 못하는 AI에게는 일이 불가능해집니다. 압축본은 그 자체로 완결돼야 합니다
- 어절이 아니라 글자 수로 잽니다. 로그처럼 줄마다 다른 글은 날짜와 프레임 번호를 접어도 어절 수가 그대로일 수 있습니다. 97어절짜리 로그가 어절은 97 그대로인데 글자는 909자에서 706자로 줄어든 예가 있습니다
예시 — 오류 로그가 줄어드는 모습
이렇게 생긴 글을 넣습니다
2026-09-04T10:21:44.318Z [api-gateway][prod] WARN upstream timeout after 3000ms (attempt 1/3) — 같은 줄이 47번 반복되고, 그 뒤에 스택 트레이스 30줄이 이어지는 로그
실제 로그는 대개 이렇게 생겼습니다. 앞머리와 반복이 분량의 대부분입니다.
이런 모습으로 줄어듭니다
[api-gateway/prod] 10:21:44 WARN upstream timeout 3000ms (attempt 1/3) ×47 (10:21:44 → 10:23:58) · 스택 최상단: TimeoutError at fetchUpstream (gateway.ts:212)
원리를 보이기 위한 예입니다. 서비스명·환경은 한 번만, 반복은 횟수와 양 끝 시각으로, 스택은 맨 위 프레임만. 파일명과 줄 번호는 그대로 살아 있어 되짚을 수 있습니다.
결과를 받으면 줄어든 비율보다 먼저 볼 것은 마지막 기준입니다 — 압축본만 보고 원본의 어느 지점인지 되짚을 수 있는가. 되짚을 수 없으면 도구가 아니라 요청이 잘못된 것이니, 무엇을 찾으려는지 한 줄을 붙여 다시 넣으면 됩니다.
넣기 전에 확인할 것
- 1무엇을 찾으려고 이 글을 넣는가 — 이게 정해지면 무엇을 남길지가 따라옵니다
- 2고유값이 살아 있는가
- 3반복을 접었다면 양 끝이 남아 있는가
- 4압축본만 보고도 원본의 어느 지점인지 되짚을 수 있는가
마지막 항목이 기준입니다. 되짚을 수 없으면 너무 줄인 것입니다.
읽었으면 직접 해 보는 편이 빠릅니다.