NeoTechPark 테크 세션 'AI 코드 자동화 테스트' 요약
요약
본 기술 세션은 AI 기능을 프로덕션 환경에 배포하기 전, 발생 가능한 오류를 사전에 포착하는 방법에 초점을 맞추었습니다. 특히 대규모 언어 모델(LLM)의 비결정성 문제를 다루며, 전통적인 테스트 방식으로는 부족함을 지적했습니다. 발표에서는 개발자가 직접 수행할 수 있는 '비결정적 LLM 출력 검증 전략'과, Claude Code와 같은 AI를 활용하여 코드를 자동으로 리뷰하는 실용적인 워크플로우 두 가지 관점을 제시했습니다.
핵심 포인트
- LLM의 비결정성(Non-determinism) 문제를 해결하기 위해 단순 문자열 매칭 대신 응답 구조, 유효성 검사, 의미론적 검증 등 '똑똑한' 테스트 전략이 필요합니다.
- 개발자 측면에서는 Vitest나 Playwright 같은 기존 도구를 활용하되, AI 호출 시 기대 동작을 명시하는 기능 프롬프트(Feature Prompt)를 문서화하여 사용하는 것이 중요합니다.
- AI를 수동으로 테스트하는 것을 넘어, Claude Code와 같은 LLM 기반 에이전트를 사용하여 PR 단계에서 코드를 자동으로 검토하고 개선할 수 있는 워크플로우가 실용적입니다.
- 성공적인 AI 기능 배포를 위해서는 명확한 제약 조건과 수용 기준을 갖춘 상세한 '기능 프롬프트' 문서를 먼저 작성하는 것이 핵심 패턴입니다.
**2026 년 5 월 3 일 (일요일)**에 NeoTechPark 은 많은 개발자, 저를 포함하여 많은 사람의 마음을 움직이는 테크 세션을 개최했습니다. 주제는 AI 를 활용한 코드를 프로덕션에서 문제를 일으키기 전에 실제로 어떻게 테스트하는가였습니다. 모든 AI 를 구축하는 개발자가 깊이 고려해야 할 주제였습니다.
세션은 Zoom 에서 약 90 분 동안 진행되었으며, 20 분의 발표와 50 분의 실습 논의 및 Q&A 가 포함되어 있었습니다. 이 시간대에는 많은 일이 발생했고, 이 글은 이를 적절히 문서화하려는 저의 시도입니다.
이벤트 개요
이벤트 이름: Shipping AI 를 잘못 이해하는 것을 출시 전 어떻게 잡는가 (How to Catch What AI Gets Wrong Before It Ships)
주최자: NeoTechPark
날짜: 2026 년 5 월 3 일 (일요일)
시간: WIB 기준 오후 1:30 ~ 3:00
플랫폼: Zoom 회의
세션을 진행한 사람은 NeoTechPark 의 소프트웨어 엔지니어이자, 기술 커뮤니티의 프론트엔드 엔지니어 및 제품 디자이너로도 활동하는 Ari Maulana Hardan였습니다. 주요 발표자는 NeoTechPark 의 소프트웨어 엔지니어이자 자동화 엔지니어인 Steven Evan Rudyanto였습니다.
이 이벤트는 Google Developer Groups Cloud Bandung, Google Developer Group Bandung, Binary Nusantara, BandungDev, Coptera Career, BitHub Bangka Techno Hub, Sawargy, VibeDev ID, Dev Web 3 Bandung, MORVIS 등 여러 미디어 파트너의 지원을 받았습니다.
이 주제가 중요한 이유
개발자는 AI 기능을 빠르게 출시하는 시대에 살고 있습니다. 때로는 너무 빠릅니다. 문제는 AI 모델, 특히 대형 언어 모델이 비결정적입니다. 동일한 입력에 대해 항상 동일한 출력을 반환하지 않습니다. 이는 전통적인 테스트 접근 방식이 조금 부족하게 느껴지게 만듭니다.
그렇다면 질문은 다음과 같습니다: 두 번의 동작이 동일하지 않은 것을 어떻게 테스트하는가?
이 세션이 바로 이 질문에 답하려고 했습니다.
세션에서 얻은 핵심 내용
Steven 는 AI 코드를 신뢰하며 출시하기 위한 두 가지 주요 관점을 설명했습니다.
관점 1: 개발자 테스트
첫 번째 관점은 어떤 PR 을 병합하기 전에 개발자가 혼자서 할 수 있는 것에 관한 것입니다. 핵심 아이디어는 간단합니다: 사용자 불만投诉가 시작되기 전에 버그를 잡으세요, 사용자投诉가 시작된 후에는 안 됩니다.
이 부분에서 논의된 도구로는 Vitest (유닛 테스트용) 와 Playwright (엔드 투 엔드 테스트용) 가 있었습니다. 이는 새로운 도구가 아니지만, 흥미로운 점은 Steven 이 AI 를 활용한 기능의 맥락에서 이를 어떻게 프레임했는지에 있습니다.
여기서 가장 많이 논의된 주제는 비결정적 LLM 출력에 대한 검증 전략이었습니다. 함수가 AI 모델을 호출할 때, 정확한 문자열 매칭을 검증할 수 없습니다. 더 똑똑한 검증이 필요합니다. 예를 들어:
- 응답의 모양과 구조를 확인
- 주요 필드가 존재하고 예상되는 타입 내에 있는지 유효성 검사
- 문자열 검증을 대신 의미론적 검증을 사용
- 응답에 포함해야 할 것과 포함하지 말아야 할 것에 대한 경계를 설정
이 세션의 이 부분은 진행자 Ari 가 나중에 전체 이벤트에서 가장 기억에 남는 논의라고 불렀습니다.
관점 2: AI 를 활용한 코드 리뷰
두 번째 관점은 조금 스크립트를 뒤집습니다. 단순히 AI 출력을 수동으로 테스트하는 것이 아니라, 실제로 AI 를 사용하여 코드를 자동으로 검토할 수 있습니다.
Steven 은 Claude Code를 사용하여 자동화된 코드 리뷰 워크플로우를 시연했습니다. 데모는 에이전트, 문서, 테스트 파일이 PR 에서 Claude Code 가 리뷰어로 행동할 수 있도록 조직화된 실제 리포 구조를 보여주었습니다.
이 워크플로우는 월요일부터 시작해 자신의 저장소에 실제로 적용할 수 있는 것이라고 설명되었으며, 세션 중 반복되는 구절이었다. 매우 실용적이고, 매우 실행 가능한 내용이다.
데모 한눈에 보기
데모는 간단한 이커머스 프로젝트를 기반으로 사용했다. 공유 화면에서 볼 수 있는 내용은 다음과 같다:
docs/hands-on폴더: 기능 프롬프트 파일 포함agents폴더: Claude Code 에이전트 설정 포함tests폴더:cart.spec.ts,orders.race.spec.ts,auth.spec.ts와 같은 스펙 파일 포함
Steven 이 보여준 기능 프롬프트는 명시적인 제약 조건과 수용 기준을 갖춘 전체 체크아웃 기능을 설명하고 있다. Claude Code 가 코드를 생성하거나 검토하기 전에 기대되는 동작이 무엇인지 읽을 수 있고 이해할 수 있도록 형식화되어 있다.
이 패턴, 즉 문서로 먼저 상세한 기능 프롬프트를 작성하는 것은 자신의 워크플로우에 가져가야 할 가치가 있다.
분위기
Zoom 세션에는 85 명 이상의 참가자가 참여했으며, 문서 사진에 따르면 모두가 꽤 적극적으로 참여했다. Q&A 부분은 특히 애서이션 전략 주제를 중심으로 활기차게 진행되었다.
모더레이터 Ari 는 이후 LinkedIn 포스트에서 커뮤니티를 감사의 인사로 부르고 있으며, 이는 개인적으로 가장 기억에 남는 세션 중 하나라고 불렀다. 이러한 피드백은 논의가 어떻게 진행되었는지 많은 것을 말해준다.
NeoTechPark 은 YouTube 에 전체 Zoom 녹화 영상을 제공하여 놓친 참가자나 다시 시청하고 싶은 사람을 위한 것이다: https://youtu.be/lMlOqo-gfGw?si=CheVmcZx0RwP6K6f
이 내용을 어떻게 활용해야 할지
현재 AI 를 사용하여 어떤 것을 개발 중이라면, 채팅봇, 코드 어시스턴트, 콘텐츠 생성기, 또는 LLM 을 호출하는 모든 것이라면, 공유된 내용에 기반한 실용적인 시작점이 있다:
- AI 출력에 대한 정확한 문자열 애서이션을 사용하지 마세요. 구조적 및 의미론적 검사를 사용하세요.
- 기능 요구사항을 인간뿐만 아니라 AI 리뷰어도 읽을 수 있는 프롬프트 문서로 작성하세요.
- 유닛 테스트에는 Vitest, E2E 는 Playwright 를 설정하세요. AI 가 많이 포함된 기능에도 잘 작동한다.
- 워크플로우에 Claude Code 를 리뷰어로 시도해 보세요. 특히 에지 케이스 주변에서 수동 검토가 놓치는 것을 잡을 수 있다.
- 비결정론성을 1 차적인 관심사로 생각하세요. 후속 사항으로 다루지 마세요.
NeoTechPark 에 대해
NeoTechPark 은 이러한 세션을 정기적으로 운영하는 기술 커뮤니티이다. 그들의 웹사이트는 www.neotechpark.dev 로, 인도네시아 개발자 커뮤니티에서 활동적이다.
다음 세션을 잡으려면 채널을 주목하세요. 이 세션의 품질에 따라 참석할 가치가 있다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기