AWS 기술 블로그

하루만에 구축한 Cedar의 AWS 기반 다문화 가정 아동 디지털 심리 진단 서비스

Overview

시더가 AWS 모.각.큐(모여서 각자 Q로 코딩)에서 개발한 다문화 아동을 위한 디지털 심리 진단 서비스 사례를 소개합니다. Amazon BedrockAmazon OpenSearch Service를 활용한 RAG 기반 멀티모달 분석으로 HTP(House-Tree-Person) 그림 검사를 자동화하고, “그림을 그리는 과정” 자체를 데이터화하여 전문가 수준의 심리 분석을 제공합니다. 태블릿 기반의 자연스러운 인터페이스와 다국어 지원을 통해 다문화 가정 아동의 심리적 접근 장벽을 낮추고, Amazon Q Developer를 활용한 Agentic AI 개발 프로세스로 짧은 해커톤 기간 내에 완성한 혁신 사례입니다.

회사 소개

시더는 2013년에 설립된 디지털 사이니지 및 스마트 빌딩 솔루션 전문 기업으로, “세상의 모든 디스플레이를 연결한다”는 비전을 바탕으로 하드웨어와 소프트웨어를 아우르는 통합 디지털 경험을 제공합니다.

자체 개발한 디지털 사이니지 솔루션을 기반으로 LED, 멀티비전, 키오스크, 투명 OLED 등 다양한 디스플레이 환경에서 유연하고 안정적인 서비스 운영을 지원하고 있습니다. 또한 클라우드와 로컬 네트워크를 모두 지원하는 하이브리드 아키텍처를 통해 장소에 구애받지 않는 효율적인 관리 환경을 제공합니다. 이러한 기술력으로 시더는 공공기관, 대형 상업시설, 교육기관 등 다양한 산업군에서 신뢰받는 파트너로 자리매김해 왔습니다.

주요 사업 분야

  • 디지털 사이니지 & 키오스크 제작 및 운영 솔루션
  • 스마트 빌딩 시스템 구축 및 통합 보안
  • 데이터센터 인프라 관리(DCIM) 및 네트워크 설계/시공
  • ChromeOS 연동 기반 기업형 디지털 환경 구축

기술 역량

  • 국제 표준 및 비표준 프로토콜 연동 기술 보유
  • 고속·대용량 실시간 통신 및 운영 기술 확보
  • 다수의 특허와 글로벌 파트너십 기반 경쟁력
  • GS 인증 1등급 획득 솔루션 보유

이 블로그에서는 시더가 Amazon Web Services에서 주최한 모.각.큐에 참가하여 개발한 디지털 아동 심리 진단 서비스를 소개합니다. 또한, 개발 과정 전반을 정리하고, 이 서비스 구현에 Amazon Bedrock과 Amazon OpenSearch Service(RAG) 등 AWS 기술을 활용한 이유와 상세한 구현 과정을 공유합니다.

구현 배경과 니즈


2024년, 국내 다문화 학생 수는 19만 명을 돌파하며 역대 최고치를 기록했습니다. 그러나 숫자의 증가는 그들의 마음 건강으로 이어지지 못했습니다. 다문화 청소년은 일반 청소년보다 우울감 경험률이 40% 이상 높고, 자아존중감, 삶의 만족도, 회복탄력성 등 주요 심리 지표에서도 모두 낮은 수치를 보입니다. 이들은 ‘학업 부담’보다 차별·정체성 문제와 같은 정서적 요인에 더 큰 스트레스를 받으며, 이러한 복합적인 요인이 심리적 어려움을 더욱 심화시키고 있습니다.

출처: 청소년건강행태조사(KYRBWS, 질병관리청), 다문화청소년패널조사(2024)

지표 다문화 청소년 일반 청소년 차이
우울 (CES-D, 40점) 16 ~ 18점 12 ~ 14점 다문화↑
우울감 경험률 40% 이상 28% 내외 다문화↑
자아존중감(10점) 5.5 ~ 6.0 6.5 ~ 7.0 다문화↓
삶의 만족도(4점) 2.7 ~ 2.9 3.0 ~ 3.2 다문화↓
회복탄력성(5점) 3.0 ~ 3.4 3.5 ~ 3.8 다문화↓
주요 스트레스 요인 차별, 정체성 문제 학업 부담 원인 차이

또한 심리 상담’이라는 단어 자체에 여전히 부정적인 사회 인식이 남아 있습니다. 심리검사를 받는 학생은 “문제가 있는 아이”로 오해받을 수 있다는 두려움 때문에, 상담실 문을 스스로 두드리기가 쉽지 않습니다. 결국 이러한 사회적·제도적 장벽으로 인해 본인 조차 인지하지 못한 심리 위험 신호가 조기에 발견되지 못하며, 발견되더라도 개입이 늦어질 수 있고, 부모와 교사에게 전달되지 못한 채 방치되는 경우가 많습니다. 언어와 문화가 다른 환경 속에서 성장하는 다문화 아동에게 “말로 하는 상담”은 여전히 쉽지 않은 일입니다.

HTP(House-Tree-Person) 그림 검사는 아동의 내면세계를 자연스럽게 드러낼 수 있는 방법으로 잘 알려져 있습니다. 그림은 때로 언어보다 더욱 솔직할 수 있다는 관점에서 아이가 어떤 생각과 감정을 가지고 있는지, 손끝의 흔적 속에 자연스럽게 드러납니다. 하지만 여전히 전문가의 해석이 필요한 오프라인 중심의 검사 구조, 그리고 시간과 비용의 부담은 그대로 남아 있습니다. 그림 데이터를 객관적으로 분석하거나, 누적된 심리 변화 데이터를 추적하기 어려운 점도 현장의 한계로 지적됩니다.

이 문제를 조금 더 접근하기 쉽게 만들기 위해 Cedar는 AWS 모.각.큐에서 태블릿 기반 그림 데이터 분석 서비스를 기획하고 직접 구현했습니다. 전문가를 찾아가거나 심리센터를 방문하지 않아도, 학생이 학교나 복지시설 등 일상적인 공간에서 태블릿을 통해 그림을 그리며 자연스럽게 검사에 참여할 수 있도록 한 것을 핵심 기획 으로 가져갔습니다. “검사” 라는 다소 무거울 수 있는 주제보다는 그림 그리기 활동에 가까운 형태로 설계되어, 심리적 부담 없이 참여할 수 있도록 했습니다.

Cedar는 디지털 사이니지 운영 경험과 Q Developer를 바탕으로, 추후에도 학교·공공기관 등 다양한 현장에 이 서비스를 손쉽게 배포할 수 있도록 구조를 단순화했습니다. 이를 통해 심리 진단이 ‘특별한 절차’가 아니라, 일상 속에서 자연스럽게 이루어지는 경험이 되도록 하며 작은 그림 한 장이 누군가의 마음을 여는 첫걸음이 될 수 있도록 하는 것이 디지털 아동 심리 진단 서비스의 목표입니다.

디지털 아동 심리 진단 서비스

디지털 아동 심리 진단 서비스는 태블릿을 통해 아동이 그림을 그리는 과정을 단순히 결과물로만 보지 않고, 그리는 순서·시간·색상·위치 등 메타데이터까지 정밀하게 기록해 함께 분석합니다. 이 데이터는 HTP 미술심리검사(House–Tree–Person)을 기반으로 해석되며, 설문 위주 접근만으로는 포착하기 어려운 깊은 심리 신호를 드러내도록 설계되었습니다.

최종 리포트는 아동의 실제 그림과 분석 결과를 나란히 제시하여 학생·보호자·교사가 직관적으로 이해하고 자연스럽게 소통할 수 있도록 합니다. 또한 프롬프트 설계와 상담 가이드 검토를 통해 결과의 일관성과 신뢰도를 높였으며, 리포트는 아동과 보호자의 언어에 맞춰 다국어로 제공됩니다.

서비스 시나리오

1. 언어 설정
다문화 가정 아동은 서비스 시작 시 자신이 사용할 언어와 보호자가 결과를 확인할 언어를 각각 선택합니다. 아동은 익숙한 언어로 지시사항을 받고, 보호자는 모국어로 결과를 이해할 수 있습니다.

2. 단계별 그림 그리기
아동은 상담 음성 안내에 따라 집·나무·사람 순으로 그림을 그립니다. 각 단계는 독립적으로 진행됩니다.

3. 실시간 데이터 저장
그림이 완성될 때마다 서버는 이미지를 S3에 저장하고, 최종 리포트에서 비교 자료로 활용합니다.

4. AI 종합 분석 및 리포트 생성
세 그림을 종합 분석하고, 선택한 언어로 번역해 최종 리포트를 생성합니다.

5. 리포트 확인
아동과 보호자는 선택 언어로 태블릿에서 결과를 확인할 수 있으며, 리포트는 종합 보고서·세부 분석·그림 비교 등으로 구성됩니다. 분석에는 Amazon Bedrock, Amazon Q Developer, RAG(OpenSearch 등)이 활용되었습니다. 단순 AI 예측이 아니라 심리학적 분석 지표와 상담 사례, 사전 검증된 질문 설계를 바탕으로 전문가 상담과 유사한 수준의 신뢰도를 제공합니다. 이를 통해 학생은 자신의 심리 상태를 쉽게 인식하고, 보호자는 리포트를 바탕으로 자녀와 깊이 있는 대화를 나눌 수 있습니다.

기대 효과

  • 접근성 향상 — 태블릿·웹 기반으로 자연스럽게 참여
  • 조기 발견 — 그림 과정 데이터를 통한 미세한 신호 포착
  • 다문화 친화성 — 다국어 리포트와 문화적 맥락 반영
  • 협력 강화 — 보호자·교사가 같은 리포트로 지원 계획 수립

디지털 아동 심리 진단 서비스는 단순한 검사 도구가 아니라, 데이터 기반 정밀 분석·맞춤형 지원·다문화 환경 고려를 통해 신뢰도를 지속적으로 높여가는 심리지원 체계입니다. 특히 Amazon Q Developer를 적극 활용함으로써 초기 기획 단계부터 API 명세, 프롬프트 설계, 아키텍처 구성까지 효율적으로 진행할 수 있었고, 덕분에 복잡한 분석 파이프라인도 짧은 기간 안에 안정적으로 구현할 수 있었습니다. CedarAWS 모.각.큐를 계기로 얻은 경험을 바탕으로 기술 고도화와 분석 신뢰도 향상을 지속적으로 이어가고 있습니다.

본 서비스는 전문가의 임상 진단을 보조하는 도구이며, 결과 해석과 개입은 반드시 전문가와 협력해 진행합니다.

서비스 소개

아키텍쳐

다음은 디지털 아동 심리 진단 서비스 에서 사용한 아키텍처 다이어그램으로 AWS 클라우드 기반의 통합 아키텍처로 설계되었습니다. 시스템은 크게 Users Layer, Server Contents, AI Layer, Data Storage로 구성됩니다. 그림은 디지털 아동 심리 진단 서비스의 흐름이 어떤 서비스로 구현되었는지를 나타냅니다.

사용자 계층에서 디지털 아트 심리 태블릿은 서비스의 핵심 인터페이스로 작동합니다. 아동이 그린 그림은 실시간으로 디지털화되어 Amazon API Gateway를 통해 백엔드 서버로 안전하게 전송됩니다. API Gateway는 외부 요청을 인증·제어하고 내부 서비스로의 안정적인 라우팅 및 양방향 통신을 지원하여, 분석 결과를 지연 없이 다시 태블릿으로 전달합니다. 이러한 구조는 보안성·응답성·확장성을 균형 있게 확보하는 기반이 됩니다.

백엔드의 중심에는 Amazon EC2 인스턴스가 위치합니다. EC2는 수신된 그림 데이터를 전처리하고, 원본 이미지 그림 데이터를 Amazon S3 에 안전하게 저장하며, Amazon DynamoDB에 메타데이터 및 분석 이력을 기록합니다. 또한 AI Layer와의 인터페이스 역할을 수행해 분석 요청을 전달하고 결과를 수신·정리하며, 처리 순서를 관리함으로써 데이터 무결성과 서비스 안정성을 보장합니다.

AI Layer는 실제 심리 분석이 수행되는 핵심 분석 영역입니다. Amazon Bedrock은 그림의 색상, 형태, 구도 등 다양한 메타데이터를 기반으로 심리학적 해석을 수행하며, Amazon OpenSearch Service(RAG)는 축적된 심리학 지식베이스와 과거 진단 사례를 검색하여 맥락 기반의 정밀 분석을 가능하게 합니다. 이를 통해 단순한 패턴 분석을 넘어 임상 수준에 근접한 심리적 통찰을 제공합니다.

데이터 저장 계층에서 Amazon S3는 아동의 원본 그림 데이터를 보존해 후속 분석 및 리포트 생성 시 시각적 근거로 활용할 수 있도록 합니다. 반면 DynamoDB는 사용자 정보, 진단 이력, 분석 결과 등 구조화된 메타데이터를 고속으로 조회·처리할 수 있는 형태로 저장합니다. 이와 같은 데이터 계층의 역할 분리는 각 스토리지의 특성을 최적화하여 서비스 성능과 확장성을 극대화합니다.

이와 같이 구성된 아키텍처는 보안성과 확장성, 그리고 실시간성을 고루 갖춘 인프라를 통해, 다문화 가정 아동에게 전문적이면서도 손쉽게 접근 가능한 심리 진단 환경을 제공합니다.

플로우

본 서비스는 아동이 그림을 그리는 순간부터 AI 분석을 거쳐 심리 진단 리포트를 받기까지의 전 과정이 유기적으로 연결되어 있습니다. 각 단계는 사용자 경험을 고려하여 설계되었으며, 백그라운드에서는 복잡한 데이터 처리와 AI 분석이 자동으로 진행됩니다.

아키텍쳐와 더불어 디지털 아동 심리 진단 서비스의 흐름을 쉽게 이해하기 위해 사용 시나리오를 기반으로 각 단계별 워크플로우가 도식화로 상세하게 설명되어있는 그림과 함께 플로우를 알아보겠습니다.

디지털 아동 심리 진단 서비스의 시작

서비스는 언어 선택으로 시작됩니다. 다문화 가정의 특성을 고려하여 사용자(아동)가 사용할 언어와 보호자가 결과를 확인할 언어를 각각 선택할 수 있습니다. 예를 들어 아동은 선택된 언어로 지시사항을 받고, 보호자는 다국어 번역된 분석 결과를 받을 수 있습니다. 그림 그리기 과정 중에서도 언어 변경이 가능합니다.

언어가 선택되면 디지털 아트 심리 태블릿은 API Gateway를 통해 서버에 세션 시작을 요청합니다. EC2 서버는 이 요청을 받아 사용자 정보와 선택된 언어 설정을 DynamoDB에 저장하며, 이는 이후 모든 과정에서 참조되는 기본 정보가 됩니다.

단계별 그림 그리기와 실시간 저장

초기 설정이 완료되면 본격적인 심리 진단 과정이 시작됩니다. HTP(House-Tree-Person) 기법에 따라 아동은 세 가지 주제를 순차적으로 그리게 됩니다. 먼저 집을 그리고, 다음으로 나무를, 마지막으로 사람을 그립니다. 각 단계는 독립적으로 진행되며, 초기 서비스 시작시 선택한 아동 연령에 맞춘 상담사의 지시를 통해 아동이 편안하게 그림을 완성할 수 있도록 돕습니다.

각 그림은 완성될 때마다 즉시 서버로 전송되고 저장됩니다. 아동이 집 그리기를 마치면 태블릿은 해당 이미지를 API Gateway를 거쳐 EC2 서버로 전송합니다. EC2는 받은 이미지를 S3에 저장하고, 동시에 DynamoDB에 메타데이터를 기록합니다. 여기에는 그림이 그려진 시간, 어떤 단계의 그림인지, 이미지 파일의 위치 등이 포함됩니다. 이러한 단계별 저장 방식은 최종 분석 리포트에서 비교 자료로 활용되어 아동의 심리 상태를 다각도로 파악할 수 있게 합니다. 나무 그리기와 사람 그리기도 동일한 프로세스를 거칩니다. 각 그림이 완성될 때마다 태블릿에서 서버로 전송되고, S3에 그림 데이터가 안전하게 저장됩니다. 이렇게 세 단계의 그림이 모두 완성되면 시스템은 자동으로 다음 단계인 AI 분석으로 넘어갑니다.

Amazon Bedrock과 OpenSearch 를 활용한 RAG 기반 종합 분석

세 개의 그림이 모두 저장되면 EC2 서버는 AI 레이어에 종합 분석을 요청합니다. 이 과정은 세 단계로 구성됩니다.

첫 번째 단계는 참고 자료 검색입니다. EC2는 OpenSearch Service에 현재 그림과 유사한 과거 진단 사례와 관련 심리학 지식을 검색하도록 요청합니다. OpenSearch는 RAG 방식으로 구축된 지식 베이스에서 색상 패턴, 형태적 특징, 구도 배치 등을 기준으로 유사 사례를 찾아냅니다. 동시에 HTP 검사 이론, 아동 심리학 연구 자료, 발달 단계별 특성 등의 전문 지식도 함께 검색합니다. 이렇게 수집된 참고 데이터는 다음 분석 단계의 정확도를 높이는 중요한 역할을 합니다.

두 번째 단계는 Bedrock을 활용한 심리학적 해석입니다. Bedrock은 각 그림을 개별적으로 분석한 후 종합적인 해석을 수행합니다. 집 그림에서는 가정환경에 대한 인식과 안정감을, 나무 그림에서는 성장과 생명력에 대한 태도를, 사람 그림에서는 자아상과 대인관계를 분석합니다. 이러한 개별 분석 결과는 참고 자료와 비교되어 더욱 구체적이고 정확한 심리 상태 평가로 발전합니다. 예를 들어 과거 유사한 그림을 그린 아동들의 사례를 참고하여 현재 아동의 심리 상태를 더 깊이 이해할 수 있습니다.

최종 리포트 생성과 제공

모든 분석과 번역이 완료되면 EC2는 최종 결과를 DynamoDB에 저장합니다. 여기에는 종합 심리 상태 평가, 각 그림에 대한 세부 분석, 권장사항, 관찰이 필요한 부분 등이 포함됩니다. 저장이 완료되면 시스템은 API Gateway를 통해 태블릿에 리포트 생성 완료 신호를 보냅니다.

태블릿은 사용자에게 최종 리포트를 표시합니다. 리포트는 여러 탭으로 구성되어 있어 보호자가 원하는 정보를 쉽게 찾을 수 있습니다. 종합 보고서 탭에서는 아동의 전반적인 심리 상태와 주요 발견사항을 한눈에 볼 수 있습니다. 모든 내용은 보호자가 선택한 언어로 제공되어 언어 장벽 없이 아동의 심리 상태를 파악할 수 있습니다.

이렇게 언어 선택부터 최종 리포트 확인까지의 전 과정은 자동화되어 있으며, 사용자는 단순히 그림을 그리기만 하면 됩니다. 복잡한 백엔드 처리와 AI 분석은 모두 시스템이 처리하여, Q Developer를 활용하려 설계하고 구축한 이 서비스를 통해 전문가의 개입 없이도 신뢰할 수 있는 심리 진단 결과를 제공받을 수 있습니다.

비즈니스 로직

Cedar에서 기획한 디지털 아동 심리 진단 서비스의 본질은 “그림을 해석한다”가 아니라 “그림을 그리는 과정을 해석한다” 입니다. 단순히 이미지를 업로드하고 결과를 받아보는 방식은 아동의 심리 상태를 정밀하게 파악하기 어렵습니다. 따라서 저희 Cedar에서는 그림을 그리는 모든 행동 신호를 실시간으로 수집·분석하는 RAG 기반 파이프라인을 설계했습니다.

이 로직의 핵심은 다음 세 가지 축으로 정리할 수 있습니다.

  1. 그림 결과물뿐 아니라 생성 과정을 함께 분석
  2. 사용자의 연령과 상황에 맞는 자연스러운 대화를 제공
  3. RAG 기반 심리학 지식으로 근거 있는 해석

1. 그림 + 메타데이터를 통한 정량화된 심리 신호

일반적인 미술 심리검사(HTP)는 결과물(그림)만을 토대로 전문가가 주관적으로 해석합니다. 하지만 이 서비스는 그림을 그리는 과정에서 발생하는 모든 행동을 실시간으로 수집하여 정량화된 심리적 피드백을 가능하게 합니다.

메타데이터 항목 수집 방식 심리적 분석 의미(예시)
완성 시간 시작~마지막 터치 시간 기록 충동성, 집중도, 몰입도
스트로크 수 전체 stroke 이벤트 카운팅 세밀함, 계획성, 완벽주의 경향
색상 선택 패턴 색상 팔레트 사용 이력 감정 표현 스타일, 심리적 에너지 수준
위치 및 움직임 경로 좌표 및 시간 기반 trajectory 분석 주저함, 자신감, 그림 구성 능력, 시선 흐름 추적 가능
// 예시: 그림 + 메타데이터 전송 로직
async analyzeDrawing(phaseData: PhaseData) {
  const content = [
    {
      type: 'text',
      text: `
        ## 분석 데이터
        - 완성 시간: ${completionTime}초
        - 스트로크 수: ${strokeCount}개
        - 그리기 패턴: ${patterns}
      `
    },
    {
      type: 'image',
      source: { data: base64Image }
    }
  ];
  return await bedrock.invoke(content);
}

이처럼 단순한 이미지 데이터가 아니라 행동 패턴까지 함께 전달함으로써, 모델은 ‘결과’가 아니라 ‘과정’을 근거로 분석을 수행합니다. 이는 기존 심리검사와 비교했을 때 데이터 기반 해석의 신뢰도를 획기적으로 높이는 요소입니다.

2. 나이에 따른 AI 대화 전략 차등화

심리검사에서 대화의 어투와 분위기는 결과의 정확도에 직접적인 영향을 미칩니다. 특히 아동의 경우 언어 이해 능력과 감정 표현 방식이 연령에 따라 크게 다르기 때문에, 이를 무시한 일률적인 인터페이스는 심리 측정의 정확도를 떨어뜨릴 수 있습니다.

이를 해결하기 위해 프롬프트에 나이 기반 어투 지시어를 삽입하여, AI가 자동으로 상황에 맞는 말투로 응답하도록 설계했습니다.

// 나이별 어투 자동 조절
if (age <= 5) {
  toneInstruction = "매우 쉽고 단순한 말로, 짧은 문장 사용";
} else if (age <= 8) {
  toneInstruction = "친근하고 따뜻한 어투";
} else if (age <= 16) {
  toneInstruction = "존중하는 어투, 어린아이 취급 금지";
}
const prompt = `
당신은 ${age}세 대상자와 대화합니다.
${toneInstruction}
`;
나이대 어투 전략 예시 출력
5세 이하 단순하고 짧은 문장 “우와! 집을 그려볼까? 재밌을 거야!”
6–8세 따뜻하고 친근한 말투 “안녕! 오늘은 집을 그려보자. 어떤 집이 좋을까?”
9–16세 존중하는 톤, 지시적 표현 최소화 “이번 검사는 집을 그리는 단계입니다. 편하게 그려주세요.”

이 기능을 통해 심리검사가 마치 상담사가 아이의 눈높이에 맞춰 이야기하는 것처럼 자연스러운 UX를 제공합니다.
이는 단순 기술이 아니라 검사 정확도와 몰입도를 높이는 설계적 장치입니다.

3. 정밀한 그리기 행동 데이터 수집 로직

// DrawingCanvas.js
const newStroke = {
  timestamp: Date.now(),
  x,
  y,
  pressure,
  tool: state.tool,
  color: state.color,
};

setStrokes((prev) => [...prev, newStroke]);

단순히 좌표만 기록하는 것이 아니라, 도구·색상 등 정황 데이터를 함께 축적합니다. 이 정보는 이후 분석 단계에서 심리적 상태를 정밀하게 파악하는 근거로 활용됩니다.
예를 들어,

  • 완성 시간이 지나치게 빠른 경우 → 충동성 및 불안 신호 가능성
  • 색상 변경이 잦고 일정하지 않은 경우 → 감정 상태의 불안정성

이와 같은 신호는 AI가 그림 자체만으로는 포착하기 어려운 행동 기반 맥락(Context) 을 제공합니다.

4. RAG 기반 심리 해석 파이프라인

  1. 메타데이터와 그림 데이터를 하나의 프롬프트로 정제
  2. OpenSearch 기반 심리학 이론, 사례, 논문 DB에서 유사 패턴 검색
  3. 검색 결과를 AI 프롬프트에 주입하여 해석의 전문성 강화

핵심 기능

RAG 파이프라인 세부 구현

이 프로젝트의 핵심은 RAG(Retrieval-Augmented Generation) 기반 심리 해석 파이프라인입니다. 단순 멀티모달 분석이 아니라, RAG(Retrieval-Augmented Generation) 방식으로 심리학 지식 베이스를 조회하여 보다 근거 있는 분석을 수행합니다.

파이프라인 흐름

  1. 데이터 수집 단계에서는 캔버스에서 그림 데이터 및 메타데이터를 저장합니다.
  2. OpenSearch 검색 단계를 통해 유사 사례 기반 심리 패턴을 탐색합니다.
  3. Bedrock 분석 단계에서 검색 결과 기반 RAG 프롬프트를 생성하여 분석합니다.
  4. 결과 정제 단계에서 상담 리포트용으로 서술을 정리합니다.
  5. 번역 및 리포트 생성 단계에서 보호자와 아동 언어로 자동 번역합니다.
  6. 저장 및 전달 단계에서 DynamoDB에 결과를 저장하고 클라이언트에 실시간으로 반영합니다.

RAG 검사 사례 매칭

// 1. 메타데이터 기반 쿼리 구성
const queryContext = `
완성 시간: ${phaseData.completionTime}초
연령: ${age}세
검사 단계: ${phaseData.phase}
`;

// 2. 임베딩 생성 (텍스트 → 벡터)
const queryEmbedding = await embedText(queryContext);

// 3. OpenSearch 벡터 검색
const results = await openSearchClient.search({
  index: 'htp-knowledge-base',
  body: {
    query: {
      bool: {
        must: [
          { match: { phase: phaseData.phase } }
        ],
        filter: [
          { range: { age_range: { gte: age - 2, lte: age + 2 } } }
        ]
      }
    },
    knn: {
      field: "case_embedding",
      query_vector: queryEmbedding,
      k: 5
    }
  }
});

RAG 분석 프롬프트

아래는 OpenSearch에서 검색된 문서를 Bedrock 프롬프트에 반영하는 예시입니다.

const docBullets = retrievedDocs.map((d) => `- ${d.summary}`).join("\n");

const prompt = `
## 그림 분석 데이터
- 검사 단계: ${phaseData.phase}
- 완성 시간(초): ${phaseData.completionTime}
- 총 스트로크 수: ${phaseData.strokeCount}
- 그리기 패턴: ${phaseData.drawingPattern}

## 참고 심리학 근거(요약)
${docBullets}

## 분석 지침
1. HTP 검사 이론을 준수하여 형태(크기/위치/비율/세부), 선의 질(압력/연속성/떨림), 공간 활용(배치), 시간적 패턴(속도/수정) 등을 통합적으로 해석합니다.
2. 검색된 유사 사례와의 공통점·차이를 명시하고, 인용 근거(references)에 각 사례의 ID를 포함합니다.
3. 해석은 단정적 표현을 피하고, 가능성/정도로 기술하며 연령 규준을 반영합니다.
4. 불확실하거나 추가 관찰이 필요한 항목은 별도로 기재합니다.
5. 결과는 한국어로 작성하고, 아래와 같은 JSON 형식을 출력합니다.

## 출력 형식(JSON)
{
  "phase": "${phaseData.phase}",
  "observations": { "timeSec": number, "strokeCount": number, "pattern": string },
  "analysis": [
    { "statement": string, "confidence": "low"|"medium"|"high", "evidenceRefIds": string[] }
  ],
  "developmentalNorms": string,
  "risks": [ string ],
  "recommendations": [ string ],
  "references": [ { "id": string, "title": string } ]
}

전문적이고 객관적인 어조로 작성하고, 아동의 연령과 발달 단계를 고려합니다.

## 중요 안내
- 본 분석은 전문가의 임상 진단을 대체할 수 없으며, 선별검사(screening) 목적입니다.
- 모든 해석은 "가능성", "시사됨", "경향" 등의 표현을 사용하고, 확정적 진단은 금지합니다.
- 심각한 위험 신호 발견 시 "전문가 상담 권장"을 명시해야 합니다.
`;

이 프롬프트는 다음과 같은 점에서 중요한 의미를 가집니다.

  • 근거 기반 분석: OpenSearch에서 검색된 심리 사례를 직접 반영
  • 출력 포맷 고정: JSON 형식을 지정하여 후처리 자동화 용이
  • 표현 안전성 확보: 확정적 서술이 아닌 ‘가능성’ 중심의 기술
  • 연령 규준 반영: 동일 지표라도 연령에 따라 해석이 달라짐을 반영

단일 지표로 결과를 단정하지 않고, 속도·선의 질·공간 활용·수정 패턴 등 복합 지표를 종합 분석합니다.

"완성 시간: 45초 (매우 빠름)"
→ 메타데이터 임베딩: "9세, 45초 완성, house 단계"
→ OpenSearch kNN 검색: 유사도 0.89 매칭 (case_127: "9세 남아, 빠른 완성 + 충동성")
→ AI 해석: {
  "analysis": [
    {
      "statement": "완성 시간이 평균(90-120초)의 절반 수준으로, 충동적 성향 또는 과제 몰입도 저하 가능성",
      "confidence": "medium",
      "evidenceRefIds": ["case_127", "case_284"]
    },
    {
      "statement": "다만 스트로크 수가 적어 계획적으로 빠르게 그렸을 가능성도 있어 추가 관찰 필요",
      "confidence": "medium",
      "evidenceRefIds": ["case_512"]
    }
  ]
}

"스트로크 수: 150개, 시간: 300초 (평균보다 많음)"
→ OpenSearch kNN: 유사도 0.91 (case_456: "10세 여아, 세밀한 묘사 + 완벽주의")
→ AI 해석: "높은 집중력 및 완벽주의적 경향 가능성 (근거: case_456, case_789)"

이 과정을 통해 결과 리포트는 AI가 느끼는 직관이 아닌, 실질적 심리학 근거를 기반으로 생성됩니다. 분석 결과는 `analysis` 필드에 정리되고, 근거로 활용된 문서 ID가 함께 포함됩니다. 이는 상담사 또는 보호자가 결과의 근거를 검증 가능하게 만듭니다.

모.각.큐 행사 참여 소감 및 Agentic AI 개발 경험

Q Developer와 함께한, 모.각.큐 에서의 집중 개발 경험기

모.각.큐(모여서 각자 Q로 코딩)는 AWS에서 주최한 Amazon Q Developer 주제 해커톤으로, 참가자들은 제한된 시간 내에 Q Developer와 Agentic AI를 활용해 서비스를 구현해야 했습니다.

저희 팀 Q시국은 이 행사에서 다문화 아동을 위한 태블릿 그림 기반 디지털 심리 진단 서비스를 제안했습니다. 핵심은 HTP 심리검사(집–나무–사람) 기반의 그림 데이터를 분석하고, 여기에 멀티모달 RAG 구조를 결합해 실시간 심리 분석을 가능하게 하는 것이었습니다.

이전에도 사내에서 다양한 LLM 도구를 적극적으로 활용해 왔지만, Q Developer와 KIRO IDE는 단순한 실험이 아니라 실제 개발 효율을 극적으로 끌어올리는 경험이었습니다.

  • Q Developer
    • IDE에 직접 통합된 생성형 AI 어시스턴트
    • 코드 작성·리팩터링·보안 점검·테스트 자동화·디버깅을 지원
    • 여러 파일에 걸친 기능 구현 및 문서 생성까지 가능
  • KIRO IDE
    • Q Developer 워크플로우를 확장하는 Spec 기반 IDE
    • 요구사항 문서를 기반으로 API 설계·데이터 모델·테스트 코드·가이드 자동 생성

이 조합은 코드 한 줄을 대신 써주는 도우미가 아니라 개발 전반을 가속화하는 Agentic AI 개발 환경이었습니다.

짧은 해커톤 일정 속에서 저희 팀은 단순히 코드를 빨리 작성하는 것보다 문서가 곧 개발의 시작점이자 기준점(SSOT)이라는 전략을 세웠습니다.

  1. 테크리더가 Spec Mode로 필수 요구사항을 빠르게 문서화
  2. 문서를 기준으로 디자이너와 개발자가 병렬 작업 시작
  3. Q Developer로 코드 생성 및 테스트 자동화
  4. 디자인은 Q CLI + Figma MCP 연동으로 즉시 반영
  5. API, 모델, UI가 동시에 발전하면서 최종 MVP 완성

이 접근법 덕분에 전통적인 ‘기획 → 디자인 → 개발’의 순차 구조가 아니라, 모든 역할이 동시에 움직일 수 있었고 협업 속도가 비약적으로 빨라졌습니다.

항목 기존 방식 Q developer + KIRO 방식
API 설계 및 문서화 수동 문서 작성 (1~2일) Spec 자동화 (수 시간)
백엔드/프론트 병렬 개발 불가 또는 조율 필요 문서 기반 병렬 진행
디자인 반영 회의 및 전달 필요 Figma MCP 즉시 반영
테스트 및 품질 확보 QA 이후 반영 Hook 기반 자동 검증

실제 해커톤에서의 활용 프로세스

짧은 일정 동안 저희는 아래와 같은 흐름으로 Agentic AI를 활용했습니다.

1. 기획 아이디어 → Spec 문서 자동 생성

  • 해커톤 시작 직후, 테크리더가 자연어로 서비스 아이디어를 KIRO IDE에 입력
  • API 스펙·데이터 모델·기능 명세·플로우 문서가 자동으로 생성
  • 설계 회의 없이도 팀 전체가 공통 기준점을 확보

2. 기능 단위 분할 개발

  • Q Developer에 스펙 문서를 질의해 코드 초안 생성
  • AI: RAG 분석 파이프라인
  • 각자 병렬로 개발 시작 → 속도 대폭 향상

3. 디자인 실시간 반영

  • 디자이너는 Spec 문서를 Figma MCP와 연동해 바로 스케치
  • 개발자는 UI가 완성되기 전에도 더미 컴포넌트로 작업 진행
  • 완성 후 바로 실제 디자인 반영

4. 시연 직전까지 빠른 반복

  • Agentic AI 기반이라 작은 기능 변경도 빠르게 반영 가능

Agentic AI와 Spec Mode로 만든 자동 문서 구조 및 개발 과정

Spec Mode에서 자연어 기반으로 요구사항을 작성하면, 아래와 같이 기획·설계·테스트에 필요한 핵심 문서들이 자동으로 생성됩니다.

├── API_Documentation.md
├── API_Quick_Start.md
├── API_Schema.md
├── HTP_API_Postman_Collection.json
├── Postman_Usage_Guide.md
├── 기획서.md
├── 개발가이드.md
└── 기능명세서.md

예를 들어, 다음과 같은 자연어를 입력합니다.

HTP ( House-Tree-Person ) 심리 투사 기법을 기반으로 한 서비스를 만들고 싶어.
1. 언어 설정
2. 단계별 그림 그리기
3. 실시간 데이터 저장
4. AI 종합 분석 및 리포트 생성
5. 리포트 확인
또한 해당 시나리오를 기반으로 팀원끼리 공유 가능한 API 문서를 작성해줘.

Spec Mode는 이 시나리오를 분석해 API 설계 문서, 데이터 모델 정의, 기능 명세서, 테스트 가이드 등을 자동으로 구조화합니다.
이 문서는 단순한 참고 자료가 아니라 개발팀·디자인팀·기획자가 공통으로 바라보는 ‘단일 기준점(SSOT)’ 역할을 합니다.

문서 관리 및 협업 방식

생성된 문서는 docs 디렉터리로 정리한 뒤, Git 저장소에 버전 관리합니다. 이를 통해 에이전트 기반 개발 과정에서 문서가 변경되거나 오염되는 일을 방지하고, 초기 기획 의도가 개발 전 과정에 일관되게 반영될 수 있도록 합니다.

  • 초기 설계 문서 → Git 버전 관리
  • Q Developer 및 KIRO IDE에서 이 문서를 참조하여 개발
  • 팀 내 문서 충돌 없이 안정적인 협업 가능

Q Developer & KIRO IDE 활용 방식

에이전트 기반 개발에서는 문서가 곧 개발의 기준이 됩니다. Q Developer CLI 또는 KIRO IDE의 Spec Mode를 통해 생성된 문서를 참조해 질의하면, 초기 설계와 완전히 일치하는 코드와 응답 구조를 자동으로 생성할 수 있습니다.

예를 들어 Q Developer에서 다음과 같이 질의합니다.

> docs 폴더 하위에 존재하는 문서들을 참조하여 클라이언트 프로젝트를 만들어줘
> 응답값은 API_Documentation.md를 참고하여 고정해줘

Q Developer는 한 번 문서를 학습(참조)한 후, 해당 문서 내용을 지속적으로 바탕으로 코드와 로직을 생성합니다.
이로써 개발 과정 내에서 불필요한 커뮤니케이션이나 스펙 변경 없이, 처음 정의한 설계서대로 일관된 개발이 가능했습니다.

협업 노하우

실제 협업 환경에서도 Cedar 가 모.각.큐에서 적용했던 방식처럼, 테크리더가 초기 기획 의도를 곧바로 문서로 구조화하는 프로세스를 도입한다면 협업 효율을 크게 높일 수 있을 것이라 생각합니다.

  1. 1. 테크리더가 기획 의도를 Spec Mode 로 정리
    → 팀 전체의 SSOT(Single Source of Truth) 확보
  2. 개발자와 디자이너가 병렬 작업
    → 회의나 문서 충돌 최소화
  3. Q Developer로 코드 자동화
    → 품질 확보 + 개발 속도 향상
  4. Figma MCP와 Q CLI로 디자인 즉시 반영

이러한 구조에서는 초기에 정의된 문서가 곧 설계도 이자 커뮤니케이션의 중심이 됩니다. 중간 보고나 조율 없이도 모두가 같은 방향을 바라보며 빠르게 움직일 수 있었던 이유입니다.
이번 해커톤은 단순한 실험이 아니라 실제 서비스 개발에 적용 가능한 워크플로우를 검증한 과정이었습니다. Agentic AISpec 기반 개발을 도입하면 다음과 같은 효과를 실현할 수 있습니다.

  • 초기 문서화 만으로도 개발 속도 가속
  • 기획 의도 손실 없는 일관된 구현
  • 테스트 자동화로 품질 보장
  • 팀 간 협업 비용 절감 및 병렬 개발

이미지/영상 데모

아래는 사용자 흐름에 따라 정리한 데모 화면입니다.

언어 및 연령 선택

보호자와 아동이 각각 사용할 언어를 선택하고, 상담사의 안내 수준을 맞추기 위해 아동의 연령을 설정한 뒤 검사를 시작합니다. 이 과정을 통해 상담 응답의 난이도 및 언어가 자동으로 조정됩니다.

이 단계에서 선택된 언어와 연령은 이후 상담사의 안내 및 분석 리포트 생성에도 그대로 반영됩니다.

상담사 안내 음성/텍스트 출력

각 그림 검사 단계마다 선택된 연령대에 적합한 상담사 안내 가 음성 및 텍스트로 출력됩니다. 이를 통해 아동은 자연스럽고 몰입감 있게 그림 검사를 진행할 수 있습니다. 상담사 안내 문구는 다국어 지원이 가능하며, RAG 기반 상담 가이드를 참고해 동적으로 생성됩니다.

HTP 그림 그리기 진행

아동 ( 사용자 ) 은 태블릿 화면에서 단계별(집 → 나무 → 사람)로 그림을 그립니다. 그림 데이터는 실시간으로 수집되어 S3에 저장되고, 추후 분석 및 리포트 생성에 활용됩니다. 각 단계 완료 시점에는 다음 그림에 대한 상담사 안내가 자동으로 이어지며, 진행 흐름이 자연스럽게 연결됩니다.

최종 심리 분석 리포트 제공

모든 그림 단계가 완료되면 멀티모달 + RAG 기반 심리 분석이 수행되고 결과 리포트가 생성됩니다. 리포트에서는 그림 비교 분석과 세부 해석 결과를 확인할 수 있습니다. 분석 결과는 아동·보호자 선택 언어에 맞춰 번역되며, 상담사 및 학교 측에서 활용 가능한 리포트 형태로 저장됩니다.

구축 결과

이번 프로젝트는 해커톤 기간 동안 기획부터 설계, 개발, 분석 파이프라인까지 Amazon Q Developer 를 활용한 Agentic AI 기반 병렬 개발 프로세스를 통해 MVP를 완성한 사례입니다.

주요 구현 기능

구분 구현 항목 설명
언어 및 연령 선택 다국어 지원 (한국어/영어/중국어/일본어 등) 상담 음성·텍스트 안내 및 리포트 번역이 자동으로 반영되는 기능
그림 데이터 수집 실시간 그림 저장 (S3) + 메타데이터 기록 (DynamoDB) 각 단계별 캔버스 동작을 추적
RAG 기반 분석 OpenSearch + Amazon Bedrock 조합 HTP 이론 기반의 멀티모달 심리 해석 기능을 제공
리포트 생성 AI 분석 결과 다국어 리포트 출력 상담사·보호자용 보고서를 생성

API 응답 예시 (JSON)

아래는 최종 리포트 생성 API 응답 예시입니다. 이 응답은 상담사, 보호자, 아동 인터페이스에서 활용되며, 분석 근거와 요약, 다국어 번역 결과를 포함하고 있습니다.

{
  "reportId": "e5a8d1d4-2d21-4a76-a1a8-5e91f8f5b0c7",
  "user": {
    "name": "홍길동",
    "age": 9,
    "language": "ko"
  },
  "phases": [
    {
      "phase": "house",
      "drawTime": 63,
      "strokeCount": 152,
      "aiSummary": "아동은 안정적인 가정 환경에 대한 긍정적 인식을 보임.",
      "retrievedContext": [
        "집의 크기가 화면 중앙에 고정적으로 표현됨",
        "선의 강도가 일정하고 폐쇄형 구조로 완성됨"
      ]
    },
    {
      "phase": "tree",
      "drawTime": 78,
      "strokeCount": 180,
      "aiSummary": "자기 표현 욕구와 성장 지향적 사고가 강함.",
      "retrievedContext": [
        "굵은 줄기와 풍성한 나뭇잎 표현",
        "균형 잡힌 수평적 배치"
      ]
    },
    {
      "phase": "person",
      "drawTime": 95,
      "strokeCount": 240,
      "aiSummary": "사회적 개방성과 자존감이 높으며, 감정 표현이 자유로운 편.",
      "retrievedContext": [
        "상반신 비중이 크고 표정이 명확히 표현됨",
        "눈과 입의 디테일 강조"
      ]
    }
  ],
  "overallAnalysis": {
    "summary": "전체적으로 긍정적 심리 상태와 높은 자아 존중감을 보임.",
    "riskLevel": "LOW",
    "translatedSummary": {
      "en": "Overall, the child shows a positive psychological state and high self-esteem.",
      "ja": "全体的に肯定的な心理状態と高い自尊心を示しています。",
      "zh": "整体上显示出积极的心理状态和较高的自尊感。"
    }
  },
  "generatedAt": "2025-10-13T14:25:30.123Z"
}

retrievedContext 필드는 OpenSearch에서 검색된 심리 사례 근거를 포함하고 있어, AI 분석 결과에 대한 설명 가능성을 높이는 역할을 합니다.

Summary

Cedar가 AWS 모.각.큐에서 기획·개발한 HTP(House-Tree-Person) 투사 심리 검사 기반 디지털 아동 심리 진단 서비스를 소개했습니다. 이 서비스는 AI 기반 멀티모달 분석과 RAG(OpenSearch) 기술을 결합하여 누구나 손쉽게 접근할 수 있는 심리 진단 환경을 제공하는 것을 목표로 합니다.

본 프로젝트는 원래 2명 이상의 개발자가 약 2주 이상 투입되어야 하는 작업으로 예상되었으나, Cedar는 Amazon Q Developer를 적극적으로 활용한 결과 짧은 해커톤 일정 내에 핵심 기능을 완성할 수 있었습니다. 이를 통해 Cedar는 짧은 해커톤 기간 동안에도 효율적으로 문서를 정리하고 개발을 진행할 수 있었으며, 이 경험을 토대로 사내 워크플로우에도 해당 프로세스를 확대 적용할 수 있다고 확신하고 있습니다.

특히, 뛰어난 MCP 연결성과 KIRO IDE 와의 연계를 통해 반복적인 사내 프로세스나 개발 프로젝트에도 적용 가능성을 확인했습니다. Cedar는 이를 통해 생산성과 개발 효율성을 극대화하는 개발 조직으로 나아가고자 합니다.

본 글은 이러한 경험과 기술적 인사이트를 공유하여, 유사한 환경에서 개발을 진행하는 분들께 실질적인 도움이 되길 바라는 마음으로 작성되었습니다.

JongwonKim

김태겸

김태겸 개발자는 주식회사 시더 개발팀에서 Full Stack Engineer로 근무하며, 프론트엔드부터 백엔드, 그리고 클라우드 인프라까지 전 영역을 아우르는 엔드투엔드(End-to-End) 개발을 수행하고 있습니다.
AI(LLM, RAG) 기술을 활용한 자사 솔루션의 설계·개발뿐 아니라, 시스템 운영 및 인프라 아키텍처 관리를 담당하며 서비스의 신뢰성과 확장성을 지속적으로 향상시키고 있습니다.
또한 다양한 환경에 최적화된 애플리케이션을 구축하고, 회사의 기술 경쟁력 강화와 안정적인 서비스 운영·배포를 위한 AI 활용 방안과 기술 고도화를 꾸준히 모색하고 있습니다.

Junki Park

Junki Park

박준기 Solutions Architect는 다양한 개발 경험을 바탕으로 고객의 비즈니스 문제를 AWS를 통해 해결하도록 아키텍처 설계 가이드와 기술을 지원하고 있습니다.

Dohyung Kim

Dohyung Kim

김도형 Solutions Architect는 다양한 인더스트리의 고객과 협업하며 여러 프로젝트를 성공적으로 수행해왔습니다. 그간의 경험을 바탕으로 AWS 고객들이 겪는 여러가지 다양한 어려움과 문제를 적극적으로 해결하며, 최적의 솔루션과 가이드를 드리고 있습니다.

jmjmin

jmjmin

전민정 Cloud Sales Rep.은 기업이 클라우드를 통해 제품·서비스 혁신에 집중할 수 있도록 최적의 AWS 서비스와 아키텍처를 제안하고, 디지털 트랜스포메이션 여정을 함께합니다.