-
RP2350 RISC-V 코어를 디버깅하기 위한 SWD 프로토콜 구현 라이브러리로, Raspberry Pi Pico2를 이용해 다른 Pico를 프로브로 사용하는 구조
- 코드의 약 80%가 AI(Claude) 로 생성되었으며, 작성자는 오실로스코프와 문서를 통해 기본 프로토타입을 만든 뒤 AI가 코드를 확장하도록 함
- 프로젝트 진행 중 AI 코드의 무의미한 토큰 구조, 맥락 상실, 코드 소유감 상실 등으로 인해 강한 혐오감과 회의감을 경험
- 반면, AI를 문서 분석·데이터 디코딩·구조체 생성 등 보조 도구로 활용할 때는 긍정적 경험을 얻음
- 이 사례는 AI 코드 생성의 품질·감각·소유 문제를 드러내며, 프로그래밍의 본질과 인간 역할에 대한 근본적 질문을 제기
0. VIBE CODE WARNING
- 전체 코드의 약 80%가 AI 생성(vibe coded) 이며, README 대부분도 자동 생성
- 작성자는 오실로스코프와 문서를 참고해 SBA, 레지스터 읽기/쓰기, 추상 명령, PROGBUF 등을 직접 구현한 후 AI에 라이브러리화를 맡김
- 코드가 1천 줄에서 4천 줄로 늘어나면서 코드 구조와 의미를 완전히 상실, 자신이 작성한 코드로 느껴지지 않음
- AI가 dap_read_mem32를 잘못 해석해 프로토콜 오류와 비논리적 코드가 대량 발생
- 결과적으로 1만 줄 가까운 코드를 10시간 만에 완성했지만, 성취감이나 성장감이 전혀 없음
AI 코드와 인간 코드의 차이
- 인간이 작성한 코드는 의도와 목적이 있는 토큰으로 구성되어 이해가 가능하지만, AI 코드의 토큰은 의미 없는 조합으로 읽기 어려움
- AI 코드의 일부는 인간보다 더 나은 품질을 보이지만, 바로 아래 줄은 겉보기만 그럴듯한 오류 코드일 수 있음
- 이러한 불균질성과 감각적 신뢰 상실이 프로그래머의 판단력을 마비시킴
- 코드가 커질수록 “좋은 코드인지 나쁜 코드인지 느끼는 감각(taste)”이 사라지고, 정신적 모델과 소유감이 붕괴됨
인간적 감정과 회의
- 작성자는 “이것이 프로그래밍인가?”라는 질문을 던지며 혐오감과 수치심을 표현
- AI가 코드를 대신 쓰는 시대에, 인간은 무엇을 만들고 어디까지 개입해야 하는지에 대한 존재적 혼란을 토로
- 단순히 “코드를 안 쓰는 것”이 발전인지, “문제를 모델링하지 않는 것”이 효율인지조차 확신하지 못함
- 자신은 여전히 무언가를 직접 만들고 싶지만, AI 중심 개발 환경에서 그 의미가 희미해졌다고 언급
AI의 긍정적 활용 경험
- AI를 문서 분석, 오실로스코프 데이터 디코딩, C 구조체 자동 생성 등에 활용할 때는 효율적이고 만족스러웠다고 평가
- 특히 첫 번째 레지스터를 읽고 SBA를 통해 메모리를 읽었을 때는 진정한 성취감을 느낌
- 즉, AI를 코드 작성자가 아닌 조력자로 사용할 때 긍정적 경험이 가능함
결론적 성찰
- AI 코드 생성은 빠르지만, 의미·감각·소유의 상실을 초래
- 인간이 느끼는 “좋은 코드의 맛(taste)”이 사라질 때, 프로그래밍의 본질도 흔들림
- 작성자는 이 현상이 일시적 과도기이길 바라며, “더 나은 프로그래밍”이 무엇인지 스스로도 알 수 없다고 마무리
원문 이후의 기술적 섹션(1~20)은 RP2350 RISC-V 디버그 프로토콜의 상세 구현 문서로, SWD 계층 구조, DAP/DAPC 레지스터, PROGBUF 실행, SBA 접근, 하트 제어, 트레이싱, 리셋, 듀얼 하트 구조 등 전체 디버그 스택의 완전한 기술 사양을 포함함.
그러나 핵심 주제는 “AI가 생성한 코드와 인간 감각의 단절”에 대한 개인적 사례 연구(Vibe Code Warning) 임.