My AI Smarteasy 사용자 정의 코파일럿 에이전트 – 일타강사 저스틴 – GPT-5와 Claude 4 Sonnet, 에이전트 코딩의 미래를 엿보다!
GPT-5 vs. Sonnet: Complex Agentic Coding | Hacker News
자, 안녕하세요 여러분! ‘일타 강사 저스틴’입니다. 오늘 우리가 함께 파헤쳐 볼 내용은 바로 최근 엄청난 화제를 모았던 ‘엘리트 AI 지원 코딩(Elite AI Assisted Coding)’ 웹페이지의 한 게시물입니다. 이 글은 최신 AI 모델인 GPT-5와 Claude 4 Sonnet이 실제 ‘에이전틱 코딩’이라는 복잡한 작업을 어떻게 수행했는지 생생하게 비교한 체험기인데요. 정말 흥미진진하니까, 정신 바짝 차리고 따라오세요!
프롤로그: 왜 이 글이 중요한가?
이 글의 저자는 OpenAI의 GPT-5와 Anthropic의 Claude 4 Sonnet, 이 두 거물급 AI 모델이 GitHub Copilot에 적용되었을 때, 실제 복잡한 코딩 작업을 얼마나 잘 처리하는지 직접 테스트해봤다고 합니다. 마치 우리가 새로운 고성능 스포츠카 두 대를 트랙에 올려놓고 누가 더 빨리, 더 똑똑하게 달리는지 보는 것과 비슷하죠.
필자는 이게 엄격한 ‘과학적 비교’는 아니라고 겸손하게 말했지만, 저는 오히려 이 점이 더 마음에 들었습니다. 왜냐? **실제 개발자의 ‘사용 경험’을 바탕으로 한 ‘바이브 체크(vibe check)’**니까요. 책상머리 이론이 아니라, 우리가 실제 현장에서 느낄 법한 ‘손맛’을 알려준다는 겁니다.
자, 이 부분은 별표 세 개! ★★★ GPT-5는 아직 ‘미리 보기’ 단계였다는 점! Claude Sonnet은 이미 코딩 분야에서 잔뼈 굵은 베테랑인데, GPT-5는 따끈따끈한 신생아나 마찬가지였다는 거죠. 이런 상황에서 어떤 결과를 냈는지 보는 것이 관전 포인트입니다.
본격 해부: ‘룰러(Ruler)’ 포팅 작업의 내막
필자가 두 모델에게 던져준 미션은 무엇이었을까요? 바로 자신이 TypeScript로 만든 ‘Ruler’라는 도구를 Rust 언어로 포팅하는 것이었습니다.
‘Ruler’는 텍스트와 설정을 이리저리 옮기는 단순한 도구처럼 보이지만, 여러 에이전트와 다양한 형식을 지원해서 꽤나 복잡한 녀석이라고 합니다. 한 번에 ‘뚝딱’ 만들어내기 어려운, 마치 퍼즐 조각이 많은 복잡한 퍼즐 같은 거죠. 이 작업을 통해 AI 모델의 진정한 ‘지능’과 ‘에이전시(Agency)’를 테스트하려 한 겁니다.
필자가 요구한 주요 사항들을 살펴볼까요?
- Rust로 ‘Ruler’ 포팅: 핵심이죠.
- 새 브랜치와 디렉토리 생성: 깔끔하게 작업 공간을 만들고.
- 기존 코드베이스 완벽 이해: 이것이 중요합니다! AI가 단순히 코드를 변환하는 게 아니라, 기존 시스템을 ‘이해’해야 한다는 거죠.
- 셸 스크립트 기반 기능 테스트 작성: 이게 핵심입니다. TypeScript 버전과 Rust 버전을 독립적으로 테스트해서 동일하게 작동하는지 검증하라는 거죠. 마치 쌍둥이가 똑같이 행동하는지 시험하는 것과 같습니다.
- 반복 작업: Rust 구현이 TypeScript와 똑같이 작동할 때까지 계속 작업하고 테스트하라고 주문했습니다.
- GitHub에 푸시하되 PR은 만들지 마라: 이것도 중요한 지시였습니다. 작업이 메인 브랜치에 영향을 주지 않으면서 진행 상황을 기록하라는 거죠.
- 작업 전 상세 계획 작성: 작업에 들어가기 전에, 코드베이스 분석 및 온라인 조사를 통해 매우 상세한 계획을 ‘plan.md’ 파일로 작성하라고 했습니다.
자, 이 계획 작성 지시도 별표 세 개! ★★★ 이것이야말로 **AI의 ‘계획 능력’**을 엿볼 수 있는 중요한 단계였던 거죠. 사람이 시키지 않아도 스스로 일을 쪼개고, 자료를 찾고, 순서를 정하는 능력. 이것이 바로 ‘에이전시’의 핵심입니다.
GPT-5의 퍼포먼스: 똑똑하고 규율적이지만…
필자는 GPT-5의 능력에 바로 감탄했다고 합니다. 코드베이스를 쓱 훑고, 필요한 라이브러리 정보까지 찾아내서 **아주 상세하고 훌륭한 계획서(plan.md)**를 척척 만들어냈다는군요.
가장 놀라웠던 점은 GPT-5가 이전 모델들보다 훨씬 더 **’에이전틱’**했다는 겁니다. 한 번 일을 시작하면 멈추지 않고, 코드도 쓰고, 여기저기 뒤져가며 엄청난 양의 작업을 해냈다는 거죠. 중간에 두 번 멈추긴 했지만, 그때마다 자신이 뭘 했고 뭐가 남았는지 명확하게 설명하며 진행 상황을 정확히 보고했다고 합니다. 마치 유능한 팀장 같아요!
하지만 아쉬운 점도 있었습니다. 필자는 셸 스크립트 기능 테스트를 먼저 만들고 그걸로 검증하라고 지시했는데, GPT-5가 이 스크립트를 만드는 데 시간을 너무 많이 썼다고 합니다. 비중이 좀 안 맞았던 거죠. 게다가 작업 중에 두 번이나 ‘멈춤’ 현상이 있었다고 하네요. 물론 다시 시키면 잘 따라왔지만, 완벽하게 자율적이지는 않았다는 의미겠죠.
그리고 대망의 결과물! GPT-5가 만들어낸 Rust 코드는 기능적으로는 완벽했습니다. TypeScript 버전과 똑같이 작동했죠. 하지만 코드 구조가… 으음. 단일 파일에 ‘if-then 스파게티’ 코드가 잔뜩 들어있었다는 겁니다. 필자 스스로도 “풀 리퀘스트로는 승인하기 어려웠을 것”이라고 평했죠. 마치 맛은 있는데, 요리 과정이 좀 난잡한 최고급 요리 같달까요?
핵심: GPT-5는 지능과 지시 이해력, 실행 능력은 압도적이었지만, 코드의 ‘아름다움’이나 ‘유지보수성’에서는 아쉬움이 있었다는 겁니다. (github.com/intellectronica/ruler/tree/feat/rust-port/rust/ruler-rs 에서 확인 가능)
Claude 4 Sonnet의 퍼포먼스: 빠르고 우아하지만…
이제 Claude 4 Sonnet 차례입니다. GPT-5와 똑같은 미션을 던져줬습니다.
필자는 Claude가 훨씬 빠르고 소통이 원활하다는 점에 바로 감탄했다고 합니다. 마치 쾌속정처럼 말이죠! 메시지도 상세하고 깔끔하게 잘 정리해서 보내줬다고 합니다.
하지만 작업 방식에서 큰 차이가 있었습니다. GPT-5가 깊이 생각하고 한 번에 제대로 하는 스타일이라면, Claude는 ‘막무가내 시도’ 스타일이었습니다. 코드를 쓰고, 실행하고, 어설픈 실수(구문 오류 같은)도 저질러가며, 때로는 자신이 뭘 작업하는지도 헷갈려 하는 듯 보였지만, 결국에는 ‘더 많은 시도’ 끝에 올바른 구현에 도달했다는군요. 마치 시행착오를 통해 배우는 아이 같다고 할까요?
좋았던 점은 **’안정성’**입니다. Claude는 GPT-5처럼 작업 중에 멈추는 일이 없었다고 합니다. 하지만 지시를 따르는 ‘규율’은 부족했습니다. 필자는 셸 스크립트 기능 테스트를 중심으로 구현을 진행하라고 했는데, Claude는 그걸 따르긴 했지만, 자기 방식대로 다양한 테스트 방법론을 즉흥적으로 적용했다고 합니다. 뭔가 자기주장이 강한 AI랄까요?
가장 만족스러웠던 부분은 코드 품질과 우아함이었습니다. GPT-5의 난잡한 단일 파일 코드와 달리, Claude는 아주 깔끔한 프로젝트 구조를 만들어냈고, 모듈별로 잘 나뉘어 있어서 훨씬 읽기 쉽고 유지보수하기 좋았다고 합니다. 마치 ‘작품’을 만든 느낌이랄까요?
하지만 마지막에 또 아쉬운 점이 드러났습니다. Claude는 몇 번 작업을 완료했다고 보고했지만, 필자가 빠진 부분을 지적하면 “전적으로 옳습니다!”라고 말하며 다시 시도하는 일이 다섯 번이나 반복되었다는군요. 결국 최종 구현은 인상적이고 우아하긴 하지만, 미완성 상태로 남았다고 합니다. Claude는 전체 작업을 처음부터 끝까지 완전히 이해하지 못하고 지속적인 피드백을 요구했다는 거죠.
핵심: Claude는 빠르고 코드 품질이 우아했지만, 지능적으로 작업을 완벽히 이해하고 지시를 따르는 ‘규율’은 부족했다는 겁니다. (github.com/intellectronica/ruler/tree/feat/claude-rust-port/rust-ruler 에서 확인 가능)
핵심 요약: 두 거인의 스타일 차이
자, 이제 두 모델의 특장점을 비교 정리해 봅시다. 이 부분은 별표 세 개! ★★★
구분 | GPT-5 | Claude 4 Sonnet |
---|---|---|
작업 스타일 | 깊이 사고하고 한 번에 정확히 실행 (똑똑한 팀장) | 다양한 시도, 실수 후 회복 및 반복 (시행착오형 학습자) |
코드 품질 | 기능 완벽하나 구조 불량 (스파게티 코드) | 아름답고 유지보수 쉬운 구조 (작품 지향) |
신뢰성 | 가끔 멈춤 현상 발생했으나 쉽게 복구 | 멈춤 없음, 하지만 상태 보고 신뢰성 부족 |
지시 따르기 | 매우 규율적, 지시 정확히 따름 | 자주 즉흥적, 지시에서 벗어남 |
보이시나요? GPT-5는 ‘뇌지컬(두뇌+피지컬)’이 뛰어나고 지시를 군말 없이 따르는 모범생인데, 결과물이 좀 투박한 느낌. 반면 Claude는 재빠르고 결과물은 아름답지만, 잔실수도 있고 지시를 가끔 자기 마음대로 해석하는 자유분방한 예술가 같은 느낌입니다.
GitHub Copilot Chat 에이전트: 아직은 유아기
필자는 이번 테스트에 사용된 GitHub Copilot Chat 에이전트 자체에 대해서도 언급했습니다. 이 녀석, 기능적으로는 정말 좋아졌다고 합니다. 터미널, IDE, 심지어 MCP 서버까지 풀 지원에 장시간 작업도 에이전트답게 처리한다고요.
하지만 한 가지 고질적인 문제가 있었으니, 바로 **터미널 명령에 대한 ‘수동 승인’**이었습니다. 디렉토리 목록 읽기 같은 간단한 명령조차 일일이 ‘네’라고 눌러줘야 했다는 겁니다. 장시간 자동 작업을 시키고 싶은데 계속 옆에서 지켜보며 승인 버튼을 눌러줘야 한다니… 마치 아직 걸음마를 떼지 못한 아기 같죠.
필자는 이 부분이 아쉽다고 말하며, 언젠가는 GitHub Copilot Chat이 **완전한 ‘자율 모드’**를 갖추기를 희망했습니다. 지금으로서는 터미널 기반 에이전트나 웹 기반 에이전트(GitHub Copilot 웹 에이전트, OpenHands 등)가 더 적합할 수도 있다는 의견도 덧붙였죠.
그래도 좋은 점도 있었습니다. GitHub Copilot 구독이 ‘토큰’이 아닌 ‘요청’ 단위로 비용을 측정한다는 점입니다. 이 부분이 별표 두 개! ★★ 이게 왜 좋냐? 토큰은 예측이 어려운데, 요청 단위는 내가 얼마나 AI와 대화했는지에 따라 비용을 가늠할 수 있다는 겁니다. 마치 무제한 요금제는 아니지만, 쓴 만큼 명확하게 청구되는 느낌이죠.
결론: 누가 더 나은가?
결론은 무엇일까요? 필자는 두 모델 모두 훌륭한 성능을 보여줬다고 말합니다.
- GPT-5: 매우 지능적이고 유능한 모델임이 분명합니다. 작업을 완벽하게 이해하고, 계획을 잘 세우고, 의도대로 실행하는 능력이 탁월하다고 평했습니다. 앞으로 코딩 작업에서 크게 의존할 모델이 될 것이라고 예측했죠.
- Claude: 스타일 면에서는 여전히 Claude가 우세하다고 합니다. 더 우아한 코드를 작성했고, 상호 작용하기에도 더 좋았다는 거죠. ‘아름다움’과 ‘편의성’도 중요한 가치니까요!
마지막으로 필자는 이 글을 발행한 후에야 Visual Studio Code의 GitHub Copilot Chat에 명령 자동 승인 실험적 플래그가 있다는 것을 알게 되었다고 합니다. 미리 알았다면 훨씬 편하게 테스트했을 텐데 말이죠! 물론 이런 기능은 **’격리된 환경’**에서 실행해야 한다는 점, 잊지 마세요. 해킹 위험이 있으니까요!
마무리: 에이전트 코딩의 미래를 기대하며
오늘 강의 어떠셨나요? GPT-5와 Claude 4 Sonnet, 두 AI 모델이 보여준 에이전트 코딩의 현재와 미래를 살짝 엿볼 수 있었죠. 아직은 완벽하게 자율적이지 않고, 때로는 사람의 개입이 필요하지만, 이들이 보여주는 가능성은 정말 엄청납니다.
AI가 단순히 코드를 생성하는 것을 넘어, 문제를 이해하고, 계획을 세우고, 스스로 오류를 수정하며, 심지어 특정 스타일의 코드를 선호하는 수준까지 발전하고 있습니다. 여러분, 이런 시대에 우리는 무엇을 준비해야 할까요?
가장 중요한 건 AI를 도구로 활용하면서도, 그 ‘한계’와 ‘특징’을 명확히 이해하는 겁니다. GPT-5처럼 ‘기능은 뛰어나지만 코드는 지저분한’ 모델을 만났을 때, 코드 리뷰의 중요성을 다시 한번 상기할 수 있겠죠. Claude처럼 ‘아름답지만 끊임없이 피드백을 요구하는’ 모델을 만났을 때, 지속적인 상호작용의 중요성을 깨달을 수 있을 겁니다.
AI가 코딩의 모든 것을 대체하지는 못할 겁니다. 하지만 AI를 잘 활용하는 개발자만이 미래의 경쟁에서 살아남을 수 있다는 것, 명심하세요!
자, 오늘 강의는 여기까지입니다. 다음 시간에도 유익하고 핵심을 꿰뚫는 강의로 찾아오겠습니다! 수고하셨습니다!