팀 명: Pair Program
팀 리더: 쌤 (samsuh@gmail.com)
팀 멤버: 김지윤 (jeeyoon9758@gmail.com), 김종모 (dignityc@gmail.com), 카릴엘림벡
Github repo: https://github.com/samsuh/pair-programming-extension
데모 비디오 링크:
1. 서비스 개발 배경
코로나19 사태 이후로 급격히 성장한 이러닝(e-learning) 시장은 앞으로 점점 더 확대될 것으로 기대된다. 현재 이러닝 품질의 상당 부분은 교육 자료를 개발 및 배포하는 교육 서비스 제공자에 의해 결정된다. 그러나 인공지능의 기술과 함께 앞으로의 이러닝 시장, 즉 디지털 교육 시장은 교육 서비스 제공자 뿐만 아니라 교육 서비스를 제공받는 수요자의 참여가 보다 중요한 요소로 각광받을 것으로 기대된다. 다시 말해, 기존의 교육 서비스 제공자 중심으로 개발 및 운용되었던 교육 서비스는 인공지능 기술과 함께 점점 더 교육 서비스 수요자로 그 중심이 이동할 것으로 전망된다. ChatGPT는 대화 기능을 통해 사용자의 의견, 피드백, 및 요구사항을 수용할 수 있기 때문에 교육 서비스 수요자 중심의 미래 디지털 교육에서 중요한 인공지능 기술의 역할을 할 것으로 기대된다. 본 연구팀은, 기존의 디지털 교육 서비스를 chatGPT의 기능을 활용하여 사용자와 상호작용할 수 있는 보다 발전된 형태로 제공할 수 있는 교육 서비스 기능을 개발하고자 한다.
2. 서비스 개발 목표
- ChatGPT, Google custom search API 및 크롬 익스텐션을 활용하여 기존 이러닝 서비스에서 제공하는 문제와 유사한 문제 유형을 자동으로 생성하고 문제와 관련된 힌트 정보를 사용자의 요구에 따라 획득할 수 있는 사용자 상호작용 기반 디지털 교육 지원 서비스를 개발한다.
- 본 서비스 개발에서는 코딩 관련한 디지털 교육 자료를 서비스하는 “leetcode.com”를 대상으로 한정함.
3. 서비스 주요 기능
🔑 ChatGPT 및 프롬프트 엔지니어링에 기반한 사용자 상호작용 기반의 힌트 생성 기능
- 사용자에게 텍스트 형태로 질문을 받고, 문제와 관련된 힌트를 ChatGPT를 활용해 생성하는 프롬프트 개발
- 힌트 생성하는 힌트 유저플로우
- 힌트 생성하는 힌트 프롬프트 상세구조
📑 ChatGPT 및 프롬프트 엔지니어링에 기반한 유사한 문제 생성 기능
- 상, 중, 하의 3단 난이도에 따른 유사한 문제 유형을 생성할 수 있는 프롬프트 개발
- Google custom search API를 활용하여 정확한 유사한 문제 생성할 수 있는 프롬프트 개발
- 문제를 생성하는 새로운 문제 유저플로우
- 문제를 생성하는 새로운 문제 생성 프롬프트 상세구조
4. 서비스 사용방법 설명
- 서비스 다운로드 링크: https://www.dropbox.com/s/pqp845o8kpxsouw/pair-programming-extension-Ver.3.0.3.zip
- 서비스 사용 방법
Step 1: 링크를 클릭하여 ZIP 파일을 다운로드
Step 2: ZIP 파일을 압축해제하고 압축이 해제된 폴더의 경로를 확인
Step 3: 구글 크롬 브라우저에서, 익스텐션(Extensions) 아이콘을 클릭. 익스텐션 아이콘은 아래와 같이 나타남. “Manage extension” 클릭
Step 4: 프로토타입 버전의 크롬 익스텐션을 활용하기 위해, 개발자 모드(Developer mode)를 활성화
Step 5: “Load unpacked” 버튼을 눌러서 상기 과정에서 압축해제한 ZIP의 폴더를 선택 후 크롬 익스텐션으로 로드 (예상 폴더명: pair-program-extension). Window에서는 하기 두 번째 화면과 같이 보임
Windows:
Step 6: 익스텐션 아이콘을 클릭 > Pin 아이콘 클릭하여 Pair Programming 크롬 익스텐션을 고정
- 실제 동작을 확인할 수 있는 서비스 링크: https://youtu.be/xaM1SfG0HaU
5. 서비스 기대효과 및 향후 발전방향
[서비스 기대효과]
- 디지털 교육 시장의 확대와 더불어 사용자에게 맞춤화된 교육 경험 및 서비스를 제공할 수 있을 것으로 기대됨.
- 특히, 수학 및 과학처럼 반복학습이 중요하지만 문제 및 교육 자료를 개발하는 데에 많은 시간이 소요되는 교과목에 대해서 매우 도움이 되는 서비스가 될 것으로 기대됨.
- 디지털 교육의 큰 단점 중 하나인 교육 서비스자와의 상호작용이 어렵다는 점을 ChatGPT를 활용하여 극복할 수 있을 것으로 기대됨. 사용자는 마치 선생님의 도움을 받는 것처럼 ChatGPT를 활용하여 본인의 수준에 맞는 교육 서비스를 지속적으로 제공받을 수 있음.
[서비스 향후 발전방향]
- 사용자가 작성하고 있는 코드나 해답을 ChatGPT가 다양한 관점에서 해석하여 이에 대한 정성적인 수준을 평가하고 피드백을 줄 수 있음. 예를 들어, 코드의 time complexity, memory efficiency, code cleanliness 등의 기준에 대해 ChatGPT가 사용자의 수준을 평가할 수 있으며 피드백을 줄 수 있음.
- 교과목에 따라서 여러가지의 문제 유형에 따른 다양한 문제를 생성하기 위해, chat 시퀀스를 보다 확장하여 문제의 내용이나 주제는 유사하지만 다양한 유형의 문제를 생성할 수 있음. 예를 들면, 이진 트리를 푸는 코딩 문제에 대해서 그림이나 수식을 활용한 다양한 유형의 문제를 생성할 수 있음.