AI 코딩 도구와 인간 개발자의 협업: Ghostty의 비방해형 macOS 업데이트 기능 개발 과정 심층 분석

🤖 AI 추천

AI 코딩 도구를 활용하여 생산성을 극대화하고 싶은 개발자, LLM 기반 개발 워크플로우에 관심 있는 소프트웨어 엔지니어, macOS 애플리케이션 개발 경험이 있거나 예정된 개발자, 그리고 AI와의 효율적인 협업 방안을 모색하는 모든 IT 전문가에게 이 콘텐츠를 추천합니다. 특히, AI가 생성한 코드의 한계를 인지하고 이를 보완하며 최종 결과물의 품질을 높이는 방법에 대한 실질적인 인사이트를 얻고 싶은 분들에게 유용합니다.

🔖 주요 키워드

AI 코딩 도구와 인간 개발자의 협업: Ghostty의 비방해형 macOS 업데이트 기능 개발 과정 심층 분석

핵심 기술: AI와 인간 개발자의 시너지로 구현한 비방해형 macOS 업데이트 기능

이 글은 Ghostty가 AI 및 agentic 코딩 도구를 활용하여 macOS 애플리케이션의 '비방해형 자동 업데이트' 기능을 개발한 과정을 상세히 공유합니다. AI는 영감을 주고 반복적인 작업을 보조하는 역할을 수행했지만, 최종 품질과 구조는 인간의 전문성과 수작업으로 완성되었습니다. 약 16회의 에이전트 세션과 $16 토큰 비용, 8시간의 개발 시간을 통해 사용자 경험을 저해하지 않는 혁신적인 업데이트 알림 시스템을 구현했습니다.

기술적 세부사항

  • 기능 목표: OpenAI 키노트 중 발생한 불편함을 계기로, 사용자의 작업을 방해하지 않는 macOS 업데이트 알림 기능 개발
  • AI 활용: 반복적 작업, 초기 UI 코드 생성, 리팩토링, 문서화, 테스트 코드 생성 등 다양한 단계에서 AI(에이전트) 활용
  • 개발 프로세스: 프리플랜 설계, UI 프로토타이핑, 클린업 및 버그 수정 단계로 구분
  • AI의 역할: 반복적인 UI 스타일 작업, 초기 코드 생성, 영감 제공, 반복적 정리 작업 (코드 리팩토링, 문서화)
  • 인간의 역할: 초기 구상 및 리서치, AI 생성 코드의 방향성 검토 및 수정, 세부 디자인 (여백/색상 등) 완성, AI가 해결하지 못한 버그 수정, 기능 설계 조정, 최종 품질 검수 및 병합
  • 핵심 기술 스택 및 프레임워크: Sparkle (macOS 업데이트 프레임워크), Obj-C 프로토콜, macOS 타이틀바 액세서리 뷰 컨트롤러, 윈도우 하단 오버레이 방식
  • AI 활용의 한계: 세부 디자인 미흡, 복잡한 버그 해결 실패 (탭바/알림 뷰 충돌), 특정 레이아웃 이슈 해결 불가
  • 버그 해결 및 설계 조정: AI가 해결하지 못한 버그는 인간의 반복 연구 및 기능 설계 조정으로 해결 (예: 타이틀바 문제 → 윈도우 하단 오버레이 방식 적용)
  • 클린업 과정: 캡슐화, 역할별 분리, 명확한 명명, 코드 리팩토링 (구조체 → 태그형 유니언), 불필요 코드 제거, 빌드 오류 자동 수정, 뷰 케이스 분리, 옵셔널 변수 취급 개선
  • 테스트 및 시뮬레이션: AI를 이용한 다양한 업데이트 흐름 (정상/실패/에러) 시뮬레이션 코드 생성 및 UX 개선점 도출
  • 전체 개발 과정: 총 16회 에이전트 세션, 약 $16 토큰 비용, 8시간 소요
  • 출시 계획: tip 릴리즈 이용자에게 즉시, 태그 릴리즈 이용자에게 1.3 버전에서 제공 예정

개발 임팩트

  • 생산성 향상: AI의 반복 작업 지원 및 초기 코드 생성을 통해 개발 속도를 대폭 향상시킴. 특히 UI 스타일 작업에서 높은 효율을 보임.
  • 새로운 워크플로우 제시: AI를 '자리 비움 동안 작업하는 존재'로 활용하여, 개발자가 '제로 투 원' 창작 단계에 집중하고 '황금의 순간'까지의 비용을 절감하는 새로운 개발 패러다임을 제시함.
  • 코드 품질 향상: 지속적인 리팩토링, 문서화, 역할 분리를 통해 코드의 가독성, 유지보수성, 재사용성을 높임.
  • 사용자 경험 개선: 업데이트 알림이 작업 흐름을 방해하지 않도록 설계하여 사용자 만족도를 높임.

커뮤니티 반응

  • AI를 '영감의 도구'로 활용하는 점에 대해 공감하며, '제로 투 원' 창작 단계의 어려움을 AI가 해소해 줄 수 있다는 점을 높이 평가함.
  • AI 코딩 도구가 프로토타입 제작을 용이하게 하지만, 실제 프로덕션 준비까지는 거리가 멀다는 점과 LLM 기반 프로토타입이 기술적 교훈을 적게 준다는 점에 대한 우려도 제기됨.
  • '빈 페이지 공포'를 없애주는 AI의 가치를 인정하지만, 개인의 워크플로와 경험에 맞는 도구 선택이 중요함을 강조함.
  • Mitchell 개발자의 '코드를 써주는 툴은 원하지 않는다'는 의견과 달리, LLM에서 가치를 본다는 점이 주목받음.
  • 'Cunningham의 법칙'을 AI 활용에 적용하는 독특한 방식이 언급됨.
  • Ghostty의 '사용자의 불편을 능동적으로 줄이려는' 노력과 AI를 책임감 있게 사용하는 모습에 긍정적인 평가.
  • 'vibe coding'이라는 용어 남용에 대한 비판과 함께, AI 활용이 'vibe engineering'에 해당한다는 의견 제시.
  • AI 코딩 툴 사용 의무 공개 정책(Ghostty)에 대한 언급.
  • AI 에이전트가 UI 프레임워크 작업에 강점을 보이며, 반복적이고 지루한 검색 및 시행착오를 줄여준다는 점에 공감.
  • LLM 덕분에 코딩이 다시 재미있어졌다는 의견과 함께, 즉흥적인 아이디어 구현 및 보일러플레이트 코드 작성 부담 감소에 대한 긍정적 평가.
  • 앱의 자체 업데이트 프레임워크 필요성에 대한 질문과 macOS 생태계의 특수성 언급.
  • '제로 투 원' 단계를 AI에 맡기면 직접 익힐 기회를 놓칠 수 있다는 지적.
  • Ghostty의 검색 기능 구현 경험 공유 및 스트리밍 텍스트에서의 복잡성 언급.
  • Ghostty의 미니멀리즘과 스크롤백 버퍼 용량에 대한 언급.
  • OS의 기본적인 불편함(화면 공유 시 발표 창만 노출 강제 등)에 대한 의문 제기.

📚 관련 자료