해외 기술 동향: AI 시대의 개발 사고방식부터 경량 3D 보셀, 새로운 설정 형식 SOML까지
요약
본 기사는 AI 시대의 개발 사고방식 변화와 웹 기반 3D 데이터 처리 트렌드를 다룹니다. 학술 및 코딩 분야에서 개인적 성취보다 도구와의 협력과 검증 가능한 제약 정의가 중요해졌습니다. 또한, 대용량 GIS/3D 데이터를 보셀(voxel) 구조로 압축하여 웹 브라우저 상에서 빠르고 효율적으로 시각화하는 방법을 소개합니다.
핵심 포인트
- AI 시대 개발은 개인의 코드 표현보다 검증 가능한 제약 정의에 집중해야 합니다.
- 'Egoless Mathematics'처럼 도구와 협력하며 큰 문제를 해결하는 사고방식이 중요해졌습니다.
- Property-based Testing을 통해 AI가 생성한 구현체의 정당성을 기술적으로 검증할 수 있습니다.
- 3D 웹 데이터는 보셀 구조로 압축하여 대용량 에셋의 로딩 부하를 크게 줄일 수 있습니다.
글로벌 엔지니어 커뮤니티나 Hacker News에서는 단순히 새로운 라이브러리를 소개하는 수준을 넘어, '엔지니어링의 근본적인 사고방식'이나 'UI/UX의 새로운 접근 방식', '설정 파일의 이상적인 형태'와 같은 다각적인 논의가 활발하게 이루어지고 있습니다.
본 기사에서는 해외에서 화제가 되고 있는 트렌드 중, 엔지니어의 일상 업무나 커리어, 기술 선택에 직접적으로 연결되는 통찰을 담은 세 가지 주목할 만한 토픽(기사/도구)을 선정하여 자세히 설명합니다.
フィールズ賞 수상자이자 현대 최고의 수학자로 불리는 테렌스 타오(Terence Tao)가 AI 시대의 학술 및 연구 마인드셋에 대해 쓴 블로그 글 『Egoless Mathematics in the AI Era』가 큰 화제를 모으고 있습니다.
타오 교수는 LLM이나 Lean 4와 같은 자동 증명 보조 도구(Proof Assistant)가 부상하는 현재, 기존의 '개인이 자신의 지성이나 미적 감각(에고)을 겨루며 논문의 단독 저자임을 자랑하는 스타일'에서 'AI 도구나 거대한 커뮤니티와 협력하며 개인적인 집착을 내려놓고 큰 문제를 해결하는 스타일(Egoless Mathematics)'로 변화하고 있다고 지적합니다.
이러한 사고방식은 과거 젤리 와인버그(Jerry Weinberg)가 제안했던 '무아의 프로그래밍(Egoless Programming)'을 AI 시대에 맞춰 업데이트한 것입니다.
GitHub Copilot이나 Cursor 같은 AI 에디터가 보급되면서, '이 코드는 내가 작성했다', '우아한 알고리즘을 내가 생각해냈다'는 인정 욕구나 코드의 사유화 경향은 때때로 팀의 생산성을 저해합니다. AI를 전제로 하는 개발에서는 개인적인 코드 표현에 대한 집착을 버리고 다음 사항에 리소스를 집중하는 것이 요구됩니다.
- 모호함이 없는 명세 정의 (프롬프트, 타입(type), 테스트 코드 작성)
- 생성된 코드의 검증 가능성 확보 (자동 테스트, 정적 분석)
- 도구와의 대화를 통한 신속한 프로토타이핑
AI 시대의 개발은 'AI가 코드를 작성하고, 인간은 기계적으로 검증 가능한 제약(타입・테스트)을 부여하는' 역할로 전환됩니다. 예를 들어, 함수가 충족해야 할 속성을 프로퍼티(property)로 정의하고, AI가 생성한 구현체를 자동으로 검증하는 접근 방식입니다.
# pytest + Hypothesis를 이용한 Property-based Testing의 예시
# AI가 구현한 복잡한 정렬 알고리즘의 정당성을 인간이 제약으로 기술 및 검증
from hypothesis import given, strategies as st
...
- 적합한 경우: 생성형 AI를 활용한 페어 프로그래밍을 추진하는 팀, 코드 리뷰의 형식화에 어려움을 겪는 개발 조직.
- 부적합한 경우: 예술적인 표현이나 고유한 초최적화 코드가 가치가 되는 극단적인 저수준(low-level) 개발.
『Show HN: Warsaw in voxels』는 폴란드 바르샤바 시가지역을 보셀(voxel, 3D의 픽셀 형태를 가진 정육면체) 형식으로 브라우저 상에 가시화한 인터랙티브 웹 애플리케이션입니다.
오픈 데이터(OpenStreetMap이나 고도 데이터)를 분석하여 건물, 도로, 나무 등을 통일된 보셀 공간으로 변환하여 그립니다. 무겁고 복잡한 GLTF/OBJ 같은 3D 메시 모델을 그대로 불러오는 것이 아니라, 보셀 데이터 구조로 압축 및 변환함으로써 웹 브라우저 상에서 매우 빠른 초기 로딩과 부드러운 카메라 조작이 가능합니다.
GIS(지리정보시스템)나 3D 데이터를 웹에 표시할 때, 에셋의 용량 비대화와 렌더링 부하가 가장 큰 병목 현상입니다. 본 도구의 접근 방식은 다음과 같은 과제를 해결합니다.
- 데이터 용량 절감: 기하학적 형태를 균일한 그리드(보셀)로 표현함으로써 데이터 양을 대폭 압축합니다.
- 통일된 디자인 라인: 정교한 레이 트레이싱(ray tracing) 대신 도트 그림 같은 레트로 3D 세계관을 구현하여 텍스처 제작 비용을 최소화합니다.
- 웹 성능: 렌더링에 필요한 정점 수(vertex count)를 억제하여 모바일 환경에서도 구동이 가능하게 합니다.
웹 상에서 보셀 공간을 효율적으로 그릴 경우, InstancedMesh를 활용하여 동일한 정육면체 지오메트리(geometry)를 대량 배치하는 것이 일반적인 방법입니다.
import * as THREE from 'three';
// 1. 공유할 박스 지오메트리와 머티리얼을 생성
const density = 50;
...
–
적합한 경우: 대규모 도시 데이터나 로그 데이터(접속 수, 인구 밀도 등)를 웹 브라우저에서 손쉽게 인터랙티브하게 표시하고 싶을 때, 대시보드.
부적합한 경우: 건축물의 왜곡이나 상세한 텍스처 표현이 필요한 부동산용 3D 내부 관람 서비스 등.
『SOML (Simple Object Markup Language)』은 기존 설정 포맷인 JSON, YAML, TOML의 과제를 해결하기 위해 만들어진 새로운 설정 기술 언어입니다.
YAML은 사람이 읽기 쉽다는 장점이 있는 반면, 들여쓰기 오류로 인한 구문 에러나, country: NO (노르웨이 국가 코드)가 암묵적으로 false (Boolean)로 파싱되어 버리는 같은 '사양상의 함정'이 유명합니다. 또한 TOML은 중첩(nesting)이 깊어지면 섹션 지정([a.b.c.d])이 번거로워지는 문제가 있습니다.
SOML은 '직관적인 가독성'과 '모호함이 없는 엄격한 파싱 규칙'을 양립하는 것을 목표로 설계되었습니다.
- 타입 안전 및 의도대로의 파싱: 문자열이나 참/거짓 값의 암묵적 타입 변환으로 인한 사고를 방지합니다.
- 들여쓰기 종속성 제거: 들여쓰기 틀어짐으로 인한 파싱 에러나 은밀한 데이터 구조 변화를 막으면서도 깔끔한 모양을 유지합니다.
- 간단한 구문: 설정 파일 작성 실수로 인한 CI/CD 파이프라인 중단이나 배포 사고를 줄입니다.
SOML에서는 직관적인 키-값(key-value) 기술과 명시적인 블록 구조를 결합합니다.
# SOML의 기술 예시
[server]
host = "127.0.0.1"
...
Python 등에서 파싱할 경우의 사용 예시 (라이브러리 연동 예상 코드):
import soml
# 설정 파일 로드
with open("config.soml", "r", encoding="utf-8") as f:
...
- 적합한 경우: 복잡하게 중첩된 애플리케이션 설정 파일, 인프라 구축 시의 구성 관리 파일, 암묵적인 타입 변환으로 인한 버그를 절대 방지하고 싶은 프로젝트.
- 부적합한 경우: 기존 표준 라이브러리(
json이나yaml)만으로 의존 관계를 완결시키고 싶은 제약이 심한 환경.
오늘날의 트렌드를 되돌아보면, "인간과 기계가 어떤 인터페이스로 협업해야 하는가" 라는 큰 공통 주제가 보입니다.
- 사고방식: AI 도구 활용이 진행됨에 따라 엔지니어는 자신의 '에고(개인의 고집)'를 억제하고, AI에게 의도를 올바르게 전달하는 검증자이자 설계자로서의 능력이 요구됩니다 (Terry Tao 논문).
- 시각적 표현: 방대한 데이터를 그대로 묘사하기보다는 보셀이라는 단순화된 개념으로 정리함으로써 웹 상에서의 성능과 사용자 경험을 극대화합니다 (Warsaw in voxels).
- 기술적 명세: 기계와 인간 모두에게 모호함이 없는 직관적인 데이터 포맷을 목표로 합니다 (SOML).
개발 현장의 생산성을 한 단계 끌어올리기 위해, 우선 프로젝트의 설정 파일을 검토하는 작은 시도나, 프롬프트 및 타입 정의를 통한 검증 자동화 등 가까운 곳부터 시도해 보는 것은 어떨까요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기