Tanay Sai의 글 입니다. 2023년 PDF 폴더에 대한 영업팀 질의 응대를 위해 2주간 짜낸 RAG 파이프라인 — 청킹·임베딩·벡터 스토어·리랭커 — 이, 오늘은 사용자가 100페이지짜리 PDF 20개를 1M 토큰 컨텍스트에 드롭하고 질문 한 번 던지는 것으로 대체되었다는 자기 고백에서 시작합니다.
원문: Today’s harness is Tomorrow’s Prompt — Tanay Sai
시작은 자기 고백 — 2주짜리 RAG가 컨텍스트에 먹힌 이야기
In 2023, I spent two weeks wiring up a RAG pipeline so a sales team could ask questions about a folder of PDFs. Chunking, embeddings, a vector store, a reranker. Today, a user drops twenty 100-page PDFs into a 1M-token context window and the model handles it.
저자가 2023년에 영업팀의 PDF 질의 응대를 위해 2주에 걸쳐 청킹·임베딩·벡터 스토어·리랭커로 조립한 RAG 파이프라인이, 지금은 100페이지 PDF 20개를 1M 토큰 컨텍스트에 던지고 질문 한 번 하면 끝나는 일이 됐습니다. 이 한 단락이 글 전체의 정서를 정합니다 — 한때 자랑이었던 인프라가 다음 모델 한 번에 기능적으로 사라진다.
하네스란 무엇인가 — 단순 래퍼가 아니다
A harness is the scaffolding you build around a model to make it do something it can’t quite do on its own. More than a wrapper; something that measurably lifts what the model can do.
하네스는 모델이 혼자서는 잘 못하는 일을 하게 만드는 스캐폴딩입니다. 핵심은 measurably lifts — 모델 능력을 측정 가능한 수준으로 끌어올려야 진짜 하네스라는 것. 단순 API 래퍼는 여기서 빠집니다.
2023년 RAG 파이프라인에서 PDF와 답변 사이에 있던 모든 것이 하네스였습니다.
| 컴포넌트 | 존재 이유 (= 모델의 한계) |
|---|---|
| 청커(chunker) | 컨텍스트 윈도우가 너무 작았다 |
| 임베딩 모델 + 벡터 스토어 | LLM이 검색을 못 했다 |
| 리랭커 | 검색 결과가 노이즈가 많았다 |
| 파서 | 출력이 약간 틀렸다 |
| 에이전트 프레임워크 | 모델이 계획을 못 했다 |
Every harness is a workaround for a model limitation, dressed up as architecture.
모든 하네스는 모델 한계의 우회로를 아키텍처로 포장한 것입니다. 한계가 사라지면 우회로의 존재 이유도 사라집니다.
가속하는 흡수 곡선
Harnesses have a short shelf life, and it’s getting shorter. What took an engineering team a quarter last year is a flag on Gemini call today. What needs a multi-agent framework today is a single call next year.
- 작년 한 분기 → 오늘 Gemini 호출의 플래그 한 줄
- 오늘의 멀티 에이전트 프레임워크 → 내년의 단일 호출
흡수 주기 자체가 짧아지고 있습니다. 빌더에게 이는 곧 ROI 회수 기간이 더 짧아진다는 뜻입니다.
If you’re building on AI, the question isn’t how clever your harness is. It’s how long until the model eats it.
모델이 이미 먹어버린 하네스 3가지
1. Chat with your PDF
- 옛 버전: 문서를 청크로 자르고, 임베딩 모델을 고르고, Pinecone이나 Milvus를 띄우고, 검색 로직을 짜고, 리랭커를 튜닝하고, 청크 안에 답이 있길 기도한다.
- 새 버전: 파일 업로드 + 질문.
Long context didn’t improve RAG so much as make a lot of RAG unnecessary.
롱 컨텍스트가 RAG를 개선한 게 아니라, 상당 부분을 불필요하게 만들었다. 이게 글의 핵심 뉘앙스입니다.
2. Structured output
저자가 직접 썼던 프롬프트:
“You are a JSON generating machine. Output only JSON. No markdown. No prose.”
그 다음에 정규식 파서, 그 다음에 trailing comma와 stray backtick을 위한 재시도 루프. 지금은? API 콜의 파라미터 하나. 그리고 그게 작동한다.
3. Reading an image
영수증 처리의 옛 파이프라인:
- Tesseract 같은 OCR을 통과시켜 문자가 번진 벽을 받는다
- 그걸 LLM에 넘겨 항목을 추측하게 한다
- 곡선·회전·손글씨에는 그냥 실패한다
오늘의 비전 모델은 OCR 하네스가 필요 없습니다. 그냥 작동합니다(They just work!).
These harnesses were the right answer at the time. They’re not now!
그리고 저자가 한 번 더 못을 박습니다 — “그 코드는 어딘가의 프로덕션에 아직 남아 있고, 누군가의 돈으로 유지보수되고 있다.”
지금 짓고 있지만 곧 먹힐 후보 3가지
저자가 반대 베팅을 거는 후보들입니다.
1. 멀티 에이전트 스웜 (AutoGen, CrewAI)
리서처·작가·에디터를 조립하고, 일관된 산출물이 떨어질 때까지 그들의 대화를 오케스트레이션하는 패턴. 가끔 작동하지만, 느리고 디버깅이 어렵습니다.
Reasoning models that plan and revise in a single inference are already eating the easier cases.
단일 추론 안에서 계획하고 수정하는 추론 모델이 쉬운 케이스부터 먹기 시작했습니다.
2. 에이전트용 브라우저 스크립팅
LLM에 Playwright를 물리고, DOM 스냅샷을 먹이고, 셀렉터를 고르게 하고, 사이트가 안 바뀌길 기도하는 방식.
Computer-use models that operate at the screen level are shipping now. When “log in and pull the last ten invoices” is a single call, the scripting layer stops being a product.
화면 수준에서 동작하는 컴퓨터 유즈 모델이 출시되고 있습니다. “로그인하고 최근 인보이스 10개 가져와"가 단일 호출이 되는 순간, 스크립팅 레이어는 제품이기를 멈춥니다.
3. 캐스케이딩 음성 파이프라인
- Whisper → STT
- LLM → 응답 생성
- ElevenLabs → TTS
3홉이고, 모든 핸드오프마다 모델이 쓸 수 있었을 감정 정보가 깎여나갑니다.
Native audio-to-audio models keep tone and timing in the same representation.
네이티브 audio-to-audio 모델은 톤과 타이밍을 같은 표현 공간에서 유지합니다. 캐스케이드는 그래서 흡수 후보 1순위입니다.
그럼 하네스를 짓지 말라는 건가?
Build them. I still am.
짓는다. 저자도 여전히 짓고 있습니다. 2023년의 RAG 파이프라인은 컨텍스트 윈도우에 먹히기 전까지 2년쯤 제 몫을 했고, 지금 짓는 것들은 그보다 짧게 살 거라고 인정합니다.
The job isn’t to stop building harnesses. It’s to build them cheap enough to throw away.
이 글의 진짜 결론은 여기입니다.
- 하지 말 일: 하네스 자체를 영구 자산처럼 다루는 것.
- 할 일: 버릴 수 있을 만큼 싸게 짓는 것(build them cheap enough to throw away).
정리
- 하네스 = 모델 한계의 우회로를 아키텍처로 포장한 것. 한계가 사라지면 우회로도 사라진다.
- 이미 먹힌 3: PDF 채팅(RAG), 구조화 출력(JSON), 이미지 OCR.
- 곧 먹힐 3: 멀티 에이전트 스웜, 브라우저 스크립팅, 3홉 음성 파이프라인.
- 새 결정 기준: “How clever is my harness?” 대신 “How long until the model eats it?”.
- 실무 지침: 하네스는 짓되, 던져버릴 수 있을 만큼 싸게 지어라. 비용/유통기한이 맞는 한에서만 짓는다.
Today’s harness is tomorrow’s prompt.