개발자로서 우리는 항상 생산성을 향상하고 작업 흐름을 간소화할 수 있는 방법을 찾고 있습니다. 최근 AI의 발전과 이러한 기술이 판도를 바꿀 것이라는 확고한 믿음을 바탕으로 저는 이러한 도구를 실제 개발 시나리오에서 테스트해 보기로 결정했습니다.
내 목표: 단 7시간 만에 풀 스택 AI 기반 음식 추적 앱 PoC를 구축합니다.
결과: 꽤 잘 작동했습니다! 하지만 도전이 없는 것은 아닙니다.
AI를 개발 친구로 활용하는 방법에 대해 제가 배운 내용은 다음과 같습니다.
목표는 야심차지만 집중적이었습니다. 사용자가 음식을 사진으로 찍고 AI 인식을 사용하여 음식 추적기에 자동으로 기록할 수 있는 모바일 앱을 만드는 것입니다. 기술 스택에는 AI 추론을 위한 Google Gemini 2.0 Flash와 함께 내가 주로 사용하는 Quasar Framework(VueJS Framework), Google Firebase 및 Capacitor(Mobile Dev Framework)가 포함되었습니다.
매우 화려하지는 않지만 AI 지원을 테스트하기에 충분히 복잡합니다.
저는 프로젝트의 다양한 측면을 지원하기 위해 AI 도구 조합을 사용했습니다.
제가 얻은 가장 귀중한 통찰력 중 하나는 AI를 주니어 개발자나 인턴으로 생각했다는 것입니다. 이 정신적 모델은 제가 협업에 접근하는 방식을 완전히 바꿔 놓았습니다. 전체 프로젝트를 새로운 인턴의 책상 위에 놓고 완벽한 결과를 기대하지 않는 것처럼 저는 다음을 배웠습니다.
이 접근 방식은 AI를 "모든 것을 알고 있다"거나 "완전히 신뢰할 수 없다"고 취급하는 것보다 더 나은 결과를 가져왔고 더 효과적이었습니다.
AI는 기획 단계에서 매우 큰 도움이 되었습니다. 저는 대략적인 프로젝트 개요로 시작하여 반복적인 프롬프트를 사용하여 이를 개선했습니다. 예를 들어, 나의 초기 프롬프트 중 하나는 다음과 같습니다.
Can you help me plan out making the following app in 7 hours: <information about the app> Detail out how long I should spend on each section, and revise my overall plan as needed.
이를 통해 프로젝트 범위와 일정이 구체화되어 더욱 현실적이고 세부적인 계획이 수립되는 데 도움이 되었습니다.
AI 도구는 문서 생성 및 유지 관리에 탁월했습니다. 포괄적인 마크다운 파일을 신속하게 생성하고 프로젝트가 진행됨에 따라 업데이트된 상태를 유지할 수 있습니다. 이를 통해 실제 개발 작업에 귀중한 시간을 확보할 수 있었습니다.
개발을 더 작고 집중적인 프롬프트로 나누는 것이 매우 효과적인 것으로 나타났습니다. 전체 구성 요소를 한 번에 생성하는 대신 이전 구성 요소를 기반으로 하는 일련의 프롬프트를 사용했습니다. 예:
제가 발견한 멋진 비결은 A.I. 진행 상황과 다음 단계를 기록하여 프롬프트 사이에 참조할 내용이 있을 수 있도록 하세요. WindSurf를 사용하고 있었기 때문에 "마스터 프롬프트"를 사용하여 대화를 계속할 수 있었습니다. 마스터 프롬프트는 AI에게 지시합니다. 코드를 작성하면서 메모를 다시 참조하고 추가하세요.
WindSurf가 빛을 발한 또 다른 부분은 버그 수정 및 개발 후 작업이었습니다.
앱을 테스트하고 몇 가지 버그를 발견한 후 WindSurf에 목록을 전달했는데 WindSurf에서 신속하게 문제를 식별 및 수정하고 수정 사항이 제대로 작동하는지 확인하기 위한 테스트 사례도 생성할 수 있었습니다. 덕분에 시간과 노력이 많이 절약되었습니다.
다음과 같은 버그 목록이 있었는데, 수동으로 수정해야 했던 경우는 몇 번 없었습니다.
Can you help me plan out making the following app in 7 hours: <information about the app> Detail out how long I should spend on each section, and revise my overall plan as needed.
모든 것이 순조롭게 진행된 것은 아닙니다. 몇 가지 주요 과제가 나타났습니다.
파일 수정과 관련하여 몇 가지 제한 사항을 발견했습니다.
참고: 이 글을 쓰는 현재 최신 버전의 WindSurf에서는 파일 잠금/실패한 파일 편집 버그가 수정된 것 같습니다.
대화가 길어지면 AI 지원 품질이 저하됩니다. 하나의 긴 세션을 유지하려고 하기보다는 새로운 구성 요소에 대해 신선한 대화를 시작하고 압축된 컨텍스트를 제공하는 방법을 배웠습니다.
코드가 길어지고 복잡해지면서 AI가 따라잡는 데 어려움을 겪었습니다. 품질을 유지하기 위해 작업을 더 작고 관리하기 쉬운 단위로 나누어야 하거나 AI가 제대로 작동하도록 많은 세부 정보와 컨텍스트를 제공해야 했습니다.
방향을 벗어나면 기능이 삭제되거나, 관련 코드가 삭제되거나, 때로는 완전히 잘못된 것을 구축하는 일이 수반됩니다. 이는 시간 낭비가 컸기 때문에 AI를 계속 추적하거나 수동으로 코딩하기로 결정하는 데 매우 신중해야 했습니다.
때로는 직접 수행하는 것이 더 빠를 때도 있습니다. 이러한 순간을 인식하는 방법을 배우면 상당한 시간과 좌절감을 줄일 수 있습니다. 내 개발 로그에 언급된 바와 같이: "작동할 때는 잘 작동하고, 그렇지 않을 때는 시간 낭비가 될 수 있습니다."
Git 자주 커밋: AI가 중요한 변경을 수행하기 전에 현재 상태를 커밋합니다. 이는 문제가 발생할 경우 쉽게 대처할 수 있는 방법을 제공합니다.
보일러플레이트 코드 준비: AI 지원을 받기 전에 프로젝트 구조와 기본 구성을 설정하세요. 제 경우에는 다음을 의미했습니다.
명확하고 상세한 메시지: 요구 사항을 최대한 구체적으로 설명하세요. 관련 맥락과 예시를 포함하세요. 요구 사항 및 설계 단계에 최대한 많은 시간을 할애하고 최대한 많은 세부 정보를 제공하세요. 이러한 메모와 지침은 프로젝트를 더 효과적으로 실행하는 데 도움이 될 뿐만 아니라 AI가 생성한 코드의 품질을 대폭 향상시킵니다.
반복 피드백: 주저하지 말고 AI를 수정하거나 안내하세요. 예를 들어 요구 사항에 맞지 않는 출력을 받았을 때 다음과 같은 구체적인 피드백을 제공했습니다.
Can you help me plan out making the following app in 7 hours: <information about the app> Detail out how long I should spend on each section, and revise my overall plan as needed.
이런 구체적인 피드백은 대개 빠르고 정확한 수정으로 이어졌습니다.
AI를 사용하면 개발이 절대적으로 가속화됩니다. 지침과 간헐적인 수정이 필요했지만 ChatGPT와 Claude, WindSurf를 함께 사용하면 같은 시간에 혼자 할 수 있는 것보다 훨씬 더 발전할 수 있었습니다.
단, 성공하려면 이러한 도구의 기능과 한계를 모두 이해해야 했습니다. 핵심은 AI 지원과 인간의 전문성 사이에서 적절한 균형을 찾고 각각의 장점을 활용하는 것이었습니다.
이 실험은 AI 도구가 현재 개발자를 대체하는 것이 아니라 개발자의 역량을 강화하는 개발 워크플로의 필수적인 부분이 되는 미래를 제시합니다. 핵심은 이러한 도구를 효과적으로 사용하는 방법을 배우고, 도구의 장점과 한계를 이해하고, 단점을 최소화하면서 장점을 극대화하는 워크플로를 개발하는 것입니다.
AI를 워크플로에 통합하는 데 관심이 있는 개발자의 경우 작은 규모로 시작하여 명확한 상호 작용 패턴을 확립하고, AI의 기능과 한계에 익숙해짐에 따라 점차적으로 AI의 역할을 확장하는 것이 좋습니다.
도구는 주니어 개발자 수준이며, 곧 충분한 교육 데이터와 반복을 통해 훨씬 더 많은 작업을 수행할 수 있게 될 것입니다. 이러한 도구가 궁극적으로 전체 애플리케이션을 작성하고 대부분의 개발 프로세스를 처리하는 것을 볼 수 있습니다. 모델이 선임 개발자를 시뮬레이션할 수 있을 때까지는 여전히 인간의 감독과 지도가 필요합니다.
이 기술이 어디로 흘러갈지, 소프트웨어 개발의 미래가 어떻게 변할지 기대됩니다.
다음은 제가 7시간 만에 구축할 수 있었던 앱의 간단한 스크린샷입니다. 완벽하지는 않지만 알찬 시작이네요!
(카메라를 이용한 음식 포착)
(음식 인식을 위해 이미지를 AI로 전송)
(결과 보기 - 추적기에 음식 추가)
(음식 반입 확인 중)
(대시보드 보기)
(음식 입장모습)
뻔뻔하지만 관련성이 높은 플러그:
이 게시물에 언급된 음식 앱을 계속 작업하는 동안 WindSurf와 A.I를 사용하여 다른 프로젝트를 꽤 빨리 끝낼 수 있었습니다.
커밋 메시지와 릴리스 노트를 더 쉽게 유지 관리할 수 있는 AI 기반 Git CLI 도우미에 관심이 있다면 eGit을 확인하세요
위 내용은 AI 쌍 프로그래밍으로 앱 구축: 스프린트에서 얻은 교훈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!