1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 챗봇 만들기

Connected

연습 문제

보류 중인 상태 전이

대화를 진행하다 보면, 예를 들어 사용자 인증처럼 잠시 본 흐름에서 벗어난 뒤 다시 원래 주제로 돌아와야 할 때가 자주 있습니다.

이런 경우에는 점점 복잡한 규칙을 추가하기보다, 일부 동작/상태를 보류(pending)로 저장해 두는 편이 더 간단하고 디버깅에도 유리합니다.

여기서는 policy_rules 딕셔너리를 정의합니다. 키는 현재 상태와 수신한 의도(intent)의 튜플이고, 값은 다음 상태, 봇의 응답, 그리고 전이를 보류할 상태의 튜플입니다.

지침

100 XP
  • 다음과 같이 값을 채워 policy_rules 딕셔너리를 완성하세요:
    • 사용자는 INIT 상태에서 시작합니다.
    • 사용자가 INIT 상태에서 주문을 시도하면, 번호를 요청하고 AUTHED 상태로의 보류 전이를 생성해야 합니다.
    • 보류 전이를 만드는 정책 규칙은 이것 하나뿐이므로, 나머지의 보류 상태 값은 모두 None입니다.
  • pending 상태가 send_message() 함수의 두 번째 인자로 추가되었고, 이제 이 함수는 새 상태와 보류 상태를 함께 반환합니다. send_messages() 내부에서 이 send_message() 함수를 호출하고, 반환값을 state와 pending 변수로 언패킹하세요.
  • 메시지를 봇에 보내려면 'Submit Answer'를 클릭하세요!