RAG 대안으로 긴 컨텍스트 LLM에 프롬프트 주입 사용?

당연한 지적입니다. 제 생각에는 간단한 답이 없는 것 같습니다.

이것은 사용 사례에 따라 달라질 것 같습니다.

RAG는 일부 앱에서는 잘 작동하지만, 고객 질의응답, 결제, 의료 등 비교적 결정론적인(target) 용도의 경우, 지난 1년 동안 저를 포함한 많은 사람들이 RAG 벡터 검색으로 좋은 정확도를 얻는 데 어려움을 겪었습니다. 즉, 봇이 정보를 놓치거나(Recall이 낮음) 또는 없는 것을 지어냄(Precision이 낮음, IR 용어로 표현)으로써 문제가 발생하며, 이는 스탠퍼드, 구글 등에서 잘 문서화된 사항입니다.

따라서 이런 질문이 생깁니다. 전체 코퍼스를 줄 수 있다면 왜 LLM에 여러 청크(chunks)를 던지는 것일까요? 적어도 컨텍스트 주입(Context Injection)을 사용하면 LLM이 정확하지 않을 때 조정해야 할 변수가 적어집니다.

물론 방대한 문서/코드 라이브러리에는 적용되지 않을 것입니다… 하지만 소규모 및 중규모 콘텐츠 기반에서는 지금까지 매우 잘 작동하는 것으로 보입니다… 저는 이 부분을 공식적으로 테스트하는 프로젝트를 진행 중입니다! 곧 더 많은 정보를 공유하겠습니다. 감사합니다.

P.S. → 흥미롭게도, 컨텍스트 주입 + 파인튜닝(Fine-tuning) 조합으로 좋은 결과를 얻었습니다. 또한 RAG와 컨텍스트 주입을 결합하는 새로운 접근법들도 등장하고 있습니다! 등등.

참고 링크: