안녕하세요! 가족과 함께하는 스마트 라이프입니다. 어제 파이썬 주문으로 깨워낸 AI 비서가 건넨 첫인사, 모두 기억하시나요? 오늘은 그 비서와 한 번만 대화하고 끝내는 게 아니라, 우리가 “그만!”이라고 외칠 때까지 끝없이 수다를 떨 수 있는 ‘무한 대화 챗봇(Chatbot)’을 만들어볼 거예요. 진짜 나만의 단짝 친구를 컴퓨터 안에 만들어봐요!

1. 끝없이 대화를 이어주는 ‘무한 루프(while)’ 마법
채팅창이 꺼지지 않고 우리가 말을 걸 때까지 계속 기다리게 하려면 어떻게 해야 할까요? 바로 66탄 게임 학교에서 배웠던 while 루프를 사용하면 돼요! 조건이 참(True)인 동안 코드를 무한히 반복시키는 스위치죠. 여기에 사용자가 키보드로 글자를 입력할 수 있는 input() 주문을 합치면, 언제든 내 말을 들어주는 완벽한 대화방이 완성된답니다.
2. 수다쟁이 챗봇의 필수 주문
대화방을 유지하고 관리하기 위해 필요한 채팅 주문들을 배워봐요.
- while True: 컴퓨터가 지치지 않고 내 말을 계속 기다리도록 무한 반복 스위치를 켜요.
- input(‘나 : ‘): 사용자가 키보드로 타이핑한 재미있는 말들을 파이썬이 쏙 받아와요.
- break: 사용자가 “종료”나 “그만”이라고 입력하면 무한 대화방을 안전하게 닫고 탈출해요.
3. 실전 연습: 도란도란 무한 대화 챗봇 코딩하기
# 이 코드는 내 컴퓨터에 Ollama가 실행 중이어야 해요!
import ollama
print("💬 나만의 파이썬 챗봇 대화방이 열렸습니다!")
print("👉 대화를 마치고 싶다면 '그만' 또는 '종료'라고 입력하세요.\n")
# AI에게 '친절한 단짝 친구'라는 성격 미리 심어주기
conversation_history = [
{'role': 'system', 'content': '너는 초등학생의 가장 친한 단짝 친구야. 활기차고 다정하게 이모티콘을 섞어서 대답해줘!'}
]
while True:
# 1. 내가 하고 싶은 말 입력하기
user_input = input("나 : ")
# 2. 대화를 끝내는 탈출 조건 만들기
if user_input == "그만" or user_input == "종료":
print("\n🤖 AI 비서: 오늘 대화 즐거웠어! 다음에 또 찾아와, 안녕! 👋")
break
# 3. 내가 한 말을 대화 상자에 차곡차곡 담기
conversation_history.append({'role': 'user', 'content': user_input})
# 4. AI에게 지금까지의 대화 상자 통째로 보내기
response = ollama.chat(model='gemma2', messages=conversation_history)
# 5. AI의 답변 꺼내서 화면에 보여주기
ai_reply = response['message']['content']
print(f"🤖 AI : {ai_reply}\n")
# 6. AI가 한 말도 대화 상자에 담아서 다음 대화 때 기억하게 하기
conversation_history.append({'role': 'assistant', 'content': ai_reply})

4. 더 눈치 빠른 대화 전문가로 업그레이드!
우리 챗봇 친구에게 더 놀라운 능력을 더해볼까요?
- 기억력 테스트:
conversation_history리스트가 대화를 계속 기억해 주므로, “내가 아까 처음에 뭐라고 인사했지?”라고 물어보세요. AI가 똑똑하게 기억해 낼 거예요! - 비밀 암호 만들기:
if user_input == "열려라 참깨":같은 조건을 넣어서, 특정 암호를 입력하면 AI가 숨겨진 비밀 이야기나 70탄에서 만든 게임 힌트를 알려주도록 설정해 보세요. - 감정 분석 융합: 79탄 데이터 정제 기술처럼 사용자의 말에 “슬퍼”, “우울해”라는 단어가 필터링되면 AI가 특별한 위로의 대답을 먼저 건네도록 로직을 짜보세요.
5. 가족과 함께하는 ‘우리 집 삼행시 대결’
아이와 함께 AI 챗봇에게 삼행시나 퀴즈 대결을 신청해 보세요. “내가 ‘사과’로 운을 띄우면 네가 삼행시를 지어봐!”라고 채팅창에 입력하는 거죠. 아이가 직접 input() 창에 다양한 질문을 던져보며 ‘내가 입력하는 문장(데이터)에 따라 컴퓨터가 실시간으로 문맥을 파악해 반응하는 원리’를 자연스럽게 깨닫게 해주세요. EduPad 프로젝트에서 아이가 수학 문제를 풀다가 “이 문제 너무 어려워, 힌트 좀 줄래?”라고 채팅으로 물어보면, 전체 답 대신 부드럽게 생각하는 법을 한 단계씩 짚어주는 ‘친절한 AI 말동무 학습 챗봇’의 핵심 대화 루프로 활용하기에 정말 완벽한 예제입니다.
마치며: 컴퓨터와 친구가 되는 마법!
챌린지의 82번째 미션 완료! 오늘은 멈추지 않고 소통하는 무한 대화 알고리즘을 구현해 냈습니다. 이제 여러분의 파이썬은 완벽한 대화 파트너가 되었어요! 내일 오전 9시에는 AI 비서가 글자만 읽는 게 아니라 컴퓨터 속의 진짜 파일이나 메모장을 마음대로 읽고 쓰는 ‘ 파일 읽기 비서! AI에게 메모장 보여주기’ 이야기로 돌아오겠습니다!



