본문으로 건너뛰기
r/ClaudeCode조회 1

LLM 에이전트를 위한 엔티티 단위 코드 비교 도구 'sem' 공개

기존 git diff의 노이즈를 제거하고 함수·클래스 단위로 코드를 비교하여 LLM의 토큰 소모를 평균 70% 줄여주는 오픈소스 도구 sem이 공개됐다.

실용적 조언

  • Claude와 같은 LLM 에이전트에게 코드 변경 사항을 전달할 때 sem diff를 사용하여 토큰 소모를 줄이십시오.
  • 코드 수정 전 sem impact를 실행하여 변경이 필요한 다른 부분들을 미리 파악하십시오.

섹션별 상세

01
기존 git diff 방식은 인간의 가독성에는 최적화되어 있으나 LLM에게는 불필요한 컨텍스트 라인과 헤더 정보를 너무 많이 포함한다. 작성자가 어텐션 스코어를 분석한 결과, 일반 diff 대신 시맨틱 diff를 제공했을 때 모델이 구조 파싱보다 실제 변경 사항 추론에 더 많은 자원을 할당하는 것으로 나타났다. 이는 모델의 추론 품질 향상으로 이어진다.
02
Rust 기반의 오픈소스 도구인 sem은 tree-sitter를 사용하여 코드에서 함수, 클래스, 구조체 등의 엔티티를 추출하고 이 단위로 비교를 수행한다. 입력 소스 코드를 구문 트리로 변환한 뒤 변경된 엔티티만 골라내어 LLM에 전달하는 방식으로 작동한다. 이를 통해 tokio, ruff, fastapi 등 주요 레포지토리의 15개 커밋을 벤치마크한 결과 평균 70%의 토큰 절감 효과를 확인했다.
bash
sem diff - entity-level diff with word-level inline highlights
sem entities - list all entities in a file with their line ranges
sem impact - show what breaks if an entity changes
sem blame - git blame at the entity level
sem log - track how an entity evolved over time
sem context - token-budgeted context for Claude

sem 도구에서 제공하는 주요 명령어와 기능 목록

03
토큰 절감은 단순한 비용 문제를 넘어 LLM의 제한된 컨텍스트 윈도우를 효율적으로 활용하게 해준다. 200K 토큰 제한이 있는 에이전트 환경에서 55K 토큰의 diff 노이즈를 제거하면 그만큼 더 많은 파일 컨텍스트나 문서를 주입할 수 있다. 실제 조직 단위(50인 기준)에서는 연간 약 2,300달러의 API 비용 절감 효과가 있을 것으로 추정된다.
04
단순 비교 외에도 sem impact 명령어를 통해 특정 함수 변경 시 영향을 받는 의존성 관계를 전역적으로 분석할 수 있다. 이는 에이전트가 코드를 수정하기 전 잠재적인 파급 효과를 미리 파악하게 하여 더 안전한 코드 생성을 돕는다. 현재 Rust, Python, TypeScript 등 23개 이상의 언어와 JSON, YAML 등의 설정 파일 형식을 지원한다.

용어 해설

시맨틱 디프(Semantic Diff)
단순한 텍스트 줄 단위 비교가 아닌 함수, 클래스, 구조체 등 코드의 논리적 단위를 기준으로 변경 사항을 분석하는 기술이다. LLM이 불필요한 문맥 정보를 파악하는 데 소모하는 토큰을 줄이고 실제 로직 변경에 집중하게 함으로써 추론 효율성을 높인다.
트리 시터(tree-sitter)
프로그래밍 언어의 소스 코드를 구문 트리로 파싱하는 점진적 파싱 라이브러리이다. 다양한 언어의 구조를 정확하게 파악하여 코드 내의 특정 엔티티(함수, 변수 등)를 식별하고 추출하는 데 사용된다.
토큰 절감(Token Reduction)
LLM 입력에 사용되는 데이터의 양을 줄여 비용을 절감하고 컨텍스트 윈도우 효율을 높이는 과정이다. 코드 리뷰나 에이전트 워크플로에서 불필요한 메타데이터와 중복 코드를 제거하여 모델의 처리 속도와 정확도를 개선한다.

언급된 도구

sem추천링크

엔티티 레벨 시맨틱 디프 및 영향도 분석 도구

tree-sitter중립

다양한 언어의 증분 파싱 라이브러리

언급된 리소스

AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 04. 15.수집 2026. 04. 15.출처 타입 REDDIT

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