
Claude Code, 완전 자동화는 무리겠죠? (웃음)
요약
Claude Code를 포함한 AI 도구가 앱 개발의 8할까지는 가능하게 하지만, 완전 자동화는 여전히 어렵다는 점을 강조합니다. 엔지니어의 설계 역량과 검토가 마지막 2할의 완성도를 결정짓는 핵심임을 설명합니다.
핵심 포인트
- AI 도구는 개발의 8할까지는 빠르게 진행할 수 있음
- 완전 자동화된 앱 개발은 여전히 현실적으로 매우 어려움
- 요청하지 않은 코드 수정 및 의도치 않은 동작 발생 가능성 존재
- 최종 완성도를 위해서는 엔지니어의 정교한 설계와 리뷰가 필수적임
먼저 말씀드리자면, 저는 Claude Code를 매일 사용하고 있습니다. 사용하고 있기 때문에, 혹시 저와 같은 분이 계시지 않을까 하는 생각에 글을 씁니다.
그런 만능인 도구가 있다면 모든 사람은 Claude만 사용하게 될 텐데...
Claude Code, 쓸모없지 않나요? (웃음)
아니, AI 전반에 해당되는 이야기입니다만, 엔지니어라면 엔지니어일수록 세세한 부분 등이 신경 쓰여서, 그 수정만 하다가 하루를 허비한 적이 있지 않나요?
X(Twitter)를 열면 「Claude로 완전 자동 앱을 만들어 보았다」, 「이제 엔지니어는 필요 없다」 같은 게시물이 흘러나옵니다.
친구에게도 「이제 엔지니어는 필요 없는 거 아냐?」라는 말을 들었습니다.
Qiita에서도 종종 보입니다.
초조해지시나요? 저는 이제 초조해하지 않게 되었습니다.
「##(헤딩)」이나 「XML 태그」, 「ーーー」로 구분하여 프롬프트(Prompt)를 구조화하고,
Skill에 부탁하면 된다고 생각하며 구현해도,
여전히 좋은 설계와 좋은 코드가 되지 않습니다. 주변에서는 다들 완전 자동화로 앱을 만들고 있는 것 같은데 말이죠.
오해 없도록 말씀드리자면, 구조화 그 자체는 효과가 있습니다.
「##」로 구분하면 답변의 정밀도는 눈에 띄게 올라갑니다.
하지만 「효과가 있다」와 「완전 자동화가 가능하다」 사이에는 깊은 골이 있습니다.
애초에, AI와의 리뷰 무한 루프(Review Loop)를 경험해 본 적이 없으신 건가요...
「왜 이런 설계지?」, 「권한을 설계해 줘」, 「종량제 금액을 억제하고 싶으니까 재검토해 줘」라고
꼬치꼬치 따지다 보면, 내가 지금 무엇을 하고 있는지 모르게 되는 그런 상황 말입니다.
있지 않나요?
이야기로 돌아가서, 완전 자동화로 앱을 만들고 있는 사람을, 적어도 저는 본 적이 없습니다.
아니, 아마 0명은 아니겠지만, 사내 앱조차 마지막은 사람의 손을 거쳤고, 제가 만든 WEB 앱도 마지막은 제 손이었습니다.
이유가 있습니다. 저는 「완전 자동화로 앱을 만들 수 있는 프롬프트」 계열의 고가 상품에, 합계로 20만 엔 가까이 사용해 왔습니다. 정보 약자(情弱)였습니다.
결과: 만들 수 없었습니다.
참고로 상품의 내용은 「##로 구조화합시다」 같은, 지금이라면 Qiita에서 무료로 읽을 수 있는 내용이 대부분이었습니다.
그것에 20만 엔. 그래서 정보 약자라고 말하는 것입니다.
그 커뮤니티의 오프라인 모임에서 참가자 중 한 명과 친해져서 물어보았습니다. 「만드셨나요?」라고.
그 사람도 만들지 못했습니다.
또 다른 비엔지니어 분은 「할 수 있었어요!」라고 말했습니다. 자세히 물어보니, 로그인 동작만 가능했습니다.
이때 제 머릿속은 이랬습니다.
『React에 Auth0를 연결하면 로그인은 작동한다. AWS의 Amplify라면 처음부터 로그인 메커니즘이 들어있다』
「앱이 완성되었다」와 「로그인 화면이 작동한다」 사이에는 깊고 깊은 골이 있습니다.
너무나 큰 충격에 그 자리에서는 아무 말도 할 수 없었습니다.
『완성』의 기준이 엔지니어와 비엔지니어 사이에서 이렇게나 다른가 싶었습니다.
저뿐만이 아니라고 믿으며 글을 씁니다.
- 수정을 요청하면,
요청하지 않은 부분까지 고쳐온다. 참 고마운 일이네요... - 명백히 의도하지 않은 동작인데,
「테스트 OK입니다!」라고 자신만만하게 보고해 온다 - 리뷰를 부탁했는데, 돌아온 지적 사항에 세 가지 정도 반박을 넣다 보면,
나도 AI도, 지금 무엇을 하고 있었는지 모르게 된다 - 정신을 차려보면, 동작은 하지만 고칠 수는 없는 「
8할 완성」된 것이 손에 남는다
그렇습니다, 8할까지는 가능합니다. 대단한 시대입니다. 하지만 마지막 2할에서 막힙니다. 그리고 앱은 8할 상태로는 내놓을 수 없습니다. 그리고 의도한 대로 동작하지 않습니다.
성공하는 방법은 쓸 수 없습니다. 가지고 있지 않으니까요. 다만, 실패를 거듭하며 「이것은 좀 더 나아질 수 있다」고 느낀 것은 두 가지가 있습니다.
AI의 답변이 길면 인간이 다 읽을 수 없게 됩니다. 다 읽지 못한 채 「OK」라고 말하는 순간부터 어긋남이 쌓이기 시작합니다. 그래서 처음에 이렇게 부탁합니다.
「답변은 짧게. 하나씩 진행합시다」
AI의 답변은 전부 읽는다. 읽을 수 없는 길이이라면 짧게 해달라고 한다. 이해할 때까지 다음으로 넘어가지 않는다. 사소하지만, 이것이 가장 효과적이었습니다.
리뷰를 부탁하면 지적 사항이 한꺼번에 돌아와서, 아까 말한 「지적 사항에 여러 번 반박하다 미궁에 빠지는」 상황이 발생합니다. 그래서,
- 우선 지적 사항을
리스트(텍스트)로 만들어 달라고 한다 - 하나씩 「고친다/고치지 않는다」를
나와 AI가 합의한다 - 합의된 것만
체크를 하며 해결해 나간다
이 방식을 사용하면 하나씩 처리할 수 있으므로 재작업(Retake)이 줄어듭니다.
「리스트」로 만들면 무엇이 남아있는지도 알기 쉽습니다.
또한, ①에서 설명한 「하나씩 수정하기」 프롬프트와 자연스럽게 연결되므로, 정확도(Precision)도 높아지고 있다고 느낍니다.
같은 지적을 3번이나 했는데도 고쳐지지 않는다면, 그 세션은 이미 길을 잃은 상태입니다. 미련을 갖지 말고, 인수인계용 프롬프트를 만들어 달라고 요청한 뒤, 새로운 세션에서 다시 시작하는 것이 더 빠릅니다.
- 세션별·프롬프트별로, 스킬(Skill)이나 지시는 다시 만들기
- 의뢰는 짧게 나누기
- AI의 답변은 전부 확인하기. 다 볼 수 없을 정도로 길다면 짧게 해달라고 요청하기
- 이해할 때까지 진행하지 않기
이 점들을 의식하면 결과물이 상당히 좋아집니다. 체감상으로는 아주 많이 좋아집니다.
하지만, 100점이 되지는 않습니다. 단언컨대 그렇습니다.
마지막 2%를 채우는 것은, 「왜 AI가 그렇게 만들었는가」를 이해하고 수정할 수 있는 사람입니다.
즉, 내부 내용을 알고 있는 사람입니다. AI 시대가 되어도 그 부분은 여전히 엔지니어의 몫입니다.
저는 오늘도 Claude Code에게 「답변은 짧게. 하나씩 진행합시다」라고 말하는 것으로 시작합니다.
여기까지 읽어주셔서 감사합니다.
「아니, 나는 완전 자동화로 하고 있어」라고 말씀하실 분이 있다면, 꼭 댓글로 알려주세요. 진심으로 알고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기