본문으로 건너뛰기

Attemory 프로젝트는 어텐션 기반 검색을 통해 대화형 메모리와 코드베이스에서 고리콜 검색 품질을 개선하는 오픈소스 검색 엔진이다 이 시스템은 임베딩 대신 원문을 재사용 가능한 KV 상태로 인덱싱하고 쿼리 시점에 로컬 LLM이 해당 인덱스에 어텐션을 적용해 증거를 반환하는 구조를 사용한다 저장된 벤치마크 스크립트와 결과를 함께 공개해 재현 가능한 성능 지표를 제공한다

Attemory는 임베딩 대신 KV 상태와 쿼리 시점 어텐션을 사용해 고리콜 메모리와 코드 검색에서 90%대 리콜을 달성하고 코드 에이전트 토큰을 약 44%까지 절감한 프로젝트이다

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

임베딩 기반 검색은 쿼리 이전에 문서를 고정 벡터로 압축하기 때문에 토큰 수준의 세부 정보를 잃어 고리콜 리콜 한계가 발생하며 이를 보완하기 위해 여러 휴리스틱과 재순위화 기법이 복합적으로 적용되는 사례가 빈번하다 Attemory는 원문을 재사용 가능한 KV 상태로 인덱싱하고 검색 시 로컬 LLM이 인덱스와 쿼리에 어텐션을 적용해 증거를 반환하는 디코드 없는 검색 경로를 채택해 임베딩 대비 문맥 일치성을 높였다 저자는 여러 벤치마크 스위트에서 90%대 리콜과 코드 검색에서 약 43.8% 토큰 절감 같은 수치를 보고했으며 대규모 인덱스에는 GPU 또는 Metal 가속이 실질적 이점으로 작용한다 이 프로젝트는 Python/HTTP API와 atcode CLI를 통해 로컬에서 직접 실험해볼 수 있고 저자는 에이전트 통합과 메모리 시스템 피드백을 받고자 한다

실용적 조언

  • 저자가 제공한 atcode CLI로 리포지토리를 한 번 인덱스한 다음 자연어 질의로 파일과 라인 범위를 바로 확인해 검색 품질을 직접 검증할 수 있다 이는 애플리케이션 연동 없이도 회수 품질을 빠르게 평가하는 방법을 제공한다
  • 대규모 코퍼스나 10M 토큰에 근접하는 인덱스를 운영할 때는 GPU 또는 Apple Metal 가속을 준비해 검색 지연을 줄이는 것이 권장되며 로컬 LLM을 사용한 어텐션 스코어링은 하드웨어 의존성이 존재한다
  • 임베딩 기반 스택에 병행 도입할 경우 기존 벡터 후보를 어텐션 기반 재순위화로 평가하는 하이브리드 실험을 먼저 수행해 비용 대비 품질 향상 여부를 계량적으로 확인하는 것이 바람직하다

섹션별 상세

01
많은 RAG 파이프라인에서 임베딩 기반 검색이 데모는 쉽지만 실제 고리콜(recall) 요구 조건을 만족하지 못하는 문제가 존재한다 임베딩은 각 청크를 쿼리 이전에 고정 길이 벡터로 압축하므로 이름, 부정, 코드 식별자 같은 토큰 수준의 세부 정보가 손실될 수 있다 이러한 손실이 발생하면 검색 단계에서 리콜 저하가 시작되고 이를 보완하기 위한 청크 크기 조정, 오버랩, 키워드 결합, 재순위화 같은 보정 기법들이 연쇄적으로 필요하게 된다
02
Attemory의 핵심 설계는 원문을 재사용 가능한 키-값 상태로 인덱싱하고 검색 시 로컬 LLM이 해당 인덱스와 쿼리를 함께 어텐션 처리해 후보 증거를 반환하는 점이다 입력 단계에서 코퍼스를 KV 상태로 변환해 저장하고 검색 단계에서는 Qwen3.5 기반의 로컬 retrieval 모델이 인덱스와 쿼리에 직접 어텐션을 적용해 메모리 id, 스니펫 또는 파일·라인 범위를 반환한다 이 방식은 후보를 벡터 거리로 매칭하는 대신 모델이 실제로 읽을 수 있는 원문 문맥을 사용해 점수를 계산한다
03
Attemory는 디코드 없는(decode-free) 검색 경로를 채택해 후보 생성 시점에 전체 생성 루프를 피하면서도 모델 독해에 가까운 점수화를 유지한다 구체적으로 코퍼스를 KV 상태로 인덱스화한 뒤 쿼리의 어텐션 신호로 후보를 랭킹하고 생성은 별도의 단계로 남겨둔다 이 설계는 쿼리당 전체 생성 비용을 피하면서도 리콜과 문맥 일치성을 높이는 실용적 트레이드오프를 만든다
04
저자 제공 벤치마크는 여러 스위트에서 높은 성능 수치를 보여주며 이는 단순 홍보 문구가 아니라 재현 가능한 스크립트와 결과 요약이 함께 제공된 케이스이다 예를 들어 LongMemEval-S에서는 session Recall_any@5 98.72%, message Recall_all@50 98.94% 같은 수치가 보고되었고 코드 검색 관련 실험에서는 한 힌트로 Claude Code의 토큰 사용량을 43.8% 절감한 사례가 있다 이러한 결과는 임베딩만으로는 얻기 어려운 높은 리콜을 달성할 수 있음을 시사하며 대규모 인덱스에서는 GPU나 Metal 가속이 여전히 유의미한 성능 이점을 제공한다

용어 해설

검색 증강 생성(RAG)
검색 증강 생성은 외부 문서에서 관련 증거를 찾아 모델이 답변을 생성하도록 컨텍스트를 제공하는 기법이다 이 방식에서는 검색 결과의 재현율과 관련성이 전체 응답 품질을 좌우하며 임베딩 기반 검색은 쿼리와 문서의 의미적 유사도를 벡터 거리로 계산한다
어텐션 메커니즘(Attention Mechanism)
어텐션 메커니즘은 쿼리와 입력 토큰 간의 상호작용을 계산해 중요한 토큰에 더 높은 가중치를 부여하는 구조이며 검색 시점에 원문 토큰과 쿼리를 함께 고려해 문맥 기반 점수를 산출할 수 있다
최근접 벡터 검색(Nearest-vector search)
최근접 벡터 검색은 문서나 청크를 고정 길이 임베딩으로 변환한 뒤 쿼리 임베딩과의 거리로 후보를 선별하는 방식이며 쿼리 이전에 임베딩이 고정되기 때문에 토큰 수준의 세부 정보를 잃을 위험이 있다
KV 상태(KV state)
KV 상태는 모델의 어텐션이 참조할 수 있도록 원문을 재사용 가능한 키-값 형태로 인덱싱한 저장 구조이며 검색 시점에 어텐션 모듈이 이 KV 상태를 직접 조회해 문맥 점수를 계산할 수 있다
재순위화(Reranking)
재순위화는 초기 후보군을 생성한 뒤 더 정밀한 모델이나 문맥 기반 스코어링으로 후보 순서를 다시 매기는 과정이며 임베딩 기반 후보를 어텐션 기반 점수로 재평가할 때 자주 사용된다

언급된 도구

Attemory추천링크

어텐션 기반 로컬 검색 엔진과 Python/HTTP API 및 atcode CLI를 통한 코드 검색

Qwen3.5중립

로컬 retrieval 모델로서 인덱스와 쿼리에 어텐션을 적용해 후보를 점수화

Claude Code중립

코드 에이전트 성능 평가에서 토큰 사용량 비교 대상으로 사용된 코딩 에이전트

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 06.수집 2026. 07. 06.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.