본문 바로가기

인공지능

Understand-Anything: 코드와 지식베이스를 인터랙티브 지식 그래프로 분석하는 AI 플러그인

728x90
반응형
728x170

코드베이스 규모가 커질수록 “이 함수가 어디에 영향을 주는지”, “현재 구조가 어떻게 연결돼 있는지”, “어떤 순서로 코드를 이해해야 하는지”를 파악하는 일은 점점 어려워집니다. 특히 여러 개발자가 함께 작업하는 환경에서는 코드 이해 비용이 빠르게 증가합니다.

Understand-Anything은 이런 문제를 해결하기 위해 등장한 AI 기반 플러그인입니다. 프로젝트의 파일, 함수, 클래스, 의존성 관계를 자동 분석해 인터랙티브 지식 그래프로 변환하고, 이를 통해 코드 구조와 도메인 흐름을 시각적으로 탐색할 수 있도록 지원합니다.

단순한 코드 인덱싱 도구를 넘어, 아키텍처 분석·변경 영향 분석·학습 가이드 생성·도메인 관계 추출까지 수행한다는 점에서 기존 코드 탐색 도구와 차별화됩니다.

이번 글에서는 Understand-Anything의 핵심 개념과 주요 기능, 구조적 특징, 활용 방식까지 정리해봅니다.

반응형

Understand-Anything이란?

Understand-Anything은 멀티 에이전트 기반 분석 파이프라인을 활용해 코드베이스와 지식베이스를 인터랙티브 그래프로 변환하는 AI 플러그인입니다.

프로젝트 내의 파일, 함수, 클래스, 의존성을 자동 분석한 뒤 이를 시각적인 그래프로 구성해 개발자가 코드 구조를 빠르게 이해할 수 있도록 돕습니다.

특히 다음과 같은 환경에서 강점을 가집니다.

  • 대규모 레거시 프로젝트 분석
  • 신규 개발자의 온보딩
  • 변경 영향도 분석
  • 복잡한 아키텍처 탐색
  • 도메인 구조 시각화
  • 팀 단위 지식 공유

주요 기능

프로젝트 구조를 자동으로 지식 그래프로 변환

Understand-Anything은 프로젝트 전체를 분석해 구조적 그래프를 생성합니다.

그래프에는 다음 요소들이 노드 형태로 구성됩니다.

  • 파일
  • 함수
  • 클래스
  • 의존성 관계

개발자는 그래프를 통해 코드 간 연결 구조를 직관적으로 탐색할 수 있습니다.

또한 아키텍처 레이어별 컬러 코딩이 적용돼 레이어 구조를 시각적으로 구분할 수 있으며, 특정 노드를 클릭하면 다음 정보도 함께 확인 가능합니다.

  • 평문 요약
  • 관계 정보
  • 연결된 컴포넌트

복잡한 프로젝트 구조를 문서 없이 빠르게 이해해야 하는 상황에서 유용하게 활용할 수 있습니다.


구조적 그래프와 도메인 그래프를 함께 제공

Understand-Anything은 단순 코드 구조 분석만 수행하지 않습니다.

두 가지 관점의 그래프를 제공합니다.

구조적 그래프

코드 중심 관점입니다.

  • 파일 구조
  • 함수 호출 관계
  • 클래스 의존성
  • 모듈 연결 흐름

등을 분석합니다.

도메인 그래프

비즈니스 프로세스 중심 관점입니다.

코드 내부의 관계를 넘어 실제 서비스 도메인 흐름과 연결해 시각화합니다.

예를 들어 다음과 같은 흐름을 도메인 단위로 파악할 수 있습니다.

  • 주문 처리 흐름
  • 사용자 인증 프로세스
  • 데이터 처리 파이프라인

즉, “코드가 어떻게 연결돼 있는가”뿐 아니라 “비즈니스적으로 어떤 역할을 하는가”까지 함께 분석할 수 있습니다.


LLM 기반 위키 분석 기능

Understand-Anything은 /understand-knowledge 기능을 통해 위키 형태의 지식베이스도 분석할 수 있습니다.

특히 Karpathy 패턴 기반 LLM 위키를 분석해 다음 요소를 자동 추출합니다.

  • 위키 링크
  • 카테고리
  • 암묵적 관계
  • 엔티티 정보

이후 이를 force-directed 그래프로 변환해 시각적으로 표현합니다.

단순 키워드 연결이 아니라 LLM 에이전트가 의미 기반 관계를 해석해 연결하기 때문에 더 풍부한 지식 탐색이 가능합니다.


퍼지 검색과 시맨틱 검색 지원

Understand-Anything은 단순 문자열 검색을 넘어 의미 기반 검색도 지원합니다.

즉, 함수명이나 파일명을 정확히 기억하지 못하더라도 관련 개념을 기반으로 탐색할 수 있습니다.

예를 들어:

  • “인증 관련 처리”
  • “결제 실패 로직”
  • “캐시 갱신 흐름”

같은 개념 중심 검색이 가능합니다.

이는 대규모 프로젝트에서 코드 탐색 시간을 크게 줄이는 데 도움이 됩니다.


변경 영향 분석 기능

/understand-diff 기능은 커밋 전 변경 영향 분석을 수행합니다.

특정 코드 수정이 어떤 영역까지 영향을 줄 수 있는지 리플 이펙트(Ripple Effect)를 시각적으로 분석합니다.

이를 통해 다음과 같은 활용이 가능합니다.

  • 예상치 못한 사이드 이펙트 방지
  • 리팩터링 안정성 검토
  • 배포 전 영향 범위 점검
  • 코드 리뷰 보조

복잡한 의존성이 얽힌 프로젝트일수록 이 기능의 가치가 커집니다.


코드 학습 순서를 자동 생성

Understand-Anything은 단순 분석 도구가 아니라 학습 가이드 역할도 수행합니다.

가이드 투어 기능은 의존성 순서를 기준으로 아키텍처 워크스루를 자동 생성합니다.

즉, 어떤 순서로 코드를 읽어야 이해하기 쉬운지 자동 안내합니다.

특히 다음 상황에서 효과적입니다.

  • 신규 입사자 온보딩
  • 오픈소스 프로젝트 학습
  • 대규모 레거시 분석
  • 팀 간 코드 인수인계

복잡한 프로젝트일수록 “어디부터 봐야 하는가”가 중요한데, 이를 자동으로 해결해주는 것이 특징입니다.


페르소나 기반 적응형 UI

Understand-Anything은 사용자 유형에 따라 대시보드 상세 수준을 자동 조정합니다.

지원 대상 예시는 다음과 같습니다.

  • 주니어 개발자
  • PM
  • 파워 유저

예를 들어 주니어 개발자에게는 상세 설명과 학습 중심 정보를 제공하고, 숙련 개발자에게는 구조 중심 정보를 강조하는 방식입니다.

하나의 분석 결과를 다양한 사용자 관점에 맞춰 활용할 수 있다는 점이 흥미로운 부분입니다.


코드 패턴을 맥락과 함께 설명

도구는 코드 내에서 발견된 프로그래밍 패턴도 자동 식별합니다.

지원 예시는 다음과 같습니다.

  • 제네릭
  • 클로저
  • 데코레이터
  • 기타 총 12개 패턴

단순히 “이 패턴이 사용됐다”는 수준이 아니라, 실제 코드 위치와 함께 어떤 맥락에서 사용됐는지를 설명합니다.

이는 코드 리뷰나 학습 자료로도 활용 가능성이 높습니다.


멀티 에이전트 기반 구조

Understand-Anything은 여러 전문 에이전트가 역할을 분리해 동작합니다.

구성 예시는 다음과 같습니다.

  • project-scanner
  • file-analyzer
  • architecture-analyzer
  • tour-builder
  • graph-reviewer
  • 도메인 분석 에이전트
  • 위키 분석 에이전트

특히 파일 분석기는:

  • 최대 5개 동시 처리
  • 배치당 20~30개 파일 분석
  • 증분 업데이트 지원

기능을 제공합니다.

즉, 전체 프로젝트를 매번 다시 분석하지 않고 변경된 부분만 반영할 수 있습니다.


팀 단위 공유 기능

생성된 지식 그래프는 JSON 형태로 저장됩니다.

따라서 한 번 생성한 그래프를 팀 전체가 공유할 수 있습니다.

또한 --auto-update 옵션을 활용하면 post-commit 훅과 연동해 커밋마다 그래프를 자동 동기화할 수 있습니다.

이를 통해 코드 문서화와 아키텍처 최신 상태 유지 부담을 줄일 수 있습니다.


다양한 AI 코딩 플랫폼 지원

Understand-Anything은 다음과 같은 다양한 AI 코딩 플랫폼과 연동 가능합니다.

  • Claude Code
  • Codex
  • Cursor
  • Copilot
  • Gemini CLI
  • OpenCode
  • Pi Agent

등 총 10개 플랫폼을 지원합니다.

특정 환경에 종속되지 않는 점도 장점 중 하나입니다.


기본 사용 방법

Understand-Anything은 명령어 기반으로 사용할 수 있습니다.

프로젝트 분석 시작

/understand

프로젝트 전체를 분석하고 그래프 생성을 시작합니다.

대시보드 실행

/understand-dashboard

웹 기반 대시보드를 실행해 그래프를 시각적으로 탐색할 수 있습니다.

지식베이스 분석

/understand-knowledge

위키 및 문서 기반 지식 구조를 분석합니다.

변경 영향 분석

/understand-diff

커밋 전 변경 영향도를 분석합니다.


Understand-Anything의 핵심 가치

Understand-Anything의 가장 큰 특징은 “코드를 읽는 경험” 자체를 바꾸려는 접근에 있습니다.

기존 코드 분석 도구가:

  • 검색
  • 의존성 탐색
  • 정적 분석

수준에 머물렀다면,

Understand-Anything은:

  • 구조 이해
  • 도메인 이해
  • 학습 가이드
  • 변경 영향 분석
  • 의미 기반 탐색

까지 통합적으로 제공합니다.

특히 AI 에이전트를 활용해 코드와 지식을 함께 연결한다는 점이 기존 도구들과의 가장 큰 차별점이라고 볼 수 있습니다.


728x90

대규모 코드베이스를 이해하는 일은 단순히 파일을 읽는 문제가 아닙니다. 구조를 파악하고, 의존성을 이해하고, 비즈니스 흐름과 연결해서 해석해야 비로소 전체 그림이 보이기 시작합니다.

Understand-Anything은 이런 과정을 인터랙티브 그래프 기반 경험으로 전환하려는 시도를 보여주는 도구입니다.

특히 다음과 같은 환경에서 높은 활용 가능성을 보여줍니다.

  • 복잡한 레거시 시스템 운영
  • 신규 개발자 온보딩
  • AI 기반 코드 탐색
  • 팀 단위 아키텍처 공유
  • 대규모 프로젝트 분석 자동화

앞으로 AI 기반 개발 도구가 단순 코드 생성 단계를 넘어 “코드를 이해하는 플랫폼” 방향으로 진화하고 있다는 점에서도 흥미로운 사례라고 볼 수 있습니다.

300x250

https://github.com/Lum1104/Understand-Anything

 

GitHub - Lum1104/Understand-Anything: Graphs that teach > graphs that impress. Turn any code, or knowledge base (Karpathy LLM wi

Graphs that teach > graphs that impress. Turn any code, or knowledge base (Karpathy LLM wiki), into an interactive knowledge graph you can explore, search, and ask questions about. Works with Cl...

github.com

728x90
반응형
그리드형