본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 06. 08:00

Copilot을 위한 Clojure 도구

요약

이 문서는 VS Code의 Calva 확장 기능을 활용하여 AI 보조 프로그램(예: GitHub Copilot)이 Clojure REPL 환경을 효과적으로 사용할 수 있도록 돕는 'Backseat Driver' 도구 세트를 소개합니다. 이 확장은 코드 평가, 구조적 편집, 심볼 정보 조회 등 다양한 도구를 제공하며, AI가 인터랙티브한 Clojure 개발 과정을 지원하도록 설계되었습니다. 이를 통해 AI 에이전트는 단순히 코드를 제안하는 것을 넘어, REPL을 통한 실시간 실행 결과를 활용하고, 특정 Clojure 문법 및 라이브러리 정보를 참조하여 더욱 정교하고 맥락에 맞는 도움을 제공할 수 있습니다.

핵심 포인트

  • AI 보조 도구(Copilot)가 Clojure의 인터랙티브 개발 환경(REPL)을 활용하도록 확장합니다.
  • 주요 기능으로는 코드 평가, 구조적 편집(삽입/대체), 심볼 정보 조회 및 공식 문서 검색 등이 포함됩니다.
  • Backseat Driver는 AI 에이전트에게 REPL 결과 크기 제한 및 구조적 편집 스킬 등 세부 설정을 제공하여 안정성을 높입니다.
  • 효과적인 사용을 위해서는 Clojure의 개발 철학과 REPL 활용 방법론에 대한 지침(Instructions) 설정이 중요합니다.

Copilot 을 위한 Clojure 도구

(또는 다른 AI harness 사용자를 위한 MCP Server)

Clojure 관련 Copilot 플러그인, 스킬, 에이전트, 지침, 훅, 프롬프트 등을 호스팅하는 저장소를 제공하는 Awesome Backseat Driver 를 참조하세요.

VS Code 의 Calva (VS Code 의 Clojure/ClojureScript 확장) 에 대한 언어 모델 확장으로, AI 보조 프로그램이 REPL 의 힘을 활용하게 합니다.

이 확장은 VS Code Language Model API 를 사용하여 Copilot 에 직접 노출되며, 또한 MCP 서버를 통해 모든 AI 보조 프로그램/에이전트를 지원합니다.

  • 도구:
    Evaluate Code: Clojure REPL 에 대한 접근을 통해 임의로 코드를 평가할 수 있습니다.
    Create Clojure File: 자동 중괄호 균형을 맞추며 Clojure 파일을 생성합니다.
    Append Code: 자동 중괄호 균형을 맞추며 Clojure 파일에 코드를 추가합니다.
    Replace Top Level Form: 포맷팅, 중괄호 균형 및 리터닝을 포함한 구조적 편집입니다.
    Insert Top Level Form: 포맷팅, 중괄호 균형 및 리터닝을 포함한 구조적 편집입니다.
    Bracket Balancer: Parinfer 를 사용하여 모델을 중괄호 균형을 올바르게 맞추는 데 도움을 줍니다.
    Load File: Calva 의 연결된 REPL 를 통해 전체 Clojure 파일을 로드/평가합니다.
    Symbol info lookup: AI 는 관심 있는 기호를 조회할 수 있으며, 문서 문자열, 인자 정보 등을 얻을 수 있습니다.
    clojuredocs.org lookup: Clojure core-ish 기호에 대한 문서, 예제 및참조정보를 제공합니다.
  • 리소스:
    Symbol info lookup: (약간의 실험성) 도구와 동일합니다.
    clojuredocs.org lookup: (약간의 실험성) 도구와 동일합니다.
    Skills: resources/list 를 통해 발견 가능한 전문화된 지침이며, resources/read 를 통해 읽을 수 있습니다.

편집 도구에 대한 검토 UI 는 제공하지 않습니다. AI 편집 활동을 검토하려면 소스 제어 도구를 사용하는 것을 권장합니다.

Backseat Driver 는 Copilot 에 Clojure 인터랙티브 프로그래밍을 위한 도구와 도구를 사용하는 스킬을 제공합니다. Copilot 이 어떻게 Clojure 와 REPL 을 유지하는지 통제할 수 있도록, 확장은 Clojure 지식, 철학 또는 REPL 방법론에 대해 많이 제공하지 않습니다.

Copilot 이 효과적으로 작동하려면 Clojure 를 작성하는 선호도와 REPL 을 효과적으로 사용하는 방법을 알아야 합니다.

빈칸을 시작하여 Clojure 에 대한 잘못된 학습 데이터와 환각이 하루를 망친다고 생각하기 전에, clojure Copilot 플러그인을 Awesome Backseat Driver 저장소에서 설치하세요. 해당 저장소의 README 에 몇 가지 지침이 있습니다.

대형 REPL 평가 결과가 에이전트의 컨텍스트 윈도우를 압도하지 않도록, Backseat Driver 는 반환된 결과의 크기를 자동으로 제한합니다:

calva-backseat-driver.evaluation.maxLength
(기본값 25)
— 컬렉션에 표시할 최대 항목 수. 길이를 제한하지 않으려면 0 을 사용하세요.
calva-backseat-driver.evaluation.maxDepth
(기본값 7)
— 최대 중첩 깊이; 더 깊은 구조는 ## 로 대체됩니다. 깊이를 제한하지 않으려면 0 을 사용하세요.

Backseat Driver 는 AI 에이전트에 스킬 2 개를 제공합니다:

calva-backseat-driver.provideBdSkill
(기본값 true)
— 에이전트에 Backseat Driver 스킬을 제공
calva-backseat-driver.provideEditSkill
(기본값 true)
— 에이전트에 Clojure 구조적 편집 스킬을 제공

Top level form 을 삽입 및 교체하는 구조적 편집 도구는 두 가지 Backseat Driver 편집 설정을 준수합니다:

calva-backseat-driver.editor.fuzzyLineTargetingPadding
(기본값 2)

— 요청된 줄의 양쪽에서 AI 가 타겟 텍스트를 매칭할 때 스캔할 수 있는 줄의 개수. 더 큰 리팩토링 중 형식이 움직일 경우 이를 높여주세요; 0으로 설정하여 정확한 줄을 타겟팅합니다.Trade-off: 값이 높으면 줄의 이동은 허용되지만, 에이전트의 버퍼가陈旧 (stale) 일 때 근처에 비슷한 형식을 매칭할 위험이 높아집니다.

calva-backseat-driver.editor.lineContextResponsePadding

(default 10)
— 타겟팅 실패 시 반환되는 문제 해결 스니펫에 포함되는 요청된 줄 양쪽의 줄의 개수. 응답을 짧게 유지하기 위해 이를 줄이거나, 더 많은 주변 컨텍스트를 위해 높여주세요.Trade-off: 값이 크면 에이전트에게 재시도 (retry) 를 위한 단서가 더 많이 제공되지만, 집중된 스니펫을 보내는 것과 비교하여 추가 토큰 (또는 시간) 을 비용으로 할 수 있습니다.

참고: Backseat Driver 를 MCP 서버로 구성

  • VS Code

  • Calva

  • Calva Backseat Driver

  • GitHub Copilot (또는 일부 MCP 준수 보조 도구)

  • AI 에 Clojure 와 REPL discipline 을 가르쳐주세요. 예를 들어, 참고: Copilot Instructions

  • Calva 를 Clojure/ClojureScript 프로젝트에 연결하세요.

  • Copilot 에 도움을 요청하세요. "Please use the REPL to investigate ..." 라고 말하면 무엇을 의미하는지 알 것입니다.

  • 올바른 REPL 세션을 찾는 방법과 그것을 사용하는 방법을 알 것입니다.

  • Calva 를 터미널에서 REPL 출력을 사용하고 출력 터미널을 모니터링하여 REPL 에서 무엇을 시도하는지 확인하세요.

이것은 매우 잘 작동하며, 또한 병렬 서브 에이전트와 함께 작동합니다. 다음과 같은 것을 시도해보세요:

  • "Please task three parallel subagents to use the REPL to investigate how to implement ..."

  • REPL 출력은 당신과 에이전트에게 누가 무엇을 시도하는지 보여줍니다.

  • 당신은 REPL 파티에 참여할 수 있습니다.

참고

사용하는 모델이 강하면 결과가 더 좋습니다. 이 작성 시점에서, Claude Opus 4.6 은 Backseat Driver 와 Clojure 를 사용하는 방법을 이해하는 데 가장 좋습니다.

모든 도구는 # 을 붙여 채팅에서 참조할 수 있습니다. 예를 들어 #clojure-eval

Copilot 은 MCP 가 필요하지 않지만, 다른 AI harness 에서는 Calva Backseat Driver 는 Model Context Protocol (MCP) 를 구현하여 AI 보조 도구와 REPL 사이에 다리를 만듭니다.

Backseat Driver 를 보완하거나 대신 사용할 수 있는 프로젝트/도구:

  • Clojure MCP - Bruce Hauman 의 견해. 우리가 AI 없이 할 수 없는 코드보다 더 유지 가능한 코드를 생성하기 위해 AI 를 사용하는 데 매우 포괄적인 도구, 리소스, 프롬프트 및 에이전트 세트.
  • nREPL MCP Server, 실행 중인 nREPL 서버에 연결하고 코드를 평가 (및 더 많은 것) 할 수 있는 AI 도구를 제공합니다.
  • Babashka AI Coding Tools, Clojure 테스트 러너를 위한 AI 에이전트.

우리가 모두 그렇듯, 저는 AI 를 사용하고 하나씩 알아가는 중입니다. 전체 공간이 제가 배우는 속도로 더 빠르게 움직이는 동안입니다. Backseat Driver 는 제로 구성으로 사용할 수 있는 강력한 AI 도구를 Clojure 개발자에게 제공하는 데 저의 최선의 노력이자 노력입니다.

Backseat Driver 의 기본 설계가 시간이 지남에 따라 작동하고 유용하게 입증되었습니다. 하지만 저는 새로운 것을 배우면서 점진적으로 개선해 왔습니다. 많은 것은 사용자들이 가르쳐주었습니다.

Backseat Driver 를 어떻게 하는지, 그리고 어떤 기능을 원하시는지 알려주세요. 🙏

기여는 환영합니다! 이슈, PR, Whatever. PR 전에 해결하려는 문제를 명시하는 이슈를 선호합니다. 작업 시작하기 전에 문제를 논의하기 위해 연락할 수도 있습니다.

저의 작업을 이 링크를 사용하여 장려할 수 있습니다:

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0