Databricks LLM 모델을 위한 Claude Code 백엔드 에뮬레이션 (MCP, Git 도구, Prompt Caching 포함)

발행: (2025년 12월 4일 오후 03:40 GMT+9)
8 min read
원문: Dev.to

Source: Dev.to

소개

Claude Code는 레포 인식 AI 워크플로우 중 가장 좋아하는 도구 중 하나가 되었습니다. 코드베이스를 이해하고, 파일을 탐색하며, diff를 요약하고, 도구를 실행하고, Git과 통합까지—all을 간단한 CLI로 수행합니다.

문제점: 공식 Claude Code 백엔드는 Anthropic이 호스팅하는 모델에서만 작동합니다. Databricks가 호스팅하는 Claude 모델을 사용하거나 Azure의 Anthropic 엔드포인트를 통해 요청을 라우팅하고, 로컬 도구와 Model Context Protocol (MCP) 서버를 추가하고, 프롬프트 캐싱을 활성화하거나 실험을 위해 자체 백엔드를 실행하고 싶다면 방법이 없습니다.

해결책: Lynkr, 자체 호스팅 Claude Code 호환 프록시.
GitHub:

Lynkr가 하는 일

Lynkr는 HTTP 프록시로서:

  • Claude Code 백엔드를 에뮬레이트합니다.
  • 요청을 Databricks 또는 Azure Anthropic으로 전달합니다.
  • 워크스페이스 도구, Git 헬퍼, 프롬프트 캐싱, MCP 서버를 연결합니다.

기존 Claude Code CLI를 그대로 사용하되, 백엔드 주소만 자신의 Lynkr 인스턴스로 지정하면 됩니다:

Claude Code CLI → Lynkr → Databricks / Azure Anthropic / MCP tools

핵심 기능

Provider 어댑터

  • 두 가지 업스트림 제공자를 기본 지원: Databricks(기본)와 Azure Anthropic.
  • 요청을 정규화하여 CLI가 표준 Claude‑style 응답을 받도록 합니다.

레포 인텔리전스

  • 워크스페이스의 경량 SQLite 인덱스를 구축하여 다음을 캡처합니다:
    • 심볼 정의 및 참조
    • 프레임워크 및 의존성 힌트
    • 언어 혼합 감지
    • Lint/테스트 설정 탐색
  • 모델에 프로젝트 구조화된 컨텍스트를 제공하는 CLAUDE.md 요약을 생성합니다.

Git 워크플로 통합

  • Claude Code와 유사한 Git 헬퍼:
    • status, diff, stage, commit, push, pull
    • Diff 리뷰 요약
    • 릴리즈 노트 생성
  • 정책 가드(환경 변수):
    • POLICY_GIT_ALLOW_PUSH
    • POLICY_GIT_REQUIRE_TESTS
    • POLICY_GIT_TEST_COMMAND

프롬프트 캐싱

  • 프롬프트 서명으로 키를 만든 로컬 LRU+TTL 캐시:
    • 반복 프롬프트 속도 향상
    • Databricks/Azure 토큰 사용량 감소
    • 동일한 분석 단계 재실행 방지
  • 도구 호출은 자동으로 캐시를 우회하여 안전하지 않은 부작용을 방지합니다.

MCP 오케스트레이션

  • MCP 매니페스트를 자동으로 발견하고, 서버를 실행하며, JSON‑RPC로 래핑하고, 모든 도구를 어시스턴트에 노출합니다.
  • 필요 시 Docker 샌드박스를 사용해 MCP 도구를 격리합니다.

워크스페이스 도구

  • 레포 인덱싱 및 심볼 검색
  • Diff 리뷰
  • 테스트 러너
  • 파일 I/O 유틸리티
  • SQLite에 저장되는 경량 작업 트래커(TODO)

완전 투명성

  • 모든 활동이 구조화된 Pino 로그로 기록됩니다:
    • 요청/응답 추적
    • 레포 인덱서 이벤트
    • 프롬프트 캐시 히트/미스
    • MCP 레지스트리 진단

아키텍처 개요

코드베이스는 의도적으로 작고 해킹하기 쉬운 구조로, 모든 파일이 src/ 아래에 위치합니다.

Lynkr 설치

전제 조건

  • Node.js 18+
  • npm
  • Databricks 또는 Azure Anthropic 인증 정보
  • (선택) Docker (MCP 샌드박싱용)
  • (선택) Claude Code CLI

설치 옵션

# npm에서
npm install -g lynkr

# Homebrew
brew tap vishalveerareddy123/lynkr
brew install lynkr

# 소스에서
git clone https://github.com/vishalveerareddy123/Lynkr.git
cd Lynkr
npm install

프록시 구성

업스트림 제공자(Databricks 또는 Azure Anthropic)와 필요한 정책 플래그에 맞는 환경 변수를 설정합니다. Azure Anthropic 예시:

export ANTHROPIC_API_KEY=your_key_here
export ANTHROPIC_ENDPOINT=https://anthropic.azure.com/anthropic/v1/messages
export PROVIDER=azure_anthropic

Claude Code CLI 연결

Lynkr를 로컬에서 실행(기본 포트 8080)하고 Claude Code가 이를 사용하도록 지정합니다:

lynkr start --port 8080

Claude Code에 프록시를 사용하도록 설정, 예:

export CLAUDE_CODE_ENDPOINT=http://localhost:8080

그 후 레포 안에서 기존처럼 CLI를 실행하면 모든 도구 호출, 채팅, diff, 탐색이 Lynkr를 통해 흐릅니다.

예시: 도구 호출

curl -X POST http://localhost:8080/v1/messages \
  -H "Content-Type: application/json" \
  -d '{
        "model": "claude-2.1",
        "messages": [{"role":"user","content":"Summarize the recent diff"}]
      }'

문제 해결 하이라이트

증상가능성 있는 원인해결 방법
경로 누락잘못된 도구 인수도구에 전달한 파일/경로를 확인하세요
Git 명령 차단POLICY_GIT_ALLOW_PUSH 미설정export POLICY_GIT_ALLOW_PUSH=true 로 설정
MCP 서버 미발견매니페스트 위치 없음워크스페이스 루트 또는 지정 경로에 MCP 매니페스트 파일이 있는지 확인
프롬프트 캐시 작동 안 함요청에 도구 사용 포함도구 호출은 자동으로 캐시를 우회합니다; 캐시 테스트 시 도구 호출을 제거
웹 fetch가 HTML 스캐폴딩 반환JS 실행 미지원HTML 페이지 대신 JSON API를 사용하세요

로드맵

  • 파일별 스레드형 diff 코멘트
  • diff 위험 점수화
  • 더 깊은 언어 이해를 위한 LSP 브리징
  • 선언형 “스킬” 레이어
  • 히스토리 커버리지 및 테스트 대시보드

왜 만들었는가

Claude Code UX가 마음에 들었지만 다음이 필요했습니다:

  • 완전 로컬 실행
  • Databricks와 Azure Anthropic 연결 가능
  • 커스텀 도구 및 MCP 서버
  • 내부 동작에 대한 완전 가시성
  • 플랫폼 제약 없이 빠른 실험

Databricks 또는 Azure에서 AI‑지원 개발을 탐색하고 백엔드에 더 많은 제어권을 원한다면 Lynkr가 도움이 될 수 있습니다.

GitHub:
기여, 아이디어, 이슈 모두 환영합니다.

Back to Blog

관련 글

더 보기 »