25P by spilist2 13시간전 | ★ favorite | 댓글 2개

증강형 코딩은 바이브 코딩과 뭐가 다른가?

  • 바이브 코딩에서는 코드는 신경쓰지 않고 시스템 동작만 신경씀. 에러가 있으면 '이런 에러가 있다'고 얘기하고 고쳐주길 기대
  • 증강형 코딩에서는 코드를 신경씀. 코드의 복잡도, 테스트, 테스트 커버리지가 중요.
  • 증강형 코딩에서는 기존의 코딩과 마찬가지로 "Tidy Code That Works", 즉 '작동하는 깔끔한 코드'를 중요시함. 단지 예전만큼 타이핑을 많이 하지 않을 뿐

AI가 잘못하고 있다는 3가지 신호

증강형 코딩에서 AI의 중간 결과를 관찰하며, 다음 3가지 신호가 나타나는지 살펴 개입하는 게 중요

  • 비슷한 행동을 반복한다 (무한루프 등)
  • 내가 요청하지 않은 기능 구현. 그게 논리적인 다음 단계가 맞을지라도.
  • 테스트를 삭제하거나 비활성화는 등, AI가 치팅하는 걸로 느껴지는 그 외 모든 신호.

TDD를 돕는 시스템 프롬프트

  • 원글 본문이 복사하기 좀 번거로워서 gist에 넣어둠
  • 마지막에 Rust 구문만 본인 프로그래밍 언어/프레임워크에 맞게 바꾸시면 어디서나 아주 훌륭하게 재사용할 수 있는 프롬프트로 보임.

맺으며

우리가 사랑하는 이 직업이 사라지고, 코드를 다루는 즐거움이 없어질 거라는 두려움이 많다는 것을 압니다. 불안해하는 것도 당연합니다. 네, '지니'와 함께 프로그래밍하는 것은 분명 변화를 가져오지만, 여전히 프로그래밍입니다. 어떤 면에서는 훨씬 더 나은 프로그래밍 경험이죠. 제가 시간당 내리는 의사결정의 수와 질을 보면, 따분하고 판에 박힌 결정은 줄어들고 더 중대한 프로그래밍 결정은 더 많아졌습니다.

소위 '야크털 깎기(yak shaving)'라 불리는, 본질과 거리가 먼 잡다한 작업들이 대부분 사라집니다. 저는 '지니'에게 커버리지 테스터를 실행하고 코드의 신뢰도를 높일 테스트들을 제안해달라고 했습니다. '지니'가 없었다면 매우 막막한 일이었겠죠. 테스터 실행에 어떤 라이브러리의 어떤 버전이 필요한지부터 알아봐야 했을 테니까요. 아마 두 시간쯤 씨름하다가 포기했을 겁니다. 대신, 저는 '지니'에게 말하기만 하면 되고, '지니'가 세부 사항들을 알아서 처리해 줍니다.

메타버스 이후는 흠.. 입코딩?

이제 메타버스코딩이 나올 차례네요