
실제 개발 작업에서의 Kimi AI 테스트: 3가지 빠른 테스트 (및 한계점)
요약
Moonshot AI의 Kimi AI를 대상으로 대규모 코드베이스 분석, SVG 생성, 셰이더 수학 구현 등 3가지 실전 개발 작업을 테스트했습니다. Kimi는 방대한 컨텍스트 유지 능력은 뛰어나지만, 복잡한 비유클리드 기하학 수학 구현에는 한계를 보였습니다.
핵심 포인트
- 거대한 컨텍스트 윈도우를 활용한 로그 및 코드베이스 분석 성능 우수
- 코드 리뷰 및 시스템 로그 파싱 작업에 매우 효과적
- 복잡한 3D 기하학 및 셰이더 수학(SDF) 계산 시 논리적 한계 노출
- 구조적 이해는 가능하나 정밀한 좌표 수학 구현에는 미흡
방대한 컨텍스트 파싱부터 불가능한 3D 기하학, 그리고 리팩토링(Refactoring)에 이르기까지, 3가지 개발자 작업을 통한 Kimi AI의 실전 테스트입니다.
Moonshot AI의 Kimi AI는 거대한 컨텍스트 윈도우(Context Window)와 강력한 코딩 능력 덕분에 개발자 커뮤니티에서 큰 파장을 일으키고 있습니다.
끝없는 이론적 리뷰를 작성하는 대신, 저는 개발자들이 직면하는 3가지 실질적이고 일상적인 테스트를 통해 Kimi를 실행해 보기로 했습니다. 완벽주의나 복잡한 프롬프트 엔지니어링(Prompt Engineering) 없이, 모델이 기본 상태에서 어떻게 작동하는지, 어디에서 빛을 발하는지, 그리고 어디에서 논리가 무너지는지를 테스트합니다.
테스트 1: 방대한 로그 파일 및 코드베이스 분석 및 요약
Kimi의 주요 셀링 포인트(Selling Point)는 거대한 컨텍스트 윈도우(Context Window)입니다.
- 작업: 방대한 에러 로그 파일(또는 수천 줄에 달하는 거대한 레거시 코드베이스 파일)을 업로드하고 Kimi에게 문제를 추적하여 해결책을 제안하도록 요청합니다.
- 결과: Kimi는 컨텍스트를 놀라울 정도로 잘 유지합니다. 몇 번의 프롬프트 후에 문서의 시작 부분을 "잊기" 시작하는 일반적인 모델들과 달리, Kimi는 정확한 라인과 함수 의존성(Function Dependencies)을 정확하게 짚어냅니다.
- 판정: 8/10. 코드 리뷰, 익숙하지 않은 코드베이스 디버깅(Debugging), 시스템 로그 파싱(Parsing)에 훌륭한 도구입니다.
테스트 2: SVG / 셰이더 수학에서의 펜로즈 불가능한 삼각형 (Kimi가 막히는 지점)
이 부분은 정말 흥미로워졌으며, 동시에 Kimi가 거대한 벽에 부딪힌 지점이기도 합니다.
- 작업: Kimi에게 펜로즈 불가능한 삼각형(Penrose Impossible Triangle, 기하학이 무한히 루프하는 유명한 착시 현상)을 위한 정확한 좌표 기하학 또는 SDF (Signed Distance Function, 부호 거리 함수)를 계산하도록 요청합니다.
- 문제: 펜로즈 삼각형은 3D 공간에서 물리적으로 불가능합니다. 벡터 포인트(SVG)나 셰이더 수학(Shader Math, GLSL)을 통해 이를 정확하게 렌더링하려면, 모델은 복잡한 좌표 이동, 깊이 트릭, 그리고 결점 없는 가장자리 블렌딩(Edge Blending)을 처리해야 합니다.
Markdown
먼저, 저는 이 착시 현상을 사이버펑크 스타일의 SVG 렌더링으로 생성하기 위한 벡터 데이터를 요청했습니다. 모델은 구조를 이해했으나, 겹치는 면들에 대한 좌표 수학(Coordinate Math)은 엉망이었습니다.
더 나아가서 이 구조를 셰이더(shader)에서 렌더링할 수 있는 3차원 부호 거리 함수(Signed Distance Function, SDF)로 요청했을 때, Kimi는 비유클리드 수학(non-Euclidean math) 앞에서 완전히 막혔습니다. 바(bar)를 만드는 방법은 이해했지만, 실제 수학이 들어가야 할 자리에 플레이스홀더만 남긴 채 이를 매끄럽게 연결하는 데 실패했습니다:
// 불가능한 기하학을 계산할 때 Kimi가 일반적으로 출력하는 코드:
float sdPenroseBar(vec3 p, vec3 b) {
vec3 q = abs(p) - b;
return length(max(q, 0.0)) + min(max(q.x, max(q.y, q.z)), 0.0); }
float sdPenroseTriangle(vec3 p) {
float bar1 = sdPenroseBar(p - vec3(0.0), vec3(1.0, 0.2, 0.2));
float bar2 = sdPenroseBar(rotateY(p, 1.209), vec3(1.0, 0.2, 0.2));
// ... 여기에 매끄러운 깊이 블렌드 각도를 계산해야 함
// TODO: 닫힌 광학 루프를 위해 벡터 오버랩 수정 필요
...
}
결과: 추상적인 공간 논리와 불가능한 3차원 기하학은 Kimi가 정확한 숫자가 필요한 바로 그 자리에 // ... 같은 플레이스홀더를 남기도록 강요합니다.
평가: 5/10. 추상적인 공간 논리와 불가능한 3차원 기하학은 Kimi가 정확한 숫자가 필요한 바로 그 자리에 // ... 같은 플레이스홀더를 남기도록 강요합니다. 사용자가 수학을 수동으로 수정해야 합니다.
테스트 3: 레거시 SQL/TypeScript 리팩토링 및 최적화
과제: 여러 JOIN이 포함된 지저분한 SQL 쿼리나 깊게 중첩된 TypeScript 함수를 가져와 성능과 가독성을 위해 Kimi에게 리팩토링을 요청합니다.
결과: 표준적인 프로그래밍 로직은 Kimi의 전문 분야입니다. Kimi는 지저분한 SQL을 깔끔한 공통 테이블 식 (CTEs, Common Table Expressions)으로 쉽게 분해하며, 비즈니스 로직을 깨뜨리지 않고 TypeScript의 중첩된 루프를 깔끔한 배열 메서드 (array methods)로 다시 작성합니다.
판정: 9/10. 일상적인 리팩토링 작업에 매우 탁월합니다.
결론
Kimi AI는 대규모 로그 읽기, 코드 리팩토링, 복잡한 시스템 설명 등 표준적인 개발 워크플로 (workflows)에서 인상적인 어시스턴트입니다. 하지만, 예외적인 케이스인 공간 수학 (spatial math)이나 불가능한 3D 기하학 (3D geometry) 영역으로 몰아붙인다면, 한계에 부딪혀 플레이스홀더 (placeholders)를 남길 가능성이 있습니다.
Kimi AI 직접 체험하기
본인의 프로젝트에서 Kimi AI를 테스트해보고 싶다면, 여기서 확인하세요:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기