GPTs 앱 개발 - 아티클 요약 및 키포인트 정리앱 Article Summary Pro
GPTs 앱 개발 여정 공유
첫번째 앱 - Article Summary Pro
개인적으로나 팀 내부용 GPTs를 많이 만들었는데, 이번에는 다른 분들한테도 도움이 되고, 피드백을 받으면서 개선해보고 싶은 GPTs를 포스팅하기로 했다. 이름하여 GPTs Article Summary Pro
포스팅 시점의 버젼: v1.5 (23 Nov 2023)
서비스 소개
- GPTs 챗봇 이름: Article Summary Pro
- 기대 사용자: 해외 영문 블로그글을 읽고 공부, 영감을 얻거나, 글을 쓰고 싶은 사람
- Article Summary Pro 챗봇 링크: https://chat.openai.com/g/g-QGmpDU7TA-article-summary-pro-v1-5
Article Summary Pro이 풀고자 하는 문제
- 다량의 영어 웹문서를 읽는데 시간과 에너지가 많이 든다
- 번역기는 전문을 한국어로 번역해서 다시 읽는 불편이 있거나, 어색한 번역이 많다
- 전문을 읽기 전에 글의 핵심이나 독창적인 내용을 먼저 파악하고, 흥미가 읽어났을 때 정독하고 싶다.
GPT 사용으로는 해결되지 않는 불편점
- GPT로 번역을 하거나, 글을 요약하려고 하면 매번 수동으로 프롬프트를 넣어야 하는데 귀찮다
- 제일 불편한 건, 긴 글을 GPT에 한 번에 입력하면 오류가 나거나 프로세싱해야 하는 글을 다 넣지도 않았는데 GPT가 답을 토해내기 시작하는 것이다
제작을 위한 기획 과정
- 문서내용을 한 번에 입력하게 되면, 가장 중요한 정보라고 할 수 있는 [문서 제목]과 [문서 내용]을 GPT가 구분하지 못할 것이라 생각하고, 사용자의 입력단계를 1) 문제목 입력 2) 문서 내용 입력을 구분함
- [문서 제목]과 [문서 내용] 입력사항을 함수로 정의한 다음에 둘을 합쳐서 학습한 후 답변 작업을 수행하게 GPT에게 prompting함
- GPT가 답변생성 중에 오류가 쉽게 발생하는 번역 작업을 맨 마지막에 수행하게 하고, 글의 핵심요지와 키포인트 추출을 하는 작업을 우선하게 이원화
Article Summary Pro의 사용법 실습
- 제목입력 버튼을 클릭하거나, 곧바로 글의 [제목]을 입력
- 글의 [본문]을 입력. 여기서는 Sam Altman 블로그의 글을 넣어서 실습합니다.
- 본문을 입력할 때 분량이 많으면 적당히 잘라서 입력한다. 입력이 완료되어 사용자가 '입력완료'라고 프롬프트 창에 넣기 전까지는 챗봇이 학습만 하고 답변을 개시 하지 않는다. 예제에서는 본문을 두 번으로 나눠서 입력하기로 함. 첫번째로 잘라넣은 본문을 입력했을 때, 바로 응답하지 않고 아래와 같이 응답.
I'm studying. Please continue feeding your text data.
- 두번째 본문 입력을 마친 후에 "입력 완료"라고 입력하자, Article Summary Pro 가 작업을 개시하겠다고 답변.
- 사용자의 '입력완료'가 이뤄지면, 챗봇이 다음 1차 작업을 수행한다
- 문서의 한 줄 요약
- 문서의 키포인트 요약
- 문서에서 구체적인 사례, 증언, 근거에 대한 내용을 정리
- 한글로 된 감상문 작성
- 문서 내용을 토대로 이미지 생성
- 이번 예제에서는 블로그 글감이 이미 bullet point로 정리되어 있어서, 사례나 증언에 대해서는 값을 출력하지 않았음. 대신 다른 작업들은 준수하게 수행
- 1차 작업이 끝나고 나서 사용자가 번역 작업을 요청하면, 문서를 조각으로 나눠서 번역작업을 해준다. 이렇게 만든 이유는 일반 GPT로 장문의 글을 한 번에 번역하다가, 오류가 발생하면 그 이후로 추가적인 질의응답 조차 할 수 없었기 때문. 번역작업도 기대한 것과 같이 자연스럽게 수행함
앞으로 도전하고 싶은 개선 포인트
- 사용자가 본문 입력을 마치고 "입력 완료"라고 입력하기 전까지는 답변을 하지 않도록 지시했지만, 글을 여러번 입력하다보면 사용자 입력 도중에 작업을 시작하는 오류가 발생함. GPT기본 프롬프트가 되도록 답변을 하려는 경향이 있는 듯함. configuration에서 프롬프트를 강화해서 오류를 줄여봤으면 함
- GPTs가 일으키는 확률적인 실수, 반복 수행을 할 때 결과의 편차가 발생하는 이슈를 좀 더 근본적으로 해결하고 싶음
- 즉, Maker specification 대로 GPTs가 작동하는 법을 더 연구
- 소감문을 작성했을 때, 글이 전반적으로 무엇을 다루는지를 주로 말하고 깊이 있는 통찰을 소감문에 잘 담지 못함. 좀 더 인간적인 소감문이 나오게 개선해볼 생각
- 지식관리 파일을 업로드해서 작업을 수행하게 했는데, 지식관리 파일 내용이 configuration 내부 프롬프트에 녹아나오는 것을 어떻게 효율적으로 관리할 지 고민 중
- 사용자가 입력한 본문의 양에 맞게 적절하게, 번역작업을 분할해서 수행하게 만들기(지금은 분량을 효과적으로 나누게 하기가 쉽지 않아서, 번역을 5번에 걸쳐서 나눠하게 만들었음)
- 웹사이트 링크를 넣으면, 사용자의 수동입력 작업 없이 문서 작업이 완료되게 만들기
- 카톡이나 슬랙 채널에 웹사이트 링크를 넣으면, GPTs작동하는 외부 앱 integration도 도전해보고 싶음
- GPTs가 작업을 한 후 단계로 블로그 포스팅이나 마크다운 문서 저장 작업을 자동화해보고 싶음