SQL 쓰는 사람 지금 멈춰

타입 기반 컴파일러와 AI 코딩 에이전트, 브라우저 도구를 상징하는 녹색 개발자 테마 추상 이미지
타입 기반 컴파일러와 AI 코딩 에이전트, 브라우저 도구를 상징하는 녹색 개발자 테마 추상 이미지
DIGEST
  • Acadia – 데이터베이스 프로그래밍을 다시 생각하기
  • NULNUL – Codex와 Claude Code가 스스로 개선되는 하네스
  • 툴앤조이 – 가입 없이 브라우저에서 바로 쓰는 한국어 도구 194개

데이터가 데이터베이스에 있다는 것은 안다. 그런데 타입 시스템이 그것을 보장하지는 못한다. Elm을 만든 Evan Czaplicki가 6년을 붙들고 있던 문제가 정확히 이 문장이었습니다. 오늘 GeekNews에서 고른 세 편은 컴파일러, 에이전트 하네스, 브라우저 도구로 층위가 전부 다르지만 던지는 질문은 같습니다. 지금 우리가 손으로 반복하고 있는 이 작업, 정말 사람이 해야 하는 일인가.

Acadia – 데이터베이스 프로그래밍을 다시 생각하기

Elm 창시자가 SQL을 컴파일 대상으로 삼았다

Elm 창시자 Evan Czaplicki가 수년간 개발해 온 Acadia의 Public Alpha를 공개했습니다. 목표는 Elm 같은 언어의 정밀한 타입, 친절한 오류 메시지, 컴파일러 검증을 SQL과 데이터베이스 작업에 그대로 가져오는 것입니다. 테이블과 Endpoint를 함수형 코드로 정의하면 Acadia가 이를 컴파일 타임에 SQL로 변환합니다.

쿼리도 SQL 문자열이 아니라 map, filter 같은 함수형 연산으로 작성합니다. 예를 들어 access, filter, map, select를 이어 붙인 코드는 컴파일 시점에 SELECT f.name FROM Foods.foods AS f WHERE f.id = $1 형태의 SQL로 떨어집니다. 중요한 것은 이 결과를 감추지 않는다는 점입니다. 실제로 실행될 SQL을 출력해 개발자가 직접 확인할 수 있게 했고, 컴파일러가 몇 가지 최적화도 자동으로 수행합니다.

마이그레이션을 긴장되는 작업에서 컴파일 오류로

Acadia가 내세우는 목표는 네 가지입니다. 첫째, 더 정밀한 타입. Rust Enum, Elm Custom Type, Haskell Algebraic Data Type을 JSON이나 nullable 컬럼 같은 우회 표현 없이 데이터베이스에 저장합니다. 둘째, 검증된 마이그레이션. 현재 컬럼 타입과 목표 타입을 알고 있는 컴파일러가 마이그레이션을 사전에 검증합니다. 셋째, Elm과 Rust 수준의 친절한 오류 메시지. 넷째, 클라이언트와 서버와 데이터베이스가 타입을 공유하는 End-to-End 타입입니다.

현재는 Elm과 Haskell 통합만 지원하며 다른 언어도 추가할 계획입니다. 내부적으로는 일반 SQLite를 사용하기 때문에 Acadia에서 표현할 수 없는 작업은 직접 SQL로 내려가 처리할 수 있습니다. 다만 Window Function과 Custom Aggregate Function 같은 고급 기능은 아직 빠져 있는 초기 Alpha 단계입니다. Czaplicki는 Elm을 만들던 2012년부터 2014년 이후 언어 작업에 이렇게 큰 기대를 느낀 것은 처음이라고 밝혔습니다.

논쟁의 중심은 기술이 아니라 라이선스였다

Lobsters 토론에서 가장 많이 지적된 것은 Acadia가 독점 비공개 소스라는 점이었습니다. 유료 라이선스조차 수정과 역공학을 금지하고, 구독이 끝나면 사용을 중단하고 삭제해야 한다는 조항이 문제로 꼽혔습니다. 라이선스 FAQ가 결과 데이터베이스는 일반 SQLite와 Postgres이므로 언제든 이탈할 수 있다고 밝힌 점은 그나마 완충재로 평가받았습니다.

전 Elm 코어 팀 구성원조차 무료 대안이 많은 상황에서 구독형 컴파일러에 의존하는 것은 많은 회사가 시작부터 받아들이기 어렵다고 했습니다. jOOQ와 Flyway를 오래 써 온 쪽에서는 첫 두 목표는 이미 해결된 문제라고 봤고, .NET Entity Framework의 LINQ 선례를 들어 느린 쿼리 생성과 최적화 난이도라는 함정이 Acadia에도 그대로 적용될 수 있다는 우려도 나왔습니다.

Tech Insight — Acadia의 진짜 제안은 새 ORM이 아니라 오류를 발견하는 시점을 옮기자는 것입니다. 런타임에서 터지던 스키마와 타입의 불일치를 컴파일 단계로 끌어올리면, 배포 후 장애로 확인하던 비용이 빌드 실패 비용으로 바뀝니다. 다만 도입 판단은 기술 성숙도보다 라이선스 리스크가 먼저입니다. 컴파일러가 구독형이면 팀의 빌드 파이프라인이 계약서에 묶입니다. 지금은 사이드 프로젝트로 시험하고, 프로덕션 채택은 이탈 경로가 문서로 보장된 뒤에 판단하는 편이 안전합니다.


NULNUL – Codex와 Claude Code가 스스로 개선되는 하네스

추가하기 전에 이미 있는 것부터 찾는다

NULNUL은 Codex와 Claude Code를 위한 skills-only 개발 하네스입니다. 제작자가 지목한 문제는 명확합니다. 프로젝트가 커질수록 skill, agent, plugin, rule이 계속 추가되는데, 정작 에이전트는 이미 존재하는 능력을 찾지 못한 채 비슷한 것을 또 만들기 시작한다는 것입니다.

그래서 NULNUL의 첫 동작은 생성이 아니라 탐색입니다. 사용자가 원하는 결과를 말하면 저장소를 읽어 프로젝트에 이미 존재하는 rule과 skill과 plugin과 agent를 찾고, 쓸 수 있는 것은 그대로 재사용하고, 부족한 부분만 최소한으로 보완한 뒤 원래 요청받은 작업을 계속합니다. 마지막에는 실제 저장소의 테스트와 검증 명령을 실행합니다. 제작자는 새 agent 0개, 새 skill 0개, 새 infrastructure 0개가 정답일 때도 있다고 말합니다.

자기개선은 허용하되 자기 승격은 막았다

작업 중 반복 가능한 실패가 발견되면 NULNUL은 그 작업만 고치지 않고, 같은 실패를 다시 막을 수 있는 작은 harness improvement proposal로 만듭니다. 다만 에이전트가 자기 마음대로 자신의 규칙을 바꾸도록 두지는 않습니다. 개선안은 별도의 Gate에서 proposal, 검증, accept 또는 reject, 승격 또는 rollback 과정을 통과한 것만 실제 하네스에 반영됩니다. 작업을 수행하는 주체와 능력을 승격시키는 판단 주체를 분리한 구조입니다.

긴 작업에서 세션이 바뀔 때마다 프로젝트 전체를 처음부터 다시 파악하는 비용도 함께 다룹니다. 현재 상태를 장황하게 저장하는 대신 짧고 검증 가능한 checkpoint만 남겨 다음 세션이 이어받도록 했습니다. 제작자가 남긴 질문은 이것입니다. 좋은 AI 개발 환경은 에이전트에게 더 많은 능력을 주는 것인가, 아니면 필요한 능력만 찾아 쓰고 검증된 것만 남도록 만드는 것인가.

Tech Insight — 사내에서 AI 코딩 도구를 굴려 본 팀이라면 이 문제를 이미 겪었을 것입니다. 규칙 파일과 스킬이 늘어날수록 성능이 좋아지는 게 아니라 중복과 충돌이 늘어납니다. NULNUL이 제안하는 재사용 우선 원칙과 승격 게이트는 도구를 바꾸지 않고도 그대로 차용할 수 있는 운영 규칙입니다. 프롬프트를 늘리기 전에 이미 있는 자산을 먼저 조회하게 만들고, 자동 생성된 규칙은 검증을 통과한 것만 저장소에 커밋하는 것. 이 두 줄만 정해도 하네스는 훨씬 오래 버팁니다.


툴앤조이 – 가입 없이 브라우저에서 바로 쓰는 한국어 도구 194개

16개 분류, 194개 도구, 로그인 없음

연봉을 넣으면 실수령액이 나오고 생년월일을 넣으면 만 나이가 나옵니다. 개발자 한 명이 그런 도구 194개를 16개 분류로 모았습니다. 금융과 부동산과 세금 쪽에는 연봉 실수령액, 4대보험, 퇴직금, 대출 원리금과 DSR, 연말정산 환급금, 양도소득세, 종합부동산세, 청약가점, 전월세 전환 계산기가 들어 있습니다. 2026년 요율과 공제 한도를 반영했고 근거를 페이지 안에 적어 두었습니다.

문서 쪽에는 PDF 합치기와 나누기, 압축, 비밀번호 설정과 해제, 개인정보 가리기, 표를 엑셀로 변환, 글자 인식이 있습니다. 사진과 영상 쪽에는 배경 제거, HEIC를 JPG로 변환, 증명사진, 위치정보 삭제, 화면 녹화, 동영상 자르기와 압축이 있습니다. 한글 도구로는 맞춤법 검사, 사투리 변환기, 존댓말과 반말 변환, 한영타 변환, CSV와 ZIP 한글 깨짐 복구가 있고, 학습 영역에는 C와 Go와 자바스크립트와 타입스크립트와 파이썬과 SQL을 브라우저에서 실행하고 채점하는 코딩 레슨 250개가 있습니다.

서버로 올리지 않는다는 것이 핵심 설계

파일을 다루는 도구는 서버로 업로드하지 않고 전부 브라우저 안에서 처리합니다. PDF는 pdf.js와 pdf-lib, 영상은 ffmpeg.wasm, 배경 제거는 onnxruntime-web을 사용합니다. 전체는 Next.js App Router로 만들어 Railway에 올렸습니다. 개인정보가 담긴 파일을 다루는 도구에서 업로드 자체를 없애는 것은 신뢰 비용을 가장 싸게 낮추는 방법입니다.

GeekNews 댓글에서는 냉정한 지적도 나왔습니다. AI 글 판별기에 실제 AI가 쓴 글을 넣었더니 AI 확률 0퍼센트가 나왔다는 제보와, 비슷한 성격의 도구 모음 사이트가 이미 여러 개 올라왔다는 반응입니다. 제작자는 혼자 만들고 있으며 값이 틀린 부분을 알려주면 고치겠다고 밝혔습니다.

Tech Insight — 웹 도구 모음 자체는 흔합니다. 차별점은 세 가지에서 갈립니다. 계산값의 근거를 페이지에 명시했는가, 파일을 서버로 보내지 않는가, 그리고 수치를 매년 갱신할 사람이 있는가. 앞의 두 개는 이미 충족했고 마지막이 남았습니다. 사내에 실수령액이나 퇴직금 계산 문의가 반복된다면 직접 만들기 전에 wasm 기반 클라이언트 처리라는 이 구조부터 참고할 만합니다. 서버를 두지 않으면 개인정보 처리 방침도 함께 가벼워집니다.

관련 글

출처

  1. GeekNews – Acadia, 데이터베이스 프로그래밍을 다시 생각하기
  2. Acadia Engineering – Rethinking Database Programming
  3. GeekNews – NULNUL, Codex와 Claude Code가 스스로 개선되는 하네스
  4. GitHub – SeoNaRu/nulnul-harness
  5. GeekNews – 툴앤조이, 가입 없이 브라우저에서 바로 쓰는 한국어 도구 194개
  6. 툴앤조이

AI Biz Insider · Tech Digest · aibizinsider.com


AI Biz Insider에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.

코멘트

답글 남기기

AI Biz Insider에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기