Github Copilot 을 사내에서 쓰면서, 단순 코딩 작업이나 반복작업을 떠넘기기 바빴었다. 물론 그것만으로도 효율이 올랐지만, 좀 더 스마트한 사용 케이스가 분명 있을 것이라는 기대가 있었다.
종종 다른 팀원의 코드를 리뷰할 때 /explain
도 사용하는데, 이 내용을 기반으로 코드를 읽으면 훨씬 더 잘 보이는 것도 같아서 말이다. 최근에는 아예 Copilot 이 자체적으로 Code Review 해주는 기능도 추가되었으니, 다른 곳에서도 더 빠르면서도 준수한 결과를 내 줄 수 있지 않을까? 하는 궁금증이 생겼다. 말 그대로 ‘완벽한’ 결과가 아닌 ‘일정한 수준의 결과를 빨리 처리할 수 있는’ 그런 기대 말이다.
이 책은 AI 페어 프로그래밍이라는 주제로, 사수가 없어도 Github Copilot 과 ChatGPT 를 이용하여 페어 프로그래밍을 할 수 있는 방법을 소개한다.. 고 한다. 아마 이런 분들이 도움이 될 것 같다.
- Github Copilot 자체를 잘 모르는 사람
- 프롬프트 자체를 어떻게 써야 할지 막막한 사람 (ChatGPT, Claude 사용 예제가 일부 나오기 때문)
- (나처럼) Copilot 으로 대체 뭘 할 수 있는데..? 를 알아보고 싶은 사람
프롬프트 엔지니어링
프롬프트 엔지니어링은 인공지능 모델에게 원하는 결과를 얻기 위해 입력 내용을 설계하는 과정이다. 쉽게 말해서, LLM 의 대답이 원하는 대로 나오도록, 질문이나 요청을 구체적이고 효과적으로 표현하는 기술이다.
단순한 명령 대신 맥락과 의도를 명확히 하면 AI가 더 정확한 답을 내놓을 가능성이 높아진다. 예를 들어, “커피 만드는 법 알려줘” 라고 하면 일반적인 방법이 나올 수 있지만, “간단한 재료로 집에서 만드는 달고나 커피 레시피를 알려줘” 라고 하면 특정한 요구에 맞는 답을 얻을 수 있다. 프롬프트 엔지니어링은 이렇게 질문의 범위와 디테일을 조정해 원하는 결과를 끌어내는 데 초점을 맞춘다.
책에서 소개하는 방법이 있지만, 소개된 방법이 전부 정리된 (그리고 더 많은 기법들이 포함된) 웹 페이지가 기재되어 있다.
🔗 https://www.promptingguide.ai/kr
Github Copilot
기본적인 사용 케이스는 아래와 같다.
- 버그 픽스
- 코드 작성
- 코드 리팩토링
- 코드 검사 (Static Code Analysis 같은)
- 데이터 생성
- README 문서 작성
- Mermaid 다이어그램 생성
책에서 소개되는 예제는 너무나 단순해서, 현업에서 쓰기엔 아직 무리가 있어 보이지만 흥미가 돋는 부분은 마지막 두 부분이다. 바로 문서 작성과 다이어그램 그려주기이다.
예~전에 내가 OOP 와 SE 강의를 들으면서 상상한 것이, 어떤 프로젝트의 Spec 과 Stub 을 꾸며주면 그에 맞는 내부 로직은 알아서 구현해주는 다소 비현실적인 꿈이었다. 그런데 만약에 어떤 프로젝트 결과를 보여주고 README 를 작성하게 하거나, 혹은 반대로 README 와 Mermaid 로 State/Flow/Class Diagram 을 그려주면 자기가 이해하고 코드를 드르륵 짜 주는 게 혹시 가능하지 않을까?
mermaid 문법을 모르진 않았는데, Copilot 에게 이해한 대로 그려보라고 시키면 괜찮은 결과가 나오리라 믿었다. 음.. 현실은 기대만큼 따라주진 않았지만 적어도 얼개는 잡아주는 것 같아서 절반의 성공이라고 봐야겠다.
건진 게 있다면, 나에겐 훌륭한 책
책이 두껍지 않아, 한번 훓기에 좋은 책이었다. 물론 내용이 어렵지 않아서 그런 것일 수도 있지만.
대학교 때 HTML 관련 책을 동아리방에서 본 적이 있었다. 예전부터 해왔던 거라 다 알고 있다고 생각했는데, 웬걸. 잘 모르는 내용이 나왔고, 그 부분을 다질 수 있는 기회가 되었다. 책의 분량으로 치면 매우 적을지도 모르지만, 그래도 그 부분만큼 내가 얻어갈 수 있었기에 책을 고르는 데 주저함이 없었다.
그래서 책을 읽는다는 건 많은 것을 얻기보다, 한 가지라도 건질 수 있다면 충분히 가치 있는 일이라 생각한다. 부족한 부분을 채워주거나 새로운 관점을 열어준다면 그걸로 훌륭한 길잡이가 된다. 지금 리뷰하는 이 책도 그런 작은 깨달음을 선사했기에, 기쁘게 리뷰를 남겨본다.