[8기 자녀방] Multi-user 채팅에서 AI가 사용자를 구분하도록 만드는 방법

지난번 광밤님이 공유해 주신 #[8기 자녀방] 크롤링한 자녀 정보로 GPTs 만든 후, 아이의 실제 사용기 를 보고 많은 분들이 AI가 아빠와 아들을 구분할 수 있는지 궁금해하셨습니다. 저도 궁금해서 실험을 통해 AI가 사용자를 구분하는지 확인해 봤고, 그 결과를 공유하고자 합니다.

실험 환경

저는 지난주 #[8기 자녀방] 초등학생을 위한 AI 토론 플랫폼 프로토타입 개발 에서와 마찬가지로, 이번 실험을 위해 슬랙봇을 개발해서 활용했습니다.

문제

OpenAI API로 사용자 메시지를 전송할 때, 사용자 이름이 생략되기 때문에 (당연하게도) AI가 영욱(아빠)과 준호(아들)를 구분하지 못합니다.

AI(Puppy)준호(아들)의 말에 ‘영욱님’이라고 답하는 화면:

해결 시도: User ID prefix

이 문제를 해결하기 위해 각 사용자 메시지 앞에 고유한 User ID: 를 추가했습니다. 이 ID는 사용자마다 고유한 식별자로, 슬랙에서 제공하는 사용자 ID를 기반으로 했습니다. 하지만 그럼에도 불구하고 AI가 여전히 사용자를 혼동하는 경우가 있었습니다.

AI(Puppy)영욱(아빠)의 말에 ‘준호야’라고 답하는 화면:

성공적인 결과: System Prompt 수정

이러한 문제를 해결하기 위해 시스템 프롬프트에 “사용자 메시지 앞에 User ID: 가 붙는다”는 정보를 추가했습니다. 그리고 마침내 AI가 영욱과 준호를 정확하게 구분할 수 있게 되었습니다.

결과

이 실험을 통해 GPT(API)가 multi-user 환경에서도 효과적으로 작동할 수 있다는 것을 확인할 수 있었습니다. 앞으로 이를 활용한 서비스가 많이 나오면 좋겠네요 🙂

참고

이 실험은 Python과 OpenAI의 API를 활용했으며, Slack의 봇 기능을 이용했습니다.

5
4개의 답글

👉 이 게시글도 읽어보세요!

📚 AI 활용 사례 더 보기