4P by GN⁺ | ★ favorite | 댓글 1개
  • Tabby는 GitHub Copilot의 오픈소스·온프레미스 대안으로 제공되는 자체 호스팅 AI 코딩 어시스턴트이며, 클라우드 서비스 없이 운영하는 흐름을 목표로 함
  • 서버는 DBMS나 클라우드 서비스가 필요 없는 자체 포함형 구성을 내세우며, OpenAPI 인터페이스로 Cloud IDE 같은 기존 인프라와 통합하기 쉽게 설계됨
  • 실행 환경은 소비자급 GPU를 지원하며, Docker 명령 하나로 StarCoder-1B 코드 모델과 Qwen2-1.5B-Instruct 채팅 모델을 사용해 서버를 띄울 수 있음
  • 최근 업데이트에는 GitLab Merge Request를 컨텍스트로 인덱싱하는 v0.30, REST API로 자체 문서를 추가하는 v0.29, 공유 가능한 Pages로 Answer Engine 메시지를 바꾸는 v0.28 등이 포함됨
  • IDE/Editor 확장, 설치, 설정 문서와 기여 가이드가 제공되며, Rust 환경과 일부 의존성을 준비하면 cargo build로 직접 빌드할 수 있음

Tabby의 역할과 기본 특징

  • Tabby는 자체 호스팅 AI 코딩 어시스턴트로, GitHub Copilot의 오픈소스 및 온프레미스 대안임
  • 주요 특징은 세 가지로 정리됨
    • 자체 포함형이라 DBMS나 클라우드 서비스가 필요 없음
    • OpenAPI 인터페이스를 제공해 Cloud IDE 같은 기존 인프라와 통합하기 쉬움
    • 소비자급 GPU를 지원함
  • 프로젝트는 문서, Slack, 로드맵 링크를 제공함
  • 라이브 데모는 Tabby 웹사이트에서 열 수 있음

최근 변경 사항

  • 2025-12-12: GitHub 이슈를 Pochi 작업에 연결해 구현하고, 사이드바에서 CI/Lint/Test 결과 분석과 함께 PR을 만들 수 있는 vscode@0.20.0이 제공됨
  • 2025-07-02: v0.30이 GitLab Merge Request를 컨텍스트로 인덱싱하는 기능을 지원함
  • 2025-05-25: Agent 비공개 프리뷰 대기열 참여 안내가 제공됨
  • 2025-05-20: v0.29에서 REST API를 통해 자체 문서를 Tabby에 추가할 수 있음
  • 2025-05-01: v0.28이 Answer Engine 메시지를 지속적이고 공유 가능한 Pages로 변환함
  • 2025-03-31: v0.27이 채팅 사이드 패널의 @ 메뉴를 더 풍부하게 제공함

이전 업데이트에서 드러나는 기능 범위

  • Answer Engine은 v0.13.0에서 내부 엔지니어링 팀을 위한 중앙 지식 엔진으로 소개됐으며, 개발팀 내부 데이터와 통합해 답변을 제공함
  • Tabby는 GitLab SSO, 자체 호스팅 GitHub/GitLab, HTTP API 통합, Code Browser의 repo-context 같은 통합·설정 기능을 추가해 왔음
  • IDE 플러그인 흐름에는 VSCode/Vim/IntelliJ 업데이트, VSCode 채팅 사이드 패널, 채팅 명령을 통한 편집, 인라인 완성의 여러 선택지, 자동 생성 커밋 메시지가 포함됨
  • 코드 완성은 로컬 LSP 선언과 최근 수정된 코드 같은 로컬 관련 스니펫을 활용하며, v0.3.0에서는 RAG 기반 코드 완성이 기본 활성화됐음
  • 모델 지원 측면에서는 CodeGemma, CodeQwen, Codestral, CodeLlama 7B 실험 지원, Apple M1/M2 Metal 추론 지원 등이 언급됨

시작 방법과 실행 예시

docker run -it \
  --gpus all -p 8080:8080 -v $HOME/.tabby:/data \
  tabbyml/tabby \
  serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
  • 추가 옵션은 추론 타입과 병렬성 같은 설정을 포함하며, 별도 문서 페이지에서 확인할 수 있음

기여와 빌드

  • 전체 기여 가이드는 CONTRIBUTING.md에 있음
  • 소스 코드는 서브모듈까지 함께 클론함
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
  • 이미 저장소를 클론했다면 git submodule update --recursive --init 명령으로 모든 서브모듈을 가져올 수 있음
  • 빌드 전 준비 사항은 다음과 같음
    • Rust 환경 설정
    • macOS: brew install protobuf
    • Ubuntu/Debian: apt install protobuf-compiler libopenblas-dev
    • Ubuntu 유용 도구: apt install make sqlite3 graphviz
  • 준비가 끝나면 cargo build로 Tabby를 빌드할 수 있음
  • 기여 흐름은 변경 후 Pull Request 제출로 이어짐

댓글과 토론

Hacker News 의견들
  • 홈페이지의 findMaxElement 함수 완성 데모는 앞으로 올 모습, 어쩌면 이미 현재 상태를 잘 보여주는 예시 같음
    그 함수에 제안된 Python 6줄은 그냥 return max(arr)로 대체 가능하고, 동작은 하지만 완전히 주니어 수준 코드
    이런 끔찍한 코드 자체도 무섭지만, 이를 맹목적으로 자동완성하는 사람들이 실력 성장을 멈출 것 같아 더 걱정됨
    스토리 포인트는 벌 수 있겠지만, 실제로 개발자로서 더 나아졌는지는 의문임

    • 이건 자기 보정될 문제라고 봄. 이 정도 품질의 코드는 제품으로 내보낼 수 없고, 결국 테스트를 통과하려면 LLM이 못 해주는 마지막 20~30%의 세부사항을 이해해야 함
      그런데 그 20%를 이해하려면 LLM이 처리한 80%도 이해해야 하므로, LLM이 배포까지 대신하진 못한다는 점에서 크게 걱정하지 않음
    • 반대로 이게 다음 단계의 추상화 계층이 될 수도 있음
      기계어 → 어셈블리 → C → Python → LLM(자연어)처럼, 사람의 프롬프트를 Python 같은 중간 코드로 컴파일하는 셈임
      CPython 초기 버전도 완벽하지 않았을 테고 엔지니어들도 불안했을 것임. 운이 좋다면 이 새 “컴파일러”도 점점 더 좋아지고 효율적이 되겠지만, 완벽하진 않을 것임
      그래도 사람들이 어셈블리를 직접 다루지 않는 대가를 이미 치르고 있는 것과 비슷한 비용을 내게 될 수 있음
    • Cursor 제안을 받을 때 거의 매번 이어서 “더 나은 방법이 있나?”라고 물어보는 게 과소평가된 습관임
    • 예전에는 뭔가를 알고 있었음. Google이 생긴 뒤엔 그냥 찾아봤지만, 그래도 직접 할 수는 있었음
      이제 AI가 생겨서 대신 해달라고 물어보게 됐고, 결국 아는 것도 없고 할 수 있는 것도 없어짐
    • 그 예시는 그 코드를 홈페이지 데모로 고른 회사 판단을 더 많이 보여주는 것 같음
  • 우리 프로젝트가 일요일에 HN 첫 페이지에 오를 줄은 몰랐음
    Tabby는 2년 전 출시 이후 크게 발전했고 https://www.tabbyml.com, 이제 코드 완성과 코드베이스 채팅을 갖춘 종합 AI 개발자 플랫폼이 됐음
    팀/엔터프라이즈 용도에 맞춰 SSO, 접근 제어, 사용자 인증도 지원함 https://demo.tabbyml.com/search/how-to-add-an-embedding-api-...
    도입한 사용자들은 Tabby가 온프레미스 제공 방식에서 완전한 셀프서비스 온보딩을 제공하는 유일한 플랫폼이라는 점을 발견했고, 성능도 시장의 다른 선택지와 견줄 만하니 궁금하면 시도해보길 권함
    https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
    https://www.linkedin.com/posts/kelvinmu_last-week-i-introduc...

    • MSVC용 플러그인이 있는지 궁금함
    • Nvidia와 Apple에서만 호환되나? AMD GPU에서도 동작하는지 궁금함
  • 로컬 AI를 잘 모르지만 써보고 싶은 입장에서, “run tabby in 1 minute” https://github.com/TabbyML/tabby#run-tabby-in-1-minute가 예를 들어 ChatGPT 무료 4o-mini와 비교해 어떤 수준인지 궁금함
    중간 사양 MacBook Pro에서 아래 Docker 명령을 실행하면 속도와 능력이 비슷한 AI를 쓸 수 있는지, 아니면 아직 그 정도는 아닌지 알고 싶음
    docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
    보니 MacBook용 별도 안내 페이지가 있고 문맥이 더 있음 https://tabby.tabbyml.com/docs/quick-start/installation/appl...
    “M1/M2의 연산 능력은 제한적이라 개인 사용에는 충분할 수 있지만, 팀용 공유 인스턴스가 필요하면 CUDA나 ROCm 기반 Docker 호스팅을 고려하라”고 되어 있음

    • gpt-4o-mini는 코드에서 좋은 LLM이 무엇을 할 수 있는지 판단하는 기준으로는 최선이 아닐 수 있음: https://aider.chat/docs/leaderboards/#aider-polyglot-benchma...
      1.5B 같은 아주 작은 모델은 꽤 멍청해서 대화형으로 코드를 생성하는 데는 좋지 않지만, 3B 이하 모델도 탭 완성 제안은 꽤 잘할 수 있음
      로컬에서 돌릴 수 있는 더 큰 “오픈” 모델도 있고, 32B~70B 범위 모델은 코드 작성 포함 거의 모든 면에서 gpt-4o-mini보다 훨씬 나을 수 있음. 예를 들면 llama3.3-70b-instructqwen2.5-coder-32b-instruct가 꽤 괜찮음
      RAM이 정말 부족하면 qwen2.5-coder-7b-instructcodegemma-7b-it도 간단한 작업에는 쓸 만할 수 있음
      “중간 사양 MacBook Pro”라는 표현만으로는 부족하고, RAM이 얼마나 되는지가 중요함. 경험칙으로 매개변수 1B당 약 1GB RAM이 필요함
      강하게 양자화하면 500MB, 비양자화 모델은 2GB 정도지만, 8비트 양자화는 보통 1GB 정도이고 대체로 괜찮음
    • 부가 질문으로, 오픈소스 모델은 비공개 모델보다 덜 “똑똑한” 경향이 있는데, 관련 기술 문서를 질의해 문맥에 넣는 식으로 더 나은 컨텍스트를 제공해 보완할 계획이 있는지 궁금함
  • “IDE / 확장 telemetry 토글”이 Community Edition에서는 꺼지지 않음. 이 원격 측정 데이터에 무엇이 들어가는지 궁금함

  • 비슷한 용도로 Continue.dev와 ollama를 쓰고 있는데, 이 분야에 도구가 더 늘어나는 건 늘 반가움
    다만 평소처럼 실제로 좋은 모델, 예를 들면 Qwen2.5-coder 32B를 돌리려면 꽤 강력한 하드웨어가 필요함

  • 예시들이 전부 원래는 라이브러리에서 찾을 법한 코드이고, 일부 코드는 품질도 의심스러움
    LLM은 코드베이스용 스팸 봇이 되는 건가?

  • “여러 NVIDIA GPU를 활용하는 방법”에 따르면 Tabby는 단일 GPU만 지원하고, 여러 GPU를 쓰려면 Tabby 인스턴스를 여러 개 띄운 뒤 CUDA는 CUDA_VISIBLE_DEVICES, ROCm은 HIP_VISIBLE_DEVICES를 설정하라고 되어 있음
    그렇다면 NVLink로 연결된 GPU 2개를 추론에 쓰는 건 지원하지 않는 건지, 아니면 NVLink가 두 GPU를 하나처럼 다루므로 다른 상황인지 궁금함

  • 멋진 프로젝트임. 큰 회사에 데이터를 보내고 약관을 믿어야 하지 않는다는 아이디어가 특히 마음에 듦
    코딩 어시스턴트의 효과는 컨텍스트 길이에 직접 비례하는데, 개인 컴퓨터에서 돌릴 수 있는 오픈 모델은 보통 훨씬 작음
    더 복잡한 코드베이스에서 얼마나 유용한지 정량화한 자료가 있으면 좋겠음

    • 100% 로컬 코딩 어시스턴트가 널리 퍼지길 바라지만, 지금은 “$10K+ GPU에서 가장 잘 동작”이라는 권장이 걸림돌이라 결국 큰 회사를 쓸 수밖에 없음
  • 권장 하드웨어가 궁금함. GPU가 필요한가? 오래된 Ryzen APU(Zen 3와 Vega 7 그래픽)에서도 괜찮게 돌아갈 수 있을까?

    • 자체 호스팅 LLM의 일반적인 병목은 메모리 대역폭
      내장 그래픽이 있든 없든 큰 차이는 없고, CPU만으로 돌리면 모델은 똑같이 매우 느리게 실행됨
      Mac이 LLM에 그럭저럭 괜찮은 이유는 Apple Silicon의 메모리 대역폭이 특이하게 높기 때문이지만, 매우 빠른 VRAM을 갖춘 고급 GPU 속도에는 한참 못 미침
      탭 완성에 쓰는 아주 작은 모델이라면 오래된 AMD CPU도 아마 괜찮게 처리할 수 있음
    • 3090으로 로컬 구성한 예시는 https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ에서 볼 수 있음
  • 아주 멋짐. 특히 Eclipse 클라이언트가 있어서 반가움 https://github.com/TabbyML/tabby/tree/3bd73a8c59a1c21312e812...
    다만 Eclipse 클라이언트 정보를 찾으려면 좀 뒤져야 했음. 메인 README에도, 문서의 IDE 확장 목록에도 없었음
    단순 누락인지, 아직 “본격 공개”할 준비가 안 된 건지는 모르겠음