RAG는 검색이 아니라 선택이다: 내 프로젝트의 RAG

RAG를 붙였더니, 진짜 문제가 보였다

by the게으름

바이브코딩 108

RAG는 검색이 아니라 선택이다: 내 프로젝트의 RAG 설계법


RAG를 붙였더니, 진짜 문제가 보였다

RAG를 붙였다.

이제 AI는 파일을 안 보고 말하지 않는다.

없는 파일을 상상해서 수정하지도 않는다.

import도 따라간다.

환각은 확 줄었다.

좋다.

그런데 이상한 일이 벌어진다.


코드도 맞는데, 결과가 틀리다

파일은 정확하다.

연결도 정확하다.

문법도 문제없다.

그런데 결과가 내가 원한 방향이 아니다.

이건 더 골치 아프다.

예전에는 이렇게 말할 수 있었다.

“야, 파일도 안 보고 말하냐?”


지금은 그 말도 못 한다.

AI는 실제 파일을 보고 말한다.

연결된 모듈도 같이 가져온다.

그런데도 어긋난다.

왜?


RAG는 검색이 아니다

많은 사람들이 RAG를 이렇게 이해한다.

검색을 붙이면 정확해진다.


반은 맞고, 반은 틀렸다.

RAG는 많이 가져오는 기술이 아니다.

무엇을 붙일지 고르는 기술이다.

AI는 스스로 세계를 만들지 않는다.

붙여준 컨텍스트가 곧 세계다.

파일을 3개 붙이면 그 3개가 세계고,

파일을 30개 붙이면 그 30개가 세계다.

그 순간부터

AI의 판단 범위는 이미 정해져 있다.


요즘 모델은 기본 RAG가 다 붙어 나온다

솔직히 말하자.

벡터화?

랭킹?

ANN?

임베딩 최적화?


요즘 모델은 이런 범용 검색은 이미 잘한다.

우리가 직접 벡터 DB를 만지지 않아도

웬만한 검색은 붙어 나온다.

그럼 우리가 할 일은 뭐냐?

범용 RAG가 아니다.

커피 예시

내가 커피를 판다고 하자.

관련 자료를 몽땅 모았다.

논문도 있고, 블로그도 있고, 건강 기사도 있다.

AI에게 묻는다.

“커피가 건강에 좋은 점 정리해줘.”


AI가 말한다.

“과도한 카페인 섭취는 불안감과 수면 장애를 유발할 수 있다.”


틀린 말 아니다.

다시 묻는다.

“항산화 물질이 풍부하여 심혈관 질환 예방에 도움이 된다.”


이것도 사실이다.

둘 다 진짜다.

그런데 카탈로그에 필요한 문장은 뭐냐?

답은 단순하다.

내 목적에 맞는 진실.


기술이 틀린 게 아니다

여기서 사람들이 오해한다.

“RAG가 잘못됐네.”

아니다.

모델이 틀린 게 아니다.

사용처에 맞지 않는 RAG를 구성한 것이다.


자료는 다 맞다.

검색도 제대로 했다.

문제는 이거다.

그 자료를 어떤 목적의 필터로 통과시켰느냐.


생성 단계의 핵심은 복사가 아니다

RAG는 원재료를 가져온다.

생성 단계는 요리다.

검색 결과를 그대로 복사하면

그건 위키피디아다.

질문에 맞게 재구성해야 한다.

무엇을 강조할지

무엇을 뒤로 밀지

무엇을 아예 본문에서 제외할지


이게 목적형 RAG다.


그래서 내 프로젝트의 RAG가 필요하다

범용 RAG는 모델이 해준다.

우리가 해야 할 건 이거다.

데이터 모은다

청킹한다

SQLite에 넣는다


그리고 AI에게 고정한다.

나는 누구인가.


이 자료는 무엇을 위한 것인가.


커피 카탈로그를 만들 거라면

그 세계 안에 AI를 집어넣는다.

부작용은 “주의사항”으로 밀고,

장점은 본문에 배치한다.

이건 검색 튜닝이 아니다.

세계관 고정이다.


여기서부터가 진짜다

프롬프트 엔지니어링은 이렇게 말한다.

“너는 커피 마케팅의 신이야.”


그리고 100번 반복한다.

그건 역할 놀이에 가깝다.

진짜 방법은 다르다.

커피 자료를 주고

카탈로그 목적을 고정하고

강조점과 금지선을 명시한다


그 순간 AI는 달라진다.

“마케팅의 신”이 되어서가 아니다.

마케팅의 세계 안에 들어왔기 때문이다.


그래서 이 문장이 성립한다

RAG 시스템을 만들었다?


그럼 넌 이미 컨텍스트 엔지니어링을 시작한 거다.


프롬프트는 말이다.

컨텍스트는 환경이다.

말을 잘하는 게 문제가 아니다.

어떤 환경에서 생각하게 만들 것인가가 문제다.

구현은 공짜다.

모델은 점점 더 똑똑해진다.

결국 싸움은 여기로 온다.

무엇을 보여줄 것인가.


RAG는 검색 기술이 아니다.

AI의 세계를 설계하는 첫 번째 단계다.

그리고 그 설계가

거의 90%다.