본문으로 건너뛰기
피드

Arborium은 AI 슬롭웨어다 — tree-sitter 기반 구문 강조 도구를 써보려다 겪은 일

open-source 약 5분
vote
0
댓글
북마크

fasterthanlime의 tree-sitter 기반 구문 강조 도구 Arborium을 통합하려다 반복적 버그에 시달린 개발자의 경험기. AI 생성 코드 특유의 문서 부재와 골든 패스 밖에서의 붕괴를 겪고, 관련 오픈소스 드라마까지 알게 되면서 Lezer로 돌아간 이야기.

  • 1

    Arborium이 거의 전부 AI로 작성된 코드라는 징후들

  • 2

    window 참조 에러와 동적 임포트 문제의 순환적 버그

  • 3

    miette 제거와 open slopware 드라마

  • 4

    버그 픽스 PR을 적용해봤지만 여전히 동작 안 함

  • 5

    Lezer로 복귀하면서 오히려 100줄 절약

기대와 현실

  • 글쓴이는 블로그에 커스텀 구문 강조 플러그인(Lezer 기반)을 쓰고 있었는데, fasterthanlime(Amos Wenger)이 만든 Arborium이라는 tree-sitter 기반 구문 강조 도구를 발견하고 통합을 시도함

  • 1시간 만에 플러그인을 만들어서 빌드했더니 window 객체 참조 에러 발생. 브라우저 전용 전역 객체를 서버사이드(Deno)에서 쓰고 있었던 것임. Arborium의 highlight 함수가 셋업 과정에서 window를 직접 호출하고 있었음

  • 우회해서 loadGrammar를 직접 호출하도록 바꿨더니, 이번엔 Deno의 import 방식과 Arborium의 해키한 동적 코드 임포트가 충돌함. 문서화되지 않은 설정 옵션을 소스코드를 읽어서 찾아내고, resolveJs 콜백으로 커스텀 임포트를 구현했더니... 다시 처음의 window 버그로 돌아옴

  • 결국 GitHub에 이슈 2개를 올렸더니, Amos가 1시간 만에 PR을 올려서 모든 문제를 고쳤다고 함. 환경 특정 버그 치고는 너무 빠른데...? 라고 생각하면서 PR을 열어봤더니 최악의 예감이 현실이 됨

AI 슬롭의 징후들

  • 디버깅하면서 계속 묘한 불안감이 쌓이고 있었다고 함. Arborium이 거의 전부 AI가 작성한 코드라는 느낌

  • Arborium 웹사이트의 단서들:

    • AI 특유의 어투가 군데군데 보임
    • 잘못되거나 오래된 링크들
    • 구문 강조 도구를 홍보하는 사이트인데 정작 코드 블록 대부분에 강조가 안 되어 있음 (Arborium이 인식하는 포맷이 아님)
    • 문서가 전혀 없음 — 기본 사용법만 있고, 조금이라도 벗어나면 소스코드를 직접 읽는 수밖에 없음

드라마

  • 한 달 전에 zkat(Rust 에러 처리 라이브러리 miette 제작자)이 "open slopware"라는 목록에 Amos를 추가했고, Amos는 이를 "마녀사냥"이라고 비난함

  • 이 논란으로 zkat이 대규모 괴롭힘을 당하고, 결국 오픈소스 커뮤니티 은퇴를 선언함. 동시에 Amos는 자기 오픈소스 프로젝트에서 miette를 전부 제거하고 AI로 대체 라이브러리를 바이브코딩

  • 글쓴이 입장: 의존성을 개인적 이유로 교체하는 건 상관없는데, 모든 오픈소스 프로젝트의 중요한 의존성을 AI로 급조해서 바꾸는 건 최종 사용자 경험에 대한 존중이 없는 거임

결국 Lezer로 복귀

  • Arborium 통합에서 배운 교훈을 Lezer 플러그인에 적용해서 오히려 100줄을 줄이고 로직도 단순화함

  • Lezer의 장점: 진짜 문서가 있고, tree-sitter와 비슷한 수준의 파워를 웹 환경에 맞게 제공하며, 작업하기 쉬움

  • Lezer 개발자 Marijn Haverbeke에게 AI 사용 여부를 물어봤더니: "언어 모델을 사용하지 않으며, 기여 가이드를 업데이트해서 슬롭 코드 PR을 금지하고 있다"고 답함

그래서 Arborium은 동작은 하나?

  • 도덕적 판단을 떠나서, 버그 픽스 PR대로 코드를 업데이트해서 다시 빌드해봤음. WASM 파일을 수동으로 관리해야 하고, 코드가 Lezer보다 훨씬 복잡하고 해키함
  • 결과: 또 안 됨. "놀랍지도 않다"가 글쓴이의 마지막 말

⚠️주의

> AI 생성 코드가 골든 패스에서 벗어나면 디버깅이 사실상 불가능해지는 전형적인 사례. 문서 부재 + AI 특유의 "겉보기엔 그럴듯한데 속이 엉망인" 코드가 합쳐지면 이런 일이 벌어짐

AI 생성 코드가 골든 패스에서 벗어나면 디버깅 불가능해지는 전형적 사례. 문서 부재가 문제를 극대화함.

댓글

댓글

댓글을 불러오는 중...

open-source

위키피디아에도 빅테크식 반노조 플레이북이 들어왔다

위키미디어 재단이 5월 열흘 사이 MediaWiki 장기 핵심 개발자를 해고하고, 자원봉사 편집자 요청을 처리하던 Community Tech 팀을 해산했다는 비판 글이다. 해고된 인력 상당수가 노조 조직 활동과 연결돼 있었고, 위키피디아 편집자들은 연대 파업까지 거론하고 있다. 재단은 2억9660만 달러의 준비금과 빠르게 성장하는 AI 대상 API 매출을 갖고 있어, 이 사안이 단순 비용 절감으로 보기 어렵다는 게 글의 핵심이다.

open-source

캘리포니아, 연령 확인법에서 리눅스 빼려는 수정안 추진

캘리포니아가 운영체제에 사용자 나이 확인을 요구하는 법안에서 대부분의 오픈소스 운영체제를 제외하는 수정안을 추진 중이다. 데비안, 페도라, 우분투, 아치, 리눅스 민트 같은 배포판은 빠질 가능성이 커졌지만, 스팀OS처럼 독점 앱 생태계와 연결된 플랫폼은 여전히 애매한 상태다.

open-source

마이크로소프트, 45년 전 86-DOS 소스코드를 오픈소스로 공개

마이크로소프트가 86-DOS 1.00 출시 45주년에 맞춰 지금까지 발견된 것 중 가장 오래된 DOS 소스코드를 공개했어. 팀 패터슨의 차고에 있던 도트 매트릭스 출력물을 스캔하고 옮겨 적어, 원본 바이너리와 바이트 단위로 동일하게 다시 컴파일되는 수준까지 복원한 게 포인트야.

open-source

밤부 랩, AGPLv3 위반 논란으로 오픈소스 커뮤니티와 충돌

3D 프린터 제조사 밤부 랩이 AGPLv3 라이선스 위반 논란에 휘말렸고, Software Freedom Conservancy가 두 건의 위반 사례를 확인했다는 내용이야. Louis Rossmann과 Gamers Nexus는 관련 개발자의 법적 방어를 위해 2만달러를 기부했고, 갈등의 핵심은 오픈소스 기반 생태계를 클라우드와 DRM으로 점점 닫아가려는 움직임이야.

open-source

플리퍼, 리눅스 기반 확장형 기기 '플리퍼 원' 공개

플리퍼가 기존 플리퍼 제로를 대체하는 후속작이 아니라, 리눅스 기반 네트워킹·확장형 기기인 플리퍼 원을 공개했어. RK3576 8코어 ARM 칩, 와이파이 6E, 듀얼 이더넷, NVMe, HDMI 4K 120Hz까지 넣으면서 장난감 같은 해킹 도구에서 훨씬 범용적인 리눅스 장비 쪽으로 방향을 넓히는 그림이야.