Jiwift

개발자 AI를 잘 활용하는 방법 본문

잡담

개발자 AI를 잘 활용하는 방법

지위프트 2025. 2. 15. 19:36
반응형

 요즘 AI를 사용한 결과물이 매우 좋아지고 있다. 물론 100% 원하는 답이 나오지 않을 때가 있는데, 나의 질문하는 스킬도 점점 늘어나는 기분이다. 개발을 처음 시작했을 때 구글 검색에서 원하는 검색 결과를 찾아내는 게 어려웠지만 사용할수록 원하는 결과가 잘 나오는 것과 같은 모습이다. 

 

 아직까지 AI가 개발자 자리를 대처하지 못한다고 생각하는 분들은 AI를 얼마나 잘 활용하고 있는지 생각해 볼 필요도 있다. 요즘 느끼는 점은 AI는 충분하게 좋은 결과를 내고 있다. 질문만 잘한다면 최고의 도구가 된다. 물론 그 질문을 사람이 하는 문제가 있지만 업무 처리 속도가 정말 빠르게 올라간다. 

 

 나도 이전까지는 사람이 질문하고 코드를 적용하고 디버깅하는 과정들 때문에 AI가 일 자리를 뺏을 것 같지 않았지만, 요즘은 생각이 달라졌다. 물론 사람을 안 뽑을 수는 없지만 적게 뽑을 수 있을 것 같다. 과연 나는 살아남을 수 있을까??.. 고민이 많아지는 기분이다. ㅋㅋㅋ...

 

 우선 AI를 단순하게 정답 도출용으로 사용하다 보면 아직은 디버깅이 많이 필요하다. 개발자적으로 작성하긴 했지만 아래 방법들을 사용하면 어느 분야에서든 검증 과정을 최대한 줄일 수 있다. 

 

1. 대화를 많이 해야 한다.

 나는 이전에 GPT나 Claude를 사용할 땐 "A를 해줘", "B가 뭐야", "C는 어떻게 해야 해?"라는 식의 질문을 많이 했다. 그러면 AI는 우리에게 답을 알려주려고 발악한다. 답을 줘야 하도록 만들어젔기 때문이다. 그러니 정말 모르는 게 아니면 일단 뭐라도 알려준다. 그게 틀릴 수도 있다. 여기서 우리는 디버깅 과정이 필요해진다. 

 

 뭔가를 할 때 대화 내용을 늘리고 진짜 대화하듯이 진행하면 좋다. 너무 도구적으로 사용한다면 아직까지는 사용자도 생각 없이 질문하고 완벽하지 않은 결과물을 그대로 사용하고 틀릴 수 있다.

 

 예시: "A를 해줘"

-> "나는 Swift, UIKit, SnapKit을 사용해서 UI를 만들고 있어, 앱을 만드는데 나는 A라는 기능이 필요해 A는 구글과 애플에서 비슷하게 만든 게 있어, 이거에 관해서 너도 어느 정도 알고 있을 것 같은데.. 코드 말고 네가 어떻게 생각하고 있는지 알려줄래?"

 

예시: "B가 뭐야??"

-> "내가 어디서 ㅁㅁ와 관련된 내용을 보다가 B라는 것을 보았어, 근데 이게 무슨 소리인지 모르겠네. 위아래 내용에는 ABC, 123, 456 이런 내용들이 있어 너는 뭔지 알겠니??"

 

예시:  "C는 어떻게 해야 해"

-> "나는 지금 어떤 상태인데, 내가 할 수 있는 건 이거고 ㅁㅁㅁ를 해봤는데 잘 안되더라, ㅂㅂㅂ 방법도 시도해 볼까 했는데 이건 이래서 마음에 들지 않아 이 상태에서 나는 C를 어떻게 해야 할까??"

 

라는 식으로 최대한 사전 정보와 AI가 알고 있는 내용들을 들어보고 조율해 나가면 결과를 얻었을 때 더 괜찮은 결과를 얻게 된다. AI는 사전 정보들을 통해서 우리가 원하는 대답에서 최대한 관련 있게 알려줄 것이다.

 

2. 질문을 시킨다. 

 개발하다 보면 여러 가지 로직을 작성해야 할 때가 있다. 근데 이게 단순한 게 아니라 정말 복잡한 경우가 있다. 예를 들어 최근에 나는 달력을 만들어야 하는 경우가 있었는데, 오픈소스 라이브러리도 오래되었고 Swift를 사용하고 싶어서 Claude와 작업을 진행했다.

 

 하지만 내가 생각해도 설명하기 어렵고 너무 많은 예외 케이스들이 존재했기 때문에 코드를 받아서 적용했을 때 단순한 건 잘 나왔지만 예외 상황에서 계속 버그가 발생했다. 나도 얼마나 알려줘야 할지 모르겠고,,, 고민하고 있었다.

 

 하지만 AI에게 계속 질문하게끔 해서 예외 상황을 줄여나갔다. 

 

 우선 구글 캘린더와 비슷한 방식으로 일정을 표시하려고 했다. 그리고 일정 표시에 필요한 기본 정보를 알려주고 AI에게 계속 질문하게 만들었다. AI가 나에게 "A라는 상황은 B로 처리되는 게 맞나요"라고 질문하게끔 계속 유도했다. 처음에는 많이 틀렸지만 나는 AI에게 "추가로 더 질문해 봐" 이런 식으로 마지막 말마다 요청했고, 일정 표시와 관련해서 좋은 결과를 얻게 되었다. 

 

 이 과정에서 속도를 내기 위해서는 내가 원하는 식에 기본적인 코드만 제공하고 답을 받을 때는 코드가 아닌 대화로만 진행하다 AI가 예외 상황을 어느 정도 전부 인지했다 싶을 때 코드를 알려달라고 하는 것이 디버깅 시간을 많이 줄일 수 있을 것이다. 만약 초반에 코드를 바로 알려준다면 "코드는 지금 말고 내가 마지막에 알려주라고 하면 그때 알려줘"라고 해두면 대충 알아먹는다. 

 

3. AI가 디버깅하기 좋은 상태로 진행한다. 

 나는 개발할 때 최대한 모든 부분을 제공해 준다. 만약 A 부분을 수정해야 한다면 A와 관련된 코드를 같이 제공해 준다. 그러면 여러 번 질문할 필요 없이 수월해진다. 그리고 나는 UI를 작업하다 보니 파일이 여러 개로 분산되는데 질문이 필요한 부분은 최대한 한 개의 파일에서 작업한다. 여러 개의 파일을 나눠서 주면 답도 여러개 파일로 나눠서 주고 나도 그렇게 수정해야 한다. 근데 UI와 관련 로직 Class를 한 파일에서 작성하고 통째로 주고받다 보면 나름 시간을 아낄 수 있다. 어느 정도 작업이 완료되었다 싶으면 특정 부분만 요청하면 된다. 그리고 마지막에 파일을 분리한다.

 

 iOS로 예를 들면 UI 작업할 때 Storyboard가 아닌 코드 베이스로 작업하면 더 좋은 결과를 얻는다. SwiftUI와 같은 애들은 진짜 최고다. 

 

4. 에러가 발생하면 코드와 상황을 자세하게 알려준다. 

 너무나 당연하지만 에러가 발생한 코드와 에러를 알려주면 더 좋은 결과를 알려준다. 그리고 에러를 해결하기 위해서 시도한 과정들을 알려주면 중복도 방지할 수 있다. 

반응형