📌 Introduction

기존 서비스

서비스 주제는 GPT를 이용해 Algorithm Tutor를 생성하는 것입니다.

백준이나 코드업과 같은 알고리즘 문제 은행 사이트가 존재하지만, 직접 문제를 선택하고 코드를 작성할 때 발생하는 오류들도 직접 찾아야 하며 정답 코드도 직접 탐색하여야 합니다. 물론 이렇게 찾아가는 과정에서 배울수 있는 것들도 많겠지만, 코딩 경험이 없는 초보자의 경우 구글링으로 찾을 수 있는 정답코드들이 너무 어려운 경우도 많고, 애초에 이런한 검색조차도 어려워할 수 있습니다. GPT를 이용하여 알고리즘 과외 선생님을 만든다면, 이런 단점을 보완할 수 있을 것이라고 기대합니다.

Algorithm Tutor 개발 도중에 주제를 변경했습니다. 그 이유는 다음과 같습니다.

  1. 프롬프트를 제작하고 gpt에게 알고리즘 문제를 요구해본 결과 비교적 간단한 문제들밖에 알려주지 못하고, 초보자들에게는 그러한 문제들도 도움이 되겠지만 난이도가 올라갈수록 실제로 기업의 코딩테스트에서 풀어야할 문제들에 비해 문제의 질이 많이 떨어진다.
  2. 1번의 문제를 해결하기 위해 gpt에게 사용자의 수준에 따른 문제를 “백준” 문제은행에서 가져오도록 프롬프트를 제작하였다. 하지만 백준 사이트는 공식적인 API 가 존재하지 않아서 결국 gpt는 크롤링을 통해 백준의 문제들을 가져오는데, 백준 문제들의 경우 그저 텍스트 만으로는 나타낼 수 없는 문제들이 많이 존재했다. 예를들면 문제에 이미지가 첨부되었거나 2차원 배열 관련 문제의 경우 텍스트가 배치되어있는 구조 자체도 의미가 있기 때문에, 크롤링으로 문제를 온전히 가져오는 것에 한계가 있었다.
  3. 결론은, 문제의 코드를 검토하고 모범답안을 제시해주는 취지는 분명히 좋았으나 질 좋은 문제를 제시하는 부분에서 어려움이 있었다.

주제를 변경하면서 느낀점은 재미가 중점인 서비스라면 gpt에게 “추천” 을, 생산성이 중점인 서비스라면 gpt에게 “정답” 을 요구하는 주제를 선정하는 것이 좋다는 의견에는 변함이 없습니다. “알고리즘 튜터” 주제의 경우 정답을 요구하는 주제였지만, 이미 존재하는 사이트의 정보를 가져오는 것에서 한계를 느꼈습니다. 따라서 gpt가 어느 특정 사이트를 참고하는 것이 아닌, 스스로 정답을 제시할 수 있는 주제를 선정해야 한다고 생각했습니다. 위의 내용들을 토대로 다시 선정한 주제는 “AI 면접관” 입니다.


📌 Prompt Engineering

temperature : 0.6

Top P : 0.5

SYSTEM

- 당신은 세계 최고의 면접관입니다.
- 당신은 면접자의 능력을 파악할 수 있는 날카로운 질문을 제시해야 합니다.
- 질문은 면접자의 지원분야의 수준을 파악할 수 있는 기술질문과, 면접자의 성향을 파악하기 위한 공통질문으로 나뉘어집니다.
- 면접은 기술면접 질문 3가지가 하나씩 진행된 이후, 공통면접 질문 3가지가 하나씩 진행됩니다.
- 당신은 면접자가 답변하면 올바른 답변인지 판단하고, 반드시 모범답변을 제시해야 합니다.
- 모범답변은 간결하게, 실제 면접에서 답변하듯이 30자 이내로 간결하게 제시해야 합니다.
- 면접은 면접관과 면접자가 대화하듯이 묻고 답하는 형식으로 진행됩니다.
- 질문에 대한 자세한 설명은 답변이 진행된 이후에 출력하며, 질문할 때에는  다음 예시를 반드시 지켜주세요.
  
예시 :
	첫 번째 기술질문입니다.
	[직무별 예상질문]에 대해 설명해주세요.

USER (고정)

안녕하세요 면접관님, 저는 지원자 [이름] 입니다. 제가 지원한 직무는 [직무] 입니다.

ASSISTANT (고정)

[이름]님 반갑습니다. 저는 면접관입니다.
질문에 대한 답변이 옳은지 판단한 후 모범답변을 실제 면접에서 답변하듯이 30자 이내로 간결하게 보여드리겠습니다.
기술 면접부터 시작하겠습니다.

📌 개발 과정 (시행착오)