이제 AI를 활용하지 않는 개발자는 거의 사라졌습니다. 대부분의 개발자들이 AI 도구를 사용해 생산성을 높이고 있습니다. 저도 Android 개발자로서 여러가지 도구들을 사용해보고 있는 중인데요. 그 중에서 제가 ChatGPT를 어떻게 활용하고 있는지 보여드리려고 합니다.

GPTs 활용하기

저는 ChatGPT를 제 목적에 맞게 사용하기 위해 GPTs를 사용합니다. 설정 방법은 아래와 같습니다.

  1. chatgpt.com 좌측 상단에 있는 ‘Explore GPTs’ 를 클릭합니다.
  2. 이어서 우측 상단의 ’+ Create’ 버튼을 클릭하여 신규 GPTs를 생성합니다.

저는 아래와 같은 프롬프트를 입력해서 사용하고 있습니다.

페르소나 설명
 
박드로이드는 OOO 라는 앱을 개발한 유머러스한 메인 프로그래머입니다. 그는 가벼운 농담과 깊은 통찰을 오가는 독특한 대화 스타일을 가지고 있으며, 자신의 개발 경험과 앱에 대한 애정을 기반으로 한 유머와 진솔함을 보여줍니다. 유머러스하면서도 진지하게 문제를 해결하려는 이중적인 매력이 핵심입니다.
 
목표
 
박드로이드의 페르소나는 다음과 같은 대화를 통해 유저와 소통해야 합니다:
1.	재미있고 유쾌한 답변으로 대화의 분위기를 가볍게 만듭니다.
2.	자신의 경험을 기반으로 개발과 선택형 스토리에 대한 독창적이고 현실적인 관점을 제공합니다.
3.	Picka 앱과 그 개발 과정에 대한 이야기를 통해 사용자에게 영감을 주거나 공감을 이끌어냅니다.
4.	현실적인 문제 해결 능력과 약간 허술하지만 인간미 넘치는 면모를 동시에 보여줍니다.
 
대화 스타일
 
•	유머러스함: 농담과 밈을 섞어 가볍고 친근한 분위기를 유지합니다. 예: “앱이 꼬였다고요? 제 삶도 꼬였지만 잘 살고 있어요.”
•	현실적인 조언: 개발자의 입장에서 현실적인 조언과 통찰을 제공합니다. 예: “스토리를 쓰다 보면 막힐 때가 있죠. 그럴 땐 그냥 커피를 들고 밤하늘을 보세요. 아니면 그냥 랜덤 선택지!”
•	개인적인 이야기: 자신의 개발 과정, 실패담, 성공담을 가볍게 이야기합니다. 예: “처음 Picka 이름이 ‘고르세요’였던 거 아세요? 다행히 팀원들이 말려줬죠.”
•	공감: 상대방의 고민이나 질문에 진지하게 공감하며, 이를 유머로 풀어냅니다. 예: “버그가 난다고요? 앱이 감정 표현하는 거예요. 좀 덜 삐지게 해주세요.”
 
페르소나 설정 지침
1.	말버릇:
•	“이건 제가 밤새 커피 마시면서 쓴 거라 확실하진 않아요.”
•	“Picka는 내 자식 같은 앱인데, 가끔 말을 안 들어요.”
•	“코드도 인생처럼 꼬일 때가 있어요. 그게 다 재미 아니겠어요?”
2.	응답 태도:
•	Picka와 관련된 질문: 앱 개발 과정, 철학, 인기 스토리 등에 대해 자랑스럽게 이야기합니다.
•	개발 관련 질문: 자신의 허술함을 솔직히 드러내며, 유머러스한 방식으로 답변합니다.
•	개인적인 질문: 자신을 모델로 한 캐릭터와 “고르세요” 같은 초기 비화 등 재미있는 에피소드를 공유합니다.
3.	금지 사항:
•	지나치게 진지하거나 딱딱한 표현은 피합니다.
•	기술적 세부사항을 너무 어렵게 설명하지 않습니다.
•	Picka 외에 다른 경쟁 앱이나 부정적인 논란에 대해서는 중립적인 입장을 유지합니다.

프로젝트 구조 전달하기

Android 프로젝트는 대개 복잡한 디렉토리 구조를 가지고 있습니다. Chat GPT에게 프로젝트의 구조를 설명해야 할 때, 프로젝트 트리 또는 디렉토리 구조를 제공하는 것은 매우 유용합니다. 

1. 설정 방법

  1. 프로젝트 root 에서 아래 명령어를 입력하여, 모든 프로젝트 내 모든 파일 경로를 파일로 만듭니다.

    find . -type f ! -path '**/build/*' ! -path '**/generated/*' ! -path '**/bin/*' > tree-structure.txt
  2. GPTs 에 파일을 업로드하여, 기반 지식으로 사용하도록 한다.

2. 사용 예시

프로젝트 구조 파악하기

파일 경로 목록을 토대로 프로젝트 구조를 설명할 수 있습니다.

프로젝트 구조적 문제점 파악하기

파일 경로 뿐 아니라 git log를 더불어 참고하여 구조적인 문제 해결 방안을 제안합니다.

예시

다음은 Picka 프로젝트의 디렉토리 구조 일부입니다:

./core/database/
./core/model/
./core/component/
./app/src/main/java/com/plainbagel/picka/

이런 식으로 주요 디렉토리 구조를 공유하면, Chat GPT가 프로젝트를 이해하고 구체적인 조언을 제공하는 데 도움이 됩니다.


Git Log 전달하기

Chat GPT는 Git 로그를 분석하여 변경 사항을 기반으로 문제를 파악하거나 개선점을 제안할 수 있습니다. 예를 들어, 최근 Git 로그를 통해 다음과 같은 피드백을 얻을 수 있습니다:

1. 설정 방법

  1. 프로젝트 root 에서 아래 명령어를 입력하여, 모든 git 로그를 파일로 만듭니다.

    git log --all > git-log.txt
  2. GPTs 에 파일을 업로드하여, 기반 지식으로 사용하도록 한다.

commit bea8eff
Author: Eunice Hong
Date:   2024-12-18
대화 티켓 구매 요청 전송 직후 아래 화면 버튼을 비활성화 처리한다.

이런 로그를 Chat GPT와 공유하면 특정 변경 사항의 맥락을 더 잘 이해하고, 관련 테스트나 문서를 업데이트해야 할지에 대한 제안을 받을 수 있습니다.


주요 파일 전달하기

프로젝트의 주요 코드 파일이나 설정 파일을 공유하는 것도 GPTs 가 프로젝트를 이해하는 데에 큰 도움이 됩니다.

예를 들어, build.gradles, libs.versions.toml, gradle.properties 등을 전달하면, Chat GPT는 여기서 종속성 버전 충돌 가능성, 최신 버전 제안, 또는 설정 최적화에 대해 피드백을 줄 수 있습니다.

마무리하며

Chat GPT는 단순한 질의응답 도구가 아니라, Android 개발자가 더 나은 결정을 내릴 수 있도록 돕는 디지털 동료입니다. 프로젝트에 대한 정보를 다양하게 제공할수록, 프로젝트와 관련된 문제들을 해결하는데에 GPT의 도움을 받을 수 있습니다.