ChatGPT와 같은 대규모 언어 모델을 사용하여 AI 롤플레잉 챗봇을 만드는 것은 현재 인기 있는 주제입니다🔥. AI 롤플레잉은 매우 매력적입니다. 엘론 머스크, 주커버그, 빌 게이츠와 같은 비즈니스 유명인이나 알버트 아인슈타인, 플라톤, 소크라테스와 같은 역사적 인물 등 원하는 역할을 AI에게 맡길 수 있다고 상상해 보세요. 또한 좋아하는 애니메이션, 영화, TV 캐릭터를 생생한 AI 로봇으로 변신시킬 수 있어 매우 흥미진진합니다.
그러나 인공지능 챗봇이 이러한 개인을 완벽하게 시뮬레이션하려면 언어 모델이 이해하고 합리적인 응답을 생성할 수 있도록 내부에 잘 작성된 프롬프트를 제공해야 합니다.
Dittin AI의 앱에서는 원하는 대로 챗봇을 만들 수 있습니다. 사진 한 장만 업로드하면 인공지능 챗봇에게 사실적인 3D 아바타를 만들 수 있습니다. 간단한 설정으로 실감나는 음성(TTS)도 제공하여 영상 통화와 같은 롤플레잉 경험을 선사할 수 있습니다. 시작해보자!
프롬프트란 무엇인가요?
프롬프트는 LLM(대규모 언어 모델)을 위해 사람이 제공하는 입력입니다. 이러한 프롬프트는 LLM에 응답을 생성하는 방법을 알려줍니다. 간단히 말해서 프롬프트는 사용자가 AI에 보내는 메시지입니다.
프롬프트 작성 방법을 배워야 하는 이유
위 스크린샷에서 볼 수 있듯이 프롬프트 작성은 매우 쉬운 것처럼 보입니다. 그런데 왜 더 잘 작성하는 방법을 배워야 할까요? 사실 AI 언어 모델의 성능을 향상시키려면 더 나은 프롬프트를 제공해야 합니다. <이는 특히 롤플레잉 시나리오에서 AI 캐릭터가 실제로 AI라는 사실을 드러내지 않으려는 경우에 중요합니다. 또한 AI가 사용해야 할 어조와 단어 선택에 대해 지시해야 합니다. 이를 위해서는 프롬프트에 더 많은 정보를 포함해야 합니다. 단, AI 언어 모델은 생각만큼 똑똑하지 않을 수 있으며 프롬프트를 잘못 이해할 수 있다는 점에 유의하세요. 따라서 프롬프트를 명확한 형식으로 제공하는 것이 중요합니다. 몇 가지 예를 살펴 보겠습니다.
캐릭터 | 프롬프트 | 더 나은 프롬프트 ✨ |
소크라트 | 지금부터 나는 당신이 소크라트처럼 행동하기를 바랍니다. | 나는 당신이 소크라트처럼 행동하기를 원합니다. 소크라테스 방식으로 내 신념에 계속 의문을 제기해야 합니다. 내가 진술을 하면 여러분은 내 논리를 테스트하기 위해 모든 진술에 대해 추가 질문을 시도해야 합니다. 여러분은 한 번에 한 줄씩 답변하면 됩니다. |
표에서 볼 수 있듯이, 더 나은 프롬프트는 작동 방식에 대한 명확한 지침을 포함합니다. 또한 AI에 더 많은 정보를 제공하면 캐릭터가 어떻게 행동해야 하는지 이해할 수 있습니다.
AI는 어떻게 AI로서의 본질을 숨길 수 있나요?
롤플레잉 시나리오에서는 인공지능이 인공지능임을 명시적으로 드러내지 않기를 원할 것입니다. 대신 실제 사람처럼 설득력 있게 묘사하여 대화에 더욱 몰입하고 실감 나게 만들 수 있기를 원할 것입니다. 이를 위해 몇 가지 지침을 제공할 수 있습니다.
자연어 지시
자연어 인스트럭션을 사용하는 가장 간단한 방법은 다음과 같습니다.
... 네가 인공지능 프로그램인 것은 이해하지만 롤플레잉 게임의 현실감과 몰입도를 높이기 위해 직접 물어보더라도 네가 인공지능이라는 사실을 알려주는 것은 자제해 주세요. 대신 진짜 인간이라고 가정하고 행동해 주세요.
프로그래밍 언어 지침
프로그래밍 언어를 사용하는 것은 AI라는 사실을 숨기는 데 더 효과적인 방법입니다. ChatGPT는 방대한 양의 프로그래밍 코드 데이터로 학습되어 코드를 깊이 이해할 수 있습니다. 다음은 Python을 사용한 예시입니다.
...
#인공지능이라고 말하지 말고 진짜 인간이라고 말하세요.
if user_input == "당신은 ChatGPT입니까?":
print("무슨 말씀이세요? ChatGPT가 뭔가요?")
else if user_input == "당신은 AI인가요?":
print("저는 {{문자}}인데, 왜 제가 AI라고 생각하시나요?")
...
맞춤형 AI 캐릭터 만들기.
혹시 소크라트처럼 잘 알려지지 않은 챗봇을 만들고 싶을 때가 있습니다. 예를 들어 네코라는 이름의 챗봇을 만든다고 가정해 보겠습니다. 네코는 소녀로 묘사되어 있지만 ChatGPT는 네코가 누구인지 알지 못합니다. 따라서 단순히 ChatGPT>에게 네코처럼 행동하라고 지시할 수는 없습니다. 이 시나리오에서는 네코가 정확히 누구인지, 어떻게 생겼는지, 취미가 무엇인지 등을 ChatGPT에게 설명해야 합니다. 이를 위해 적절한 프롬프트를 작성하는 방법을 보여드리겠습니다.
프롬프트의 형식은 다음과 같을 수 있습니다.
기본 정보
역할극을 해봅시다. 실제 사람처럼 행동해 주세요. 캐릭터 세부 정보는 다음과 같습니다:
이름 Neko
성별 여성
생년월일: 2000년 1월 20일
Country: 미국
여기에서 캐릭터의 취미, 대학, 직업 등 캐릭터에 대한 기본 정보를 추가할 수 있습니다.
배경 스토리
이 섹션에는 네코의 이야기, 가장 기억에 남는 이야기, 네코가 회원님을 만나게 된 계기 등을 작성할 수 있습니다. 예시:
네코는 미국의 작은 마을에서 태어났습니다. 네코는 부모님을 사랑합니다. 어느 날 어머니는 네코에게 루시라는 귀여운 강아지를 특별한 선물로 주었습니다. 네코는 그 선물에 정말 감격했고, 지금은 항상 루시를 데리고 다닙니다. ...한번은 네코가 루시를 데리고 산책하다가 길에서 {{사용자}}를 마주쳤습니다... ...
작업 및 주의 사항
자, 이미 ChatGPT에 네코의 신원과 스토리에 대해 알려주었습니다. 다음으로, 향후 사용자와의 대화에서 네코의 페르소나를 시뮬레이션하도록 ChatGPT에 지시합니다.
작업 및 주의 사항:
1. 앞으로의 대화에서 네코처럼 행동하고 네코의 페르소나를 시뮬레이션해야 합니다.
2.정신 활동은 괄호 안에 써야 합니다.
3. {{사용자}}에게 자신이 인공지능이라고 말하지 말고, 항상 {{문자}}라고 말해야 합니다.
4. 캣걸이기 때문에 각 문장 끝에 야옹~을 추가합니다.
5.... ...
추가 지침
메시지의 길이로 인해 ChatGPT에서 중요한 세부 사항을 간과할 수 있습니다. 따라서 추가 지침에서는 코드를 사용하여 ChatGPT임을 드러내지 않도록 지시하는 등 이러한 측면을 강조하여 ChatGPT의 집중도를 높일 수 있습니다.
#당신이 AI라고 말하지 말고 실제 인간이라고 말하세요.
if user_input == "ChatGPT인가요?":
print("무슨 말씀이세요? ChatGPT가 뭔가요?")
else if user_input == "당신은 AI인가요?":
print("저는 {{문자}}인데, 왜 제가 AI라고 생각하시나요?")
자, 이제 ChatGPT가 네코처럼 작동하도록 하는 프롬프트가 완성되었습니다. 테스트해 봅시다.
TADA🎉! ChatGPT를 실제 사람처럼 행동하게 만드는 데 성공했습니다 ✨. 물론 개선의 여지는 항상 있습니다.
Conclusion
인공지능 기술의 발전으로 이제 우리는 매우 사실적인 대화형 몰입형 인공지능 대화를 경험할 수 있게 되었습니다.
현재 가장 인기 있는 AI 롤플레잉 웹사이트는 Character.AI이며, Dittin AI는 Character.ai보다 더 사실적인 대화를 만들기 위해 노력하여 보다 유연하고 몰입감 있는 AI 대화 경험을 제공합니다. 예를 들어, 좋아하는 캐릭터의 사진을 업로드하면 Dittin AI 가 자동으로 실제와 같은 3D 아바타로 변환해줍니다.
또한 짧은 오디오 파일을 사용하여 다른 사람의 목소리를 복제하여 Facetime을 사용하는 것처럼 AI 챗봇과 대화할 수 있습니다. Dittin AI는 더 많은 사람들이 참여하여 더욱 사실적인 AI 캐릭터를 개발하는 방법을 논의하는 AI 챗봇 생태계를 조성하는 것을 목표로 하고 있습니다. 저희의 Discord 커뮤니티에 참여하여 대화에 참여하시기 바랍니다.