AI 시대, 코드 검토(Code Review)의 중요성을 강조하는 개발 경험담

by DD
3개월 전
조회수 8

개발 커뮤니티의 지식 붕괴 문제를 해결하기 위해 개발한 시스템이 오류(Bug)를 포함한 채 배포됨

클립보드 스크래핑(Clipboard Scraping) 방식의 확장 기능은 가상 스크롤링(Virtual Scrolling) 환경에서 AI 응답 및 아티팩트(Artifact)를 제대로 캡처하지 못함

문제점을 인지하고 API 기반의 근본적인 재설계(Fundamental Rethink)를 통해 시스템을 개선함

AI의 발전으로 인해 생성 속도는 빨라졌지만, 검토(Review) 과정은 이를 따라가지 못하는 검토의 중요성(Importance of Review)을 강조함

클립보드 스크래핑(Clipboard Scraping) 방식의 기술적 한계

본문에서 저자는 클립보드 스크래핑(Clipboard Scraping) 방식을 사용하여 챗GPT(ChatGPT) 대화 내용을 캡처하려 했으나, 가상 스크롤링(Virtual Scrolling) 환경에서 발생하는 문제점을 간과했다.

가상 스크롤링(Virtual Scrolling): 화면에 보이는 부분만 DOM(Document Object Model)에 렌더링(Rendering)하여, 보이지 않는 내용은 캡처되지 않음

캡처 누락: AI의 응답, 아티팩트(Artifact), 화면 밖의 내용 등 중요한 정보가 누락되어 시스템의 기능적 결함(Functional Defect) 발생

해결책: API 기반의 데이터 획득으로 전환하여, 가상 스크롤링(Virtual Scrolling)의 제약에서 벗어남

결과적으로, 클립보드 스크래핑(Clipboard Scraping) 방식은 간단해 보이지만, 특정 환경(Specific Environment)에 종속적이며, 확장성이 떨어진다는 것을 알 수 있다.

문제 해결을 위한 API 기반 재설계

저자는 클립보드 스크래핑(Clipboard Scraping) 방식의 한계를 인식하고, 챗GPT(ChatGPT)가 제공하는 API를 활용하는 방식으로 시스템을 재설계했다.

API 활용: API를 통해 챗GPT(ChatGPT)의 모든 대화 내용에 접근하여, 캡처 누락 문제를 해결

데이터 접근성 확보: 가상 스크롤링(Virtual Scrolling) 환경의 제약 없이, 모든 데이터를 안정적으로 획득

근본적인 해결: 표면적인 문제 해결이 아닌, 근본 원인(Root Cause)을 파악하고 해결하여 시스템의 신뢰성(Reliability)을 향상

API 기반의 재설계는 시스템의 정확성(Accuracy)을 높였으며, 향후 기능 확장에도 유리한 기반을 마련했다.

AI 시대, 검토(Review) 과정의 중요성

본문은 AI의 발전으로 인해 코드 생성 속도가 빨라짐에 따라, 검토(Review) 과정의 중요성이 더욱 커졌음을 강조한다.

생성 속도 vs 검토 속도: AI의 발전으로 코드 생성 속도는 빨라졌지만, 검토(Review) 과정은 이를 따라가지 못해 검토의 중요성(Importance of Review) 부각

표면적 검토의 위험성: AI가 생성한 코드에 대한 표면적인 검토는 오류를 발견하지 못하고, 시스템의 결함을 초래할 수 있음

해결책: 더 깊이 있는 검토(Deeper Review) 습관을 통해, 코드의 정확성(Accuracy)을 확보하고, 시스템의 신뢰성(Reliability)을 높여야 함

결과적으로, AI 시대에는 코드 생성뿐만 아니라, 검토(Review) 과정에 대한 더욱 적극적인 투자(Active Investment)가 필요하다.

투명한 개발 과정 공개의 가치

저자는 자신의 실수와 그 극복 과정을 투명하게 공개함으로써, 개발 커뮤니티에 긍정적인 영향을 미치고 있다.

실수 인정: 자신의 실수와 문제점을 솔직하게 인정하고, 그 과정을 공개하여 개발자들에게 공감(Empathy)을 얻음

학습 기회 제공: 실수로부터 배우는 과정을 공유하여, 다른 개발자들이 유사한 실수를 예방하고, 성장할 수 있는 기회(Growth Opportunity) 제공

투명성 확보: 개발 과정의 투명성을 통해, 커뮤니티의 신뢰를 얻고, 건강한 개발 문화(Healthy Development Culture) 조성에 기여

결론적으로, 투명한 개발 과정 공개는 개발자 개인의 성장뿐만 아니라, 커뮤니티 전체의 발전에 기여하는 중요한 요소이다.

I Shipped Broken Code and Wrote an Article About It