본문으로 건너뛰기
포트폴리오로 돌아가기
[KIKO-Project] 영유아 AI 인지학습 플랫폼

[KIKO-Project] 영유아 AI 인지학습 플랫폼

영유아가 게임형 학습 콘텐츠를 플레이하는 동안 발생하는 비언어적 터치·드래그 인터랙션을 실시간 분석하여 학습 상태를 판단하고 개인화된 학습 넛지를 제공하는 인지학습 플랫폼입니다. 특허 「영유아의 비언어적 터치 인터랙션 기반 인지 상태 감지 및 맞춤형 학습 넛지 결정 시스템」을 실제 서비스 아키텍처와 NI_AI 실시간 분석 엔진으로 구현하고, 게임·부모 서비스·분석 엔진을 연동하는 백엔드 시스템을 개발했습니다.

기간2026.01 – 현재
역할서버・AI 엔진 단독 개발
팀 규모3
사용 스택
  • Python
  • FastAPI
  • Pydantic v2
  • PostgreSQL
  • SQLAlchemy 2.0 Async
  • asyncpg
  • Alembic
  • Redis
  • gPRC
  • WebSocket
  • SSE
  • asyncio
  • Celery
  • FCM
  • LLM
  • Ollama
  • Docker

01. 프로젝트 개요

Python 기반으로 Main Service와 특허 기반 NI_AI Engine을 독립 서비스로 분리했습니다.

Main Server는 인증, 부모·자녀, 게임 세션, 구독·결제, 리포트 및 외부 API를 담당하고, NI_AI Server는 게임에서 발생하는 터치 데이터를 실시간으로 전달받아 상태 벡터 계산 → 행동 패턴 분류 → 넛지 결정 → 개입 효과 평가 → 개인화 임계값 조정을 수행합니다.

두 서비스는 공유 Protobuf 계약을 기반으로 gRPC 양방향 스트리밍으로 통신하며, 모바일 게임에서 발생한 이벤트는 WebSocket → Main Server → gRPC → NI_AI 파이프라인을 통해 실시간 처리하도록 구성했습니다.


02. 주요 기능

① 특허 기반 실시간 인지·행동 분석 엔진

  • 비언어적 Touch / Drag Interaction 실시간 수집
  • 특허 명세 기반 인지·행동 분석 알고리즘 구현
  • 터치 정확도 · 궤적 · 무효영역 · 체류시간 등 다차원 분석
  • 게임 콘텐츠 메타데이터와 사용자 입력을 결합한 상태 판단
  • 생성형 AI가 아닌 경량 실시간 알고리즘 엔진으로 독립 구성

② 7차원 상태 벡터 기반 행동 분석

  • D — 목표 객체 대비 터치 거리
  • σ — 드래그 궤적 분산
  • L — 방향전환·반복성
  • H — 무효 영역 터치 밀도
  • T — 영역 체류시간
  • ΔT — 이벤트 간 시간
  • Pressure — 터치 압력

각 지표를 결합하여 실시간 State Vector 생성

③ 사용자 행동 상태 실시간 분류

  • Focused — 안정적인 목표 수행 / 몰입
  • Struggling — 특정 행동에서 지속적으로 정체
  • Confused — 불규칙한 궤적 및 반복적 방향 전환
  • Disengaged — 입력 감소 및 학습 이탈
  • Normal — 정상적인 학습 진행
  • 상태별 Confidence Score 동적 계산

④ 인지 상태에 따른 실시간 학습 개입

  • 행동 상태에 따라 적절한 Nudge 자동 결정
  • Hint · Encouragement · Difficulty Adjustment 등 개입
  • 목표 객체 강조 및 단계별 힌트 제공
  • 불필요한 반복 개입을 줄이기 위한 Nudge 제어
  • 게임 Flow를 중단하지 않는 실시간 Intervention

⑤ 개입 결과를 다시 학습하는 폐루프 개인화

  • Nudge 발생 전후의 사용자 Interaction 비교
  • Assessment Window 기반 개입 효과 측정
  • 개선 정도를 R_feedback 보상값으로 정량화
  • 사용자별 상태 판정 Threshold 실시간 조정
  • 장기 Session 데이터를 EMA Baseline으로 누적
  • 사용자별 행동 특성에 적응하는 Online Personalization

⑥ 게임 ↔ Backend ↔ NI_AI 실시간 분석 파이프라인

  • Client ↔ Main Server WebSocket
  • Main Server ↔ NI_AI gRPC Bidirectional Streaming
  • 0.1초 단위 Touch Event Batch 처리
  • 세션별 독립 asyncio.Lock 기반 동시성 제어
  • 분석 결과 및 Nudge를 게임 Client로 실시간 반환
  • Request ID 기반 서비스 간 Distributed Tracing

⑦ 영유아 학습 계정 및 게임 세션 관리

  • 부모 / 자녀 계정 및 Profile 관리
  • 생년월일 기반 초기 Cognitive Level 산정
  • 캐릭터 · Skin · Accessory 관리
  • Redis 기반 실시간 플레이 세션 관리
  • 일일 플레이 시간 제한 및 Warning / Block 제어
  • 게임 데이터와 분석 Session ID 통합

⑧ 학습 데이터를 보호자용 인지 리포트로 변환

  • Daily / Weekly / Monthly 인지학습 리포트
  • 행동 패턴 · Nudge · Skill Score 분석
  • Attention · Memory · Problem Solving 지표 제공
  • CQRS 기반 Report Command / Query 분리
  • Celery Beat 기반 정기 리포트 자동 생성
  • LLM Provider를 활용한 주·월간 Insight 생성

⑨ 분석 엔진을 독립 서비스로 분리한 확장 가능한 구조

  • kiko-main-server / kiko-ni-ai-server 물리적 분리
  • 공유 .proto 기반 Contract-first 통신
  • DDD Layered Architecture + Repository Pattern + DIP
  • Provider Strategy / Factory 기반 외부 서비스 추상화
  • PostgreSQL / Redis 내부 네트워크 격리
  • Docker 기반 독립 배포 구조

Backend / Core

  • Python
  • FastAPI
  • Uvicorn
  • Pydantic v2

Database / Infrastructure

  • PostgreSQL
  • SQLAlchemy 2.0 Async
  • asyncpg
  • Alembic
  • Redis

Real-time / Distributed

  • gRPC
  • Protocol Buffers
  • WebSocket
  • SSE
  • asyncio

Async Processing

  • Celery
  • Celery Beat
  • Redis Broker

NI_AI / Algorithm

  • Rule-based Classification
  • State Vector Analysis
  • Online Reinforcement Learning
  • EMA Baseline

External / Service

  • Firebase FCM
  • OpenAI / Anthropic LLM
  • Google Auth

Infra / Testing

  • Docker
  • Docker Compose
  • pytest
  • pytest-asyncio
  • fakeredis