[2024]개발자가 Claude AI를 더 스마트하게 사용하는 3가지 방법

안녕하세요.
블로그 운영팀에서 AI탭터를 맡고있는 Charile입니다.

요즘 개발자들을 두 분류로 나뉘는거 같습니다.
성장 가능성이 있는 개발자 VS 성장하지 못하는 개발자

네 그리고 최근에는 또 하나의 기준이 있습니다.
AI를 적극적으로 활용하는 개발자 VS 그렇지 못한 개발자

제가 최근 가장 많이 사용하고있는 모델은 Claude AI입니다.
진정한 페어프로그래밍을 AI가 실현시켜주는것 같은 느낌을 받았습니다.
Claude의 기능들을 소개하고 개발자가 AI를 활용하는 방법에 대해 소개해드리겠습니다.

chatGPT와 차별점

GPT와 Claude를 비교시 많은 사람들이 느낀점은 GPT는 창의적인 영역에서 조금 더 강하다는것이고, Claude는 전문적인 영역과 기술적, 논리적인 영역에서 더 강하다는점 입니다. 좌뇌와 우뇌라고 할까요? 문과와 이과의 차이라고하면될까요? 꼭 들어맞는건 아닌거같습니다. 그래도 글쓰기나 문서작성에서는 GPT가 조금더 나은거 같다는 의견이 많습니다. GPT가 GPTs를 출시하고 멀티모달을 강점으로 내세웠다면 Claude에는 Claude Project와 artifacts 기능이 있습니다.
  1. 한국어 답변이 자연스럽다.
    • 전세계 언어를 폭넓게 잘 이해하고 잘 구사한다고 합니다.
    • GPT와 비교해봤을때, 영어로 질문하고 한글로 응답받거나, 별도의 확장프로그램을 설치하는것과 다르게 Claude는 별도의 명령 프롬프트 없이, 별도의 확장프로그램 없이도 한국어를 잘 구사하는거 같습니다
  2. 언어 이해도 높다.
    • 답변의 품질에 측면이 아닌 답변의 언어 이해도와 문맥의 이해도 측면에서 더 높은것처럼 느껴졌습니다.
    • 별도의 프롬프팅을 적용하지 않아도 문맥을 잘 짚어내는 느낌을 받았습니다.
    • 프롬프트 엔니지어링이 필요하지 않을수도 있겠다 싶었어요! 물론 원하는 답변을 이끌어내기위한 방법은 존재합니다.
  3. 긴 컨텍스트 지원
    • 질문의 컨텍스트 뿐만 아니라 응답 컨텍스트 또한 GPT대비 더 넓게 지원하는것처럼 느껴지지만 GPT를 더 이상 사용하지 않는 입장이라 정확한 비교는 해보지않았습니다 그러나 아주 긴 문장은 자동으로 파일첨부 형태로 지원하고있습니다. 사용자 경험적으로 볼때 아주 유용했습니다

Claude의 기능

  1. artifacts
    • 코딩결과를 실시간으로 확인하거나, 웹의 렌더링 결과를 대화창에서 바로 확인할수있습니다.
    • 공식 홈페이지에서는 SVG 파일을 생성하는것을 볼수있습니다.
      (이는 움직이는 이미지나 벡터 이미지를 생성할수있다는 의미)
    • 심지어 github의 브랜치 결과를 다음과 같이 렌더링해서 시각적으로 보여줍니다.
      GITHub 브랜치 렌더링
    • 복사하기, 다운로드, Publish 기능을 제공합니다.
      image 1
    • 다운로드시에는 MD파일로 다운되어 이를 지원하는 플랫폼에서(예를들어 GitHub) 활용할수있습니다.
    • chatGPT에 GPTs가 있다면 Claude에는 Publish기능이 있습니다. 다른사람과 공유하여 애플리케이션같은 환경을 제공합니다.
  2. Claude Project
    • Custom Instructions 설정 – AI의 행동 방식, 지식 적용 방법, 응답 스타일등을 제어할수있습니다.
      image 2
    • 개인화 맞춤 지식 구축
      • 프로젝트에 필요한 문서, 코드, 가이드라인 등을 업로드하면 클로드는 이를 학습하여 해당 프로젝트에 특화된 지식을 갖추게 됩니다
      • 외부에 노출되지 않고 맞춤화된 데이터를 학습시킬수있습니다.
    • 유료
      • 공유가 가능하기때문에 팀 단위로 Instructions을 설정한다면 매우 유용하게 사용할수있을것같지만(노션 정리한 자료를 모두 넣는다면 검색엔진처럼 활용할수도, 도메인 지식을 갖춘 애플리케이션 처럼 활용할수도 있을듯?) 유료로만 제공합니다.

개발자가 AI를 어떻게 다루어야 하는지에 대한 개인적인 생각…

image 6
개발자에게 AI는 독일까요? 득일까요?
생산성측면에서는 분명 이점이 많다는 사실은 부정할 수 없는 것 같습니다. 
그렇다면 내가 지속적인 성장하길 원하는 개발자라면 어떤가요? 혹은 나의 직업을 대체하지 않을까 두려우신가요?

개발자의 다양한 업무 중 가장 큰 부분을 차지하는 코딩은 특히 AI가 아주 잘하는 영역입니다.
그리고 코딩은 쓰기보다 읽기가 많은 영역입니다.

내가 코드를 작성하는 시간보다 남들이 작성한 코드와 문서를 읽는시간이 많다는점은 시사하는바가 큽니다.
주니어에 가까울수록 읽기에 더 많이 집중 해야 한다고 생각합니다. 
StackOverFlow든, 선배개발자의 코드든, 공식문서의 Tutorial이든 말이죠.
심지어 내가 작성한 코드라면 말할것도 없습니다. 더 많이 읽어보세요

신기하게도 AI를 더 많이 활용할수록 쓰기 시간보다 읽기 시간이 더 많아지는거같습니다. 오히려 양질의 코드를 아주 빠르게 내뱉어주니, 코드의 탐색비용이 줄고 코드 자체의 읽기 시간과 분석 시간이 더 많아지고있습니다.

중요한점은 AI를 활용할수록 개발자는 더욱 더 능동적으로 읽기와 쓰기를 해야합니다.
이전과 같이 StackOverFlow에서 코드를 복붙하듯이하면 더 많이 망가지는걸 볼수있습니다. 반드시 명심하세요!
(자율수행이 나온다면 드라이버는 운전보다 안전에 더 신경을 쓸수밖에 없는것과 같은 맥락으로...)

또한 AI가 나보다 코딩은 더 잘하지만 나보다 더 깊이있게 문제를 다루지는 않는거같습니다.
무슨말인고하면 어떤 요구사항을 분석하고 프로그래밍을 하다보면 반드시 해야하는것이 두가지 있습니다.
바로 요구사항을 분석해서 목표를 TASK로 나누는것과 나누어진 테스크를 코딩하고 검증하는것입니다.
이것이 바로 문제해결의 핵심이며 요구사항에 대해 명확히 이해를 하는 과정입니다.

AI를 잘 활용하기위해서는 개발자 스스로 이 두가지 행위에 대해 잘할수있어야하고 이를 명확하게 AI에게 전달했을때 비로소 AI를 잘활용할수있습니다.

AI를 더욱 잘 활용하는 방법은 AI와 페어프로그래밍을 하는것입니다.
image 3

페어 프로그래밍에는 드라이버와 네비게이터가 있습니다.

드라이버는 키보드와 마우스를 잡고 코딩을하고 네비게이터는 문제 해결방법을 논리적으로 생각하고 이를 드라이버에게 명확하게 전달합니다.

드라이버와 네비게이터는 서로 다른 관점으로 협력하며 프로그래밍을 해나갑니다..

드라이버는 기술적인 것과 세부사항 등을 생각하고 네비게이터는 관찰자 입장에서 설계, 구조적인 부분과 큰 그림을 생각하며 진행합니다.

현실의 페어 프로그래밍은 실효성과 현실성에서 논란이 많습니다. 과거의 기술블로그에서 많이 언급되었던과 다르게 지금은 어느 누구도 페어프로그래밍에 대해 말하지 않고있습니다.
(한때 개발문화의 꽃처럼 받아들여지는듯 보였으나....)

그러나 AI가 등장하면서 진정한 페어 프로그래밍이 현실화된것 같습니다..

생산성이 증가한만큼 남은 시간에 학습하지 않으면 개발자의 수명은 더 짧아질것이고, AI가 내뱉은 결과에 대한 분별력이 없고 더 나은 방식을 AI에게 제안하지 못한다면 경쟁력은 없어질것입니다.

코딩에서 읽기활동이 많을수록(Input) 쓰기시간은 더 짧아집니다.
(Output: 더 짧고 간결한 코드를 빠르게 작성가능)
AI가 응답한 코드 결과물을 더 섬세하게 읽지않고 틀린점과 방향을 정확하게 집어내지 못한다면 AI보다 나은점이 무엇인가요?

이상으로 긴글을 읽어주셔서 감사합니다.

더 나은 콘텐츠로 찾아뵙겠습니다.

Leave a Comment