Product

go-modern-guidelines: AI 코딩 에이전트가 최신 Go를 쓰게 만드는 JetBrains 오픈소스

AI 코딩 에이전트에게 Go 코드를 시키면, 2020년식 패턴이 나온다. slices.Contains 대신 for-loop를 돌고, any 대신 interface{}를 쓴다. JetBrains의 go-modern-guidelines는 이 문제를 44개 진단 규칙으로 해결하는 오픈소스 프로젝트다. GitHub 2,300+ 스타.

Claude Code에게 Go 코드를 시키면, 문법적으로는 정확하지만 구식인 코드가 나오는 경우가 많다. Go 1.21에서 추가된 slices.Contains를 모르고 for-range 루프를 작성하거나, Go 1.22의 루프 변수 스코프 변경을 반영하지 못해 클로저 버그가 잠재된 코드를 생성한다. 원인은 두 가지다. 첫째, 모델의 학습 데이터에 최신 Go 문법이 부족하다(training data lag). 둘째, 모델이 최신 문법을 알더라도, 학습 데이터에서 더 많이 본 구식 패턴을 기본값으로 출력한다(frequency bias). JetBrains가 2025년 11월에 공개한 go-modern-guidelines는 이 두 문제를 직접 겨냥한다.

항목내용
레포JetBrains/go-modern-guidelines (Apache 2.0)
GitHub 스타2,300+ (2026년 8월 기준)
생성일2025년 11월 24일
진단 규칙44개 (13개 카테고리)
대상 Go 버전Go 1.21 ~ 1.27
지원 에이전트Junie, Claude Code, Cursor, Codex 외
자동 적용15개 규칙 (go fix 연동), 29개 수동

AI 코딩 에이전트가 구식 Go를 생성하는 이유는?

두 가지 구조적 원인이 있다. 첫째, 학습 데이터 지연(training data lag)(모델의 학습 컷오프 이후 추가된 Go 기능을 모른다. 둘째, 빈도 편향(frequency bias))최신 문법을 알더라도 학습 데이터에서 더 자주 본 구식 패턴을 기본으로 출력한다.

Go는 다른 언어에 비해 이 문제가 두드러진다. Go 1.21(2023년 8월)부터 1.27까지 매 릴리스마다 실용적인 표준 라이브러리 함수와 문법이 추가되었다. max(a, b), slices.Contains, maps.Keys, errors.AsType[T], sync.OnceFunc, WaitGroup.Go 등: 이 함수들을 쓰면 코드가 짧아지고, 버그가 줄고, 의도가 명확해진다. 하지만 AI 에이전트는 이 함수들이 존재한다는 것을 모르거나, 알더라도 구식 패턴을 선호한다.

go-modern-guidelines의 44개 규칙은 무엇을 다루는가?

13개 카테고리에 걸쳐 44개 진단 규칙을 제공한다. 영향도 기준으로 Critical 4개, High 13개, Medium 21개, Low 6개로 분류되며, 15개는 go fix로 자동 적용 가능하고, 29개는 수동 적용이 필요하다.

카테고리규칙 수대표 예시
Collections11slices.Contains, slices.Sort, maps.Keys (Go 1.21+)
Strings & Bytes4strings.CutPrefix, strings.SplitSeq
Loops2정수 range 문법 for i := range 10, 루프 변수 클로저 수정 (Go 1.22+)
Types2interface{} → any, 타입 안전 리플렉션
Error Handling2errors.Is, errors.As, errors.Join
Concurrency3WaitGroup.Go, sync.OnceFunc, typed atomics
Context4t.Context(), cancellation with cause
Testing1b.Loop() 벤치마크
JSON1omitzero (zero-value 처리 정확성)
HTTP1개선된 http.ServeMux 라우팅
기타5time.Since, fmt.Appendf, cmp.Or

핵심은 go.mod 파일에서 Go 버전을 자동 감지한다는 점이다. 프로젝트가 Go 1.21을 쓰고 있다면 Go 1.22 이상의 규칙은 적용하지 않는다. 프로젝트의 실제 버전에 맞는 규칙만 활성화되므로, 호환성 문제 없이 안전하게 사용할 수 있다.

어떤 AI 코딩 에이전트에서 사용할 수 있는가?

Junie(JetBrains AI), Claude Code, Cursor, Codex를 공식 지원한다. 레포 내에 각 에이전트별 플러그인/확장 디렉토리(.junie-extension, .claude-plugin, .cursor-plugin)가 포함되어 있어, 설치 후 해당 에이전트의 코딩 세션에 가이드라인이 자동 주입된다.

구조를 보면:

CLI 도구로도 독립 실행이 가능하다. Go 1.25 이상 환경에서 빌드하면 로컬 캐시 내에서 동작하며, 프로젝트 파일을 직접 수정하지 않는다. skills.sh 프레임워크를 통해 다른 에이전트에도 설치할 수 있다.

이 도구가 중요한 이유는: 에이전트에게 "무엇을 모르는지"를 알려주는 것

go-modern-guidelines의 본질은 단순한 린터가 아니다. AI 에이전트의 지식 갭(knowledge gap)을 명시적으로 메워주는 컨텍스트 주입 도구다. 이것은 AI 코딩 에이전트를 효과적으로 쓰기 위한 핵심 패턴이다.

Matt Pocock의 skills 레포가 에이전트에게 "어떻게 일할지"를 가르치는 행동 가이드라인이라면, go-modern-guidelines는 "무엇이 최신인지"를 가르치는 지식 가이드라인이다. 두 접근은 상호보완적이다. 행동 규칙(TDD로 작성하라, 코드 리뷰를 하라)과 지식 규칙(slices.Contains를 써라, interface{} 대신 any를 써라)이 함께 있어야 에이전트의 출력 품질이 올라간다.

이 접근이 Go에만 유효한 것은 아니다. Python의 match-case(3.10+), TypeScript의 satisfies 연산자(4.9+), Rust의 let-else(1.65+) 등: 모든 언어에서 학습 데이터 지연과 빈도 편향이 동일하게 발생한다. go-modern-guidelines는 Go에서 이 문제를 가장 체계적으로 해결한 첫 번째 사례이고, 다른 언어 커뮤니티도 같은 패턴을 따를 가능성이 높다.

실무에서 어떻게 도입하면 좋은가?

세 단계로 도입한다. 1단계: 레포를 클론하고 사용 중인 에이전트의 플러그인을 설치한다. 2단계: 기존 코드베이스에 CLI를 돌려 현재 프로젝트의 현대화 대상을 파악한다. 3단계: CI 파이프라인에 통합해 PR마다 자동 검사한다.

  1. 플러그인 설치: Claude Code 사용자라면 .claude-plugin 디렉토리의 가이드를 따른다. Cursor나 Junie도 각자의 확장 디렉토리에 설치 가이드가 있다
  2. 기존 코드 스캔: CLI를 돌리면 프로젝트의 go.mod 버전을 읽고, 해당 버전에서 사용 가능한 최신 패턴 중 누락된 것을 리포트한다. 15개 규칙은 go fix로 자동 적용, 나머지 29개는 리포트 기반 수동 수정
  3. CI 통합: PR이 올라올 때마다 자동으로 현대화 체크를 돌리면, AI 에이전트가 생성한 코드든 사람이 작성한 코드든 동일한 기준으로 검사할 수 있다

AI 코딩 에이전트는 "동작하는 코드"를 빠르게 만들어준다. 하지만 "좋은 코드"와 "동작하는 코드" 사이에는 간극이 있다. go-modern-guidelines는 그 간극을 44개의 구체적인 규칙으로 메우는 도구다. 에이전트가 최신 Go 이디엄을 알도록 만들어주는 것, 이것이 AI 코딩 에이전트를 실무 수준으로 끌어올리는 가장 실용적인 접근이다. Matt Pocock의 AI 스킬 시스템이 에이전트의 "행동 방식"을 정의한다면, go-modern-guidelines는 에이전트의 "지식 수준"을 업데이트한다. 둘 다 갖춰야 에이전트는 주니어가 아니라 시니어처럼 코드를 쓴다. 검증 에이전트(LLM-as-a-Judge)까지 결합하면, 생성-가이드-검증의 엔드투엔드 품질 체인이 완성된다.

참고: JetBrains/go-modern-guidelines — GitHub (Apache 2.0, 2,300+ Stars, 2026년 8월 기준)

이 주제의 전체 그림: Claude Code 기업 활용 가이드

AI 코딩 에이전트, 제대로 활용하고 계신가요?

에이전트 가이드라인 설계부터 코드 품질 검증 체계까지, 개발팀의 AI 도구 활용 수준을 끌어올리는 실전 교육을 설계합니다.

AI 개발 교육 상담하기