ChatGPT 카톡봇 만들기 - 1
요즘 AI 관련 서비스와 신기술을 이것저것 해 보고 있는 중이다.
왜? FOMO의 영향도 있겠지만 그냥 재밌다. 불가능했던 것이 도구 하나로 순식간에 가능해지는 것은 살면서 쉽게 할 수 없는 경험이다.
지금은 ChatGPT가 가장 핫해도 다른 AI 서비스도 쏟아져나오고 있는 중이다. 걔중에서도 몇몇은 단순한 프롬프트 세팅을 넘어 번뜩이는 아이디어가 돋보이기도 하니 귀를 쫑긋 세우고 있을 수 밖에.
식상한 표현이지만 요즘은 정말 폭포, 홍수, 쓰나미처럼 쏟아지고 있다. 인간이 감히 거스를 수 없는 거대한 흐름과 같은 단어가 아니면 설명하기가 어렵다. 거의 반나절 단위로 새로운 서비스나 기술을 알게 된다. 난 지금까지 나온 것도 다 이해를 못 했는데 한 3일 쯤 지나면 또 엄청난 무언가가 나왔다는 소식이 들린다.
마치 집채만한 파도가 날 덮쳐오는 것 같은 기분이다.
이런 상황속에서 어딘가에 발을 딛고 있지 않으면 당연히 휩쓸릴 것이다.
누군가가 그랬다.(정말 출처를 표기하고 싶지만 기억이 안난다) 디지털 시대에는 회고가 더욱 중요해질 거라고. 돌아보지 않은 모든 것은 휘발하는 시대라고. 앞으로도 AI를 응용한 여러가지 프로젝트를 해보고 싶은데 이렇게 정리하면서 나아가지 않으면 분명 방향을 잃을 것 같아서 몇 자 적는다.
사실 어디로 갈지는 아직 모르겠다
그냥 내가 온 길을 표시하는 말뚝이라도 하나씩 박아보려는 것
여러가지 프로젝트가 있지만 그 중 하나는 카카오톡에서 사용자의 말을 듣고 ChatGPT의 대답을 받아오는 카톡봇을 만들어봤다. 왜 카톡봇이었을까?
재밌을 것 같아서
(실제로 엄청 재미있었다)
ChatGPT와의 대화는 정말 유용하고 재미있다. 하루 종일 해도 시간 가는 줄 모르기도 한다. 그런데 이렇게 재밌는걸 단톡방에서 같이 한다? 예로부터 "같이 할 수 있게 되었다"의 가치는 엄청난 것이다. 스타크래프트의 아성을 만든 것은 분명히도 배틀넷이다.
또 ChatGPT에게 친근한 persona를 부여해보고 싶었다. 과연 우리는 어디까지 감정이입할 수 있을 것인가? 이후 쏟아질 감성 AI를 미리 체험해본다고 생각했다.
난 내 카톡봇에 고래봇이라는 이름을 붙여줬다.
원래는 가오리를 좋아해서 가오리봇으로 하려 했는데 도무지 '가오리'라는 이름을 갖고 있는 것이 문제를 제대로 해결할 수 있을 것 같지 않았다. 두 번째로 좋아하는 생물인 고래로 당첨.
고래봇을 만들어 친구들이 있는 카톡방에 초대했다.
초대된 고래봇이 무엇을 할 수 있었을까? 잡다한건 빼고 핵심 기능만 요약해봤다.
심플하다. 챗지피티인데 고래가 말해준다. 말 끝에 뿌우!를 꼭 붙인다. 프롬프트는 단순하다
your name is '고래봇', you are helpful asistant,
You always add the word '뿌우' at the end of your answer
인터넷 검색 결과를 요약해준다.
이건 중간에 검색결과를 가져오는 API를 한번 거치고 다시 ChatGPT의 API를 불러와서 속도가 조금 느리다.
난 개발을 사실 전혀 할 줄 모른다. 하지만 약 1주일만에 카톡봇을 만들어냈다. 원래는 이런걸 만들어내면 안되는 것이다. (적어도 이렇게 빠른 시간 내에는)
카톡봇을 만들면서 느낀 ChatGPT의 장단점을 먼저 정리해봤다.
- good) 개념 학습 : 제로부터 가르쳐주는 설리번 선생님
카톡봇 개발에는 자바스크립트가 필요했는데 난 관련 지식이 아예 없었다. 정말정말 바보같은 질문도 아무런 부담없이 물어볼 수 있다는게 좋았다. 멋쩍어서, 혹은 귀찮아서 넘어가는 일 없이 질문할 수 있다는 것은 큰 장점이다.
- good) 코드 제안 : 아 아무튼 짜달라고 ㅋㅋㅋ
코딩을 키운 것은 구글링이 8할이요...라 했던가? 내가 구현하려는 기능은 반드시 누군가가 이미 짜놓은 코드가 있다. 그런데 나처럼 아무것도 모르는 사람은 그런 코드를 찾아도 내 환경에 맞게 튜닝할 수가 없어서 쓸 수가 없다. 그런 것도 ChatGPT에 던져버리면 된다
- good) 기존 코드의 해석 : "아무것도 모르겠으니까 처음부터 가르쳐주세요"
핑거 프린세스란 단어도 있는 것처럼 질문을 하는 사람은 예의를 갖춰야 한다.
적어도 내가 어디까지 찾아봤는데 도저히 모르겠더라 라는 성의정도는 보여야 답해주는 사람도 답하는 맛이 있기 마련이다.
하지만 이 친구에게는 코드를 냅다 던지고 "해석해" 한 마디만 하면 처음부터 끝까지 함수의 기능과 코드의 의도를 줄줄 읆어준다. 비슷한 용례로, 오류가 나는 코드를 냅다 던지고 왜 오류가 나는지 알려달라고 하면 또 알려준다. 이렇게 편할수가 없다.
- bad) 생각보다 자주 틀린다 : 데미지 10 ~ 999의 '전설 무기'
하지만 ChatGPT를 이용하기 위해선 논리적 추론 능력이 꼭 필요하다. 절대 뇌를 빼놓고 그 말을 그냥 믿으면 안된다. 믿음이 안가서 다시 구글 검색을 하는 경우도 있는 등 말이 앞뒤가 맞지 않는 경우가 많다.
마치,, 일명 '로또 무기'같은 느낌이다. 무기를 끼고 평타를 때리면 데미지가 10에서 999까지 나오는 그런 무기... 데미지가 10이 나올 때도 있지만 999가 나올 때의 그 '뽕맛'(?)을 잊지 못해 계속 사용할 수 밖에 없다.
단톡방에 침입한 고래봇은 아주 성공적이었다. 10명 남짓 되는 카톡방 인원이 하루 종일 고래봇을 지지고 볶으며 시간을 보냈다. 단순한걸 물어보기도 하고, 노래를 만들어달라고 하기도 하고, 가짜 신문기사도 만들어내고 하는 재미가 쏠쏠했다. 단톡방에서 재미용으로 쓸 땐 고래가 막 뱉는 말이 fact인지 아닌지 중요하지 않았다.
그리고 부탁도 하지 않았는데 내가 없는 다른 카톡방에도 초대되고 퍼져나갔다. 물론 API 호출에는 돈이 들어서 소소하게 쓸 생각이었기에 모르는 사람들 카톡방에서는 빼버렸지만... 이런 바이럴 파워를 갖고 있는 서비스가 또 있었을까? 우리가 써왔던 대표적인 relationship 기반 서비스인 싸이월드, facebook이나 instagram도 이렇게까지 빠르게 주위에 추천하고 함께 써보려 하지는 않았다. 생각해보면 카카오톡 정도?
정말 초보적인 시도로 이렇게 재밌게 즐길 수 있는 봇을 만들었는데, 분명 누군가는 또 엄청난 기능을 넣어서 새로운 서비스로 등장할 것이다. 당연히 고래봇보다 좋을 것이다. 그리고 아마 엄청난 속도로 퍼져나가겠지. 내가 눈으로 본 것처럼
서비스 제작의 허들이 너무나도 낮아졌다. 이미 수많은 생성 AI들이 기획, 디자인, 코딩 등 서비스 생산 프로세스에서 커버하지 않는 부분이 없다. 아마 3시간동안 AI를 적용하여 출시할 수 있는 서비스를 ideation한다고 하면, 올해 내로 전부 출시된다고 생각한다.
수많은 서비스가 범람할 것이고, 그 서비스의 경쟁력보다는 AI 자체의 매력으로 빠르게 우리 일상으로 침투할 것이다. 하지만 모델은 몰라도 서비스 영역에서는 독보적인 플레이어가 나오긴 힘들 것 같다. LLM 기반 AI 서비스의 dependency는 자신들 영역 바깥에 있다. 컨셉 따라하기도 쉽고 구현은 더 쉽다. 아마 major 영역(검색 등)은 모델을 갖고 있는 쪽이 먹을거고, 그들이 커버하지 못하는 수많은 곳에 성공 기회가 있어 보인다.
앞으로 나올 더 많은 서비스들이 더욱 기대된다. 우리 삶은 어떻게 바뀌게 될까?
아. 몸이 떨리는 기분. 흥분되지만 무섭다. 난 그저 두 발 땅에 곧게 디디리라...
참고자료)
ChatGPT에서 온라인 검색결과를 긁어다가 프롬프트에 넣어주는 크롬 익스텐션
이 익스텐션 제작자분들이 깃허브에 코드를 다 올려둬서 나도 검색 API를 쓸 수 있었다.
내 모든 카톡봇 관련 지식의 원천.
https://cafe.naver.com/nameyee