
162
2
부
에이전트 시스템의 구축과 확장
# 3. 간단한 쿼리로 검색 수행
query = "신입 대원은 누구지?".split()
top_n = bm25.get_top_n(query, corpus, n=2)
print("쿼리:", " ".join(query))
print("상위 일치 문장:")
for line in top_n:
print(" •", " ".join(line))
이 예제에서 우리는 에이전트의 짧은 발화를 대상으로
BM25
기반의 단순한 전체 텍스트 인덱
스를 구축하고 주어진 사용자 쿼리에 대해 가장 관련성 높은 문장들을 조회했습니다. 이렇게 상
위로 순위가 매겨진 구절들을 프롬프트에 직접 주입하면 모든 과거 메시지를 전달하지 않고도 모
델이 핵심 과거 컨텍스트를 확보하게 하고 동시에 컨텍스트 한도 안에 머물도록 할 수 있습니다.
키워드 중심의 이 접근 방식은 매우 정확한 용어를 찾아내는 데 탁월하지만 원문에 표현되지
않은 더 넓은 주제, 패러프레이즈, 개념적 연관성은 놓칠 수 있습니다. 이런 더 깊은 ‘의미 기반’
메모리를 포착해 정확히 같은 단어를 사용하지 않더라도 연관된 아이디어를 상기하도록 만들
기 위해 이제 시맨틱 메모리와 벡터 스토어로 눈을 돌려 보겠습니다.
6.2
시맨틱 메모리와 벡터 스토어
시맨틱 메모리는 일반적인 지식, 개념, 과거 경험을 저장하고 ...