박승현
박승현
🏅 AI 마스터
🔬 임팩트 찐친
🎨 미드저니 찐친

정신과 환자들을 위한 정신 재활 플래너 만들기(2) - Replit, Cursor, n8n

소개

지난주에 만든 PRD를 바탕으로 앱을 만들어보고 있습니다.

https://www.gpters.org/wealth/post/challenger-plan-little-distracted-PAB7Zj4h6LMk1K1

스터디장님들로부터 긍정적인 피드백을 받아서 더 의욕이 생기기도 했고 특히나 수익화는 거의 기대하지 않고 있었는데 다양한 가능성을 이야기 해주셔서 더 흥미진진하네요. 지난번 스터디 때 약간 과장하면 마치 온세상이 만들라고 돕는 기분이었습니다.

진행 방법

다양한 방법을 시도해보고 싶었습니다. 처음에는 지난번에 잠깐 써봤던 task master Mcp를 써보고 싶어서요. 거의 5~6시간 정도를 돌렸던 것 같습니다.

숫자가 다른 테이블의 스크린 샷

Task master는 무엇인가

기본적으로는 PRD를 넣으면 그것을 구현하기 위한 목표를 세분화 해주는 앱입니다. 목표 세분화, 우선 순위, 의존도 등을 설정해주고 무엇부터 처리하면 좋을지 추천도 해주고요. 그러면 사용자가 그걸 보면서 과제를 하고 달성하면 달성체크 하고 다음 과제 하는 방식으로 가이드를 해준다고 생각하면 될 것 같습니다. 그런데 여기에서

Task master mcp?

설정된 과제들과 맥락을 내가 하는게 아니라 ai에게 전달해서 agent기능이 이 과제들을 순차적으로 수행하도록 하는 정도로 간단하게 설명할 수 있을 것 같습니다. 아마 경험있는 개발자라면 이 중 중요한 부분은 직접하고 덜 중요하고 단순한 업무는 ai에게 시키면서 프로젝트 진행을 훨씬 수월하고 빠르게 진행할 수 있을 것 같은데 저는 전부를 ai에게 맡기다보니 유의미한 결과물을 만들기는 좀 어렵지 않았을까 생각됩니다.

결론은 실패

엄청난 수의 파일과 폴더들이 생성되었지만 이 과정 전부를 ai에게 맡겼더니 뭐가 뭔지 알 수가 없었습니다. 실행 했는데 아직 구현은 생각해보지도 않았던 로그인 화면이 뜨는데 로그인이 뭘 해도 안되더라구요. 아직 내부는 까보지도 못했는데 여기서 부터 이러면 더 멀리 돌아가는 길이 되겠다는 생각이 들어 바로 접었습니다.

Replit과 함께 개발

한국의 Google Analytics 대시 보드

지난주에 PRD 넣고 가볍게 만들어봤던 앱이 있어서 이걸 기반으로 계속 수정했습니다.

다만 하나 하나 사항들을 수정해 달라고 하다보면 어느 순간 한자리에 계속 멈춰 있을 때가 있는 것 같습니다. 지엽적인걸 계속 수정하다보면 앱의 전체적인 연결성이 떨어지는 것 같기도 하고요. 방법을 찾아보다가 그동안 만든 폴더 전체를 내려받은 다음 그걸 cursor에 올리고 모델을 다른 걸로 바꿔서 전체적인 앱에 대한 종합 평가를 해달라고 했습니다.

항목 목록을 보여주는 컴퓨터 화면의 스크린 샷

이런 식으로 평가를 받고 개선할 부분은 개선해달라고 하니까 고쳐주더라구요.

거기서 깃허브에 커밋해서 올리고 올린 레포지토리를 레플릿에 다시 가져오는 방법으로... 혹시 뭔가 처음 들어서 무슨 말인지 모르시겠다면 그냥 간단하게 앱에 대한 코드 전체를 손 본 다음 클라우드 저장소에 올리고 그걸 replit에 가져왔다고 생각하시면 됩니다.

그러니까 뭔가 막혀있던게 해결되기도 했습니다.

또 다른 방법으로는 replit에서 문제점이라고 하는 내용과 코드를 지피티나 제미나이, 클로드에 가져가서 네가 생각하는 해결법은 뭔지 묻고 그걸 다시 레플릿에 이렇게 하라고 지시하기도 하고요. 레플릿이 모델을 좀 다양하게 선택할 수 있으면 좋을텐데 클로드 소넷 4.0만 쓸 수 있어서 이런 식으로 모델을 달리 해봤습니다.

핵심 기능: AI의 재활 계획 작성 및 추천 - n8n 활용

이 부분은 애초에 앱을 만들려는 이유니까 이것 부터 시작했습니다.

  1. 배경 지식 조사

우선 학문적인 기초부터 조사했습니다. 정신 재활 분야에 대해 더 최근의 좋은 자료는 없는지 딥리서치로 관련 자료들을 지피티와 제미나이에게 의뢰해서 뽑았습니다.

한국어 텍스트가있는 검은 색 화면

(ChatGPT 딥리서치 화면)

딥리서치는 개발자F님의 GPTs를 이번에도 유용하게 사용했습니다.

  1. 계획 작성에 필요한 정보 정리

먼저 배경지식 자료를 만든 다음, 이걸 토대로 재활 계획을 직접 세운다고 할 때 필요한 데이터는 무엇인지 뽑아달라고 했습니다.

한국 음악 앱의 스크린 샷

12가지의 큰 영역에 세부질문까지 뽑아주네요? 이상적으로는 이런 걸 다 물으면 좋겠지만, 그러면 사용자들이 번거로워서 안쓸 수 있겠습니다. 해당 영역의 종사자라 적어도 필요없는 건 과감하게 뺄 수 있어 좋습니다.

우리는 바쁘고 맡고 있는 환자는 많고 열악한 상황에서 최선을 다하고 싶은 거니 알아서 줄여오라고 했습니다.

한국 버전의 게임 스크린 샷

5가지 질문으로 줄여주는 군요. 훌륭합니다.

  1. 프롬프트 만들기

어렵지 않았습니다. 자료, 주어지는 정보를 바탕으로 모범 사례를 만들라고 하고 여러개 만든 다음 그 중에 마음에 드는 걸 골라서 역설계로 이러한 결과물을 뽑기 위해 입력해야하는 프롬프트를 알려달라고 했습니다. 이제 프롬프트까지 준비되었네요.

  1. 데이터 입력도구

한국 웹 사이트의 스크린 샷

기본적으로 시간이 부족한 상황에서 최선의 결과를 도출하기 위한 앱이니까, 질문 5개에 체크도 아주 간단한 방식으로 할 수 있게 설정했습니다.

  1. n8n과 연동해서 아웃풋 만들기

왜 갑자기 n8n인가하면...단톡에서도 말씀드리긴 했지만 어쨌든 제가 제 손으로 할 수 있는 부분은 최대한 해보고 싶었습니다. replit을 쥐어짜면 분명 어떻게 만들어서 api key만 넣으면 계획이 나오도록 앱 내에서 만들 수 있을것 같긴 했는데요. 원하는 대로 정확하게 만들게 위해 얼마나 쥐어짜야할지(그리고 내 시간을 써야할지) 이제 감이 좀 생겼습니다.

비트 코인 트랜잭션 프로세스를 보여주는 다이어그램

n8n 워크플로우는 별거 없습니다. 저도 n8n 이제 스터디 두번 들어본 정도 수준이라서요. n8n은 모르시는 분들은 이게 뭔가 하시겠지만 또 좀 아시는 분은 그냥 딱 기능만하게 만들었네 하실 겁니다.

워크플로우의 내용은

1.앱에서 n8n으로 입력값(나이, 진단명, 집중시간  등등) 전달  -> 2.AI가 전달 받은 프롬프트로 계획 작성 -> 3.다시 앱으로 결과물 전달

정확히 이게 전부입니다. n8n도 이정도는 어렵지 않습니다 ㅎㅎ뭔가 더 기교를 부릴 수도 있을 거 같지만 현 시점에선 제가 원하는건 이게 전부여서요. 분석 요청을 하면 아래 녹색 부분의 값들이 전달되고 이걸 통해 현재 조건에 맞는 계획들이 수립됩니다.

한국 컴퓨터 화면의 스크린 샷

이런 식으로 프롬프트가 들어가고 여기에 맞춰 계획을 세워주게 됩니다.

다시 레플릿으로 돌아와서 해야했던 일은 저 n8n 워크플로우 주소에 정확히 보내고, n8n이 결과물을 다시 보내주면 그걸 정확히 수신하도록 만들면 됐습니다.

  1. 결과

한국 웹 사이트의 스크린 샷

길이 험난하긴 했지만 결과물은 뿌듯합니다.

DB 만들기

그러다 문득 이번주 과제가 생각납니다. 1차 과제는 회원 등록해서 볼 수 있는 화면까지 만들기 정도였지만 2차 과제로 DB만들기가 있었거든요. 아 DB...뭔가 아는 건 없지만 supabase, 에어테이블, postgreSQL이 떠오르고 뭐하지 하다가 그냥 안하고 있었는데 진님이 그냥 구글 시트로 해도 되니까 너무 어렵게 접근하지 말라고 조언해주셔서요.

레플릿으로 지금까지 개발과정에서 불편했던 건 따로 DB 설정을 안해서 늘 In memory로 데이터를 저장하다보니 코드를 하나 바꾸고 서버를 새로 시작하면 늘 데이터가 리셋되어 있었습니다. 귀찮다 싶을 즈음에 조언을 듣고 일단 한번 해보자고생각했습니다.

과정이 순탄한 건 아니었는데...아무튼 했습니다. 클로드 소넷 4.0의 도움으로요.

Google 스프레드 시트의 스크린 샷

아직 어떤 항목을 DB에 담아야할지 구조가 명확하지 않아서 기록된 것도 있고 안된 것도 있습니다.

역시 정석은, DB 구조를 짜는게 선행되고 그 위에 서비스가 올라가는게 정석일 거 같은데 지난번에 PRD 만들고 MRD 만들었던 것 처럼 이번에도 뭔가 집을 짓고 기초 공사하고 있는 느낌이 있습니다.

아무튼 서버가 리셋 되도 정보가 그대로 남아있는 걸 보니 기분이 좋네요.

다음 과제

사실 해야할게 너무나 많습니다.

일단 데이터 설계를 제가 안해서 replit이 처음 만들 때 환자 한 명에게 여러 목표를 등록할 수 있고 각각의 진행도를 추적하도록 되어 있습니다. 저는 환자 한 명에게 하나의 6개월 목표가 선정 되면 그 아래에 세부 월간, 주간 목표들이 등록 되고 매주 해당 주차의 목표들을 수행해 나가는 형태가 되면 좋겠다고 생각하고 있고요.

검은 색 화면의 한국 텍스트

상황을 설명하니 명확하게 정리해주네요. 이걸 일단 가장 먼저해야 합니다. 이건 핵심 기능이라서요.

그 다음은 DB관련 설계가 될 것 같습니다. 일단 DB에 저장되는 플로우는 완성했으니까요.

그리고 마이너한 UI문제라던지, 당장에는 있어도 없어도 그만인 보안이나 계정 설정, 로그인 문제, 관리자 계정 설정, 트래킹 모니터 기능들이 될 것 같습니다.

아직 한 주가 남았고 할 수 있다고 생각합니다.

오늘 마침 국립정신병원과 그 외 정신건강센터등에서 근무하는 정신건강전문가 대상 강의가 있었는데 여기서 슬쩍 끼워넣어서 프레젠테이션을 했습니다. 이런 기능이 필요하고 그래서 만들고 있는데, 나중에 다 만들면 소개하겠다 정도로...혹시나 정부지원 사업과 연결되서 큰 돈(?)을 벌 수 있지 않을까 하는 큰 꿈을 미리 꾸고 있겠습니다.

결과와 배운 점

스터디 너무 재밌어요. 하지만 오늘은 너무 늦게는 끝나지 않았으면ㅎㅎ

7
2개의 답글

👉 이 게시글도 읽어보세요