소개
사용자가 지정한 Goal 를 달성하기 위해 GenAI 와 Action Item 을 구체화 하는 기능을 개발하였습니다.
1주차 : goal & action 입력, 수정, 삭제 기능 만들기
2주차:
chatbot기능 추가하고 text-to-sql 관련 backend 로직 구체화 하기3주차 --> 4주차: calendar 에 timegroup 지정하기
4주차: action 를 자동 배치하기 및 사용자 피드백에 따라 일정 재배치
GenAI 에게 Goal 정보를 전달하고 Action Item 생성을 요청하기 위해서는 Firestore 접근 권한을 전달해 줘야 합니다. 그래서 로그인 페이지를 만들었고 (기본 페이지를 사용) google 인증이 가능하도록 하였습니다.
해당 앱의 핵심 기능은 사용자가 작성한 Goal 를 달성하기 위해 어떤 Action을 진행해야 할지 AI Agent 에게 추천 받는 것입니다. Floating Button 을 눌르면 Goal 을 입력할 수 있는 창이 아래에서 생성 됩니다. 이때, Timegroup-1 ~ *-4 중에 하나를 골라야 합니다.
이번달에 진행하고 싶은 Goal 을 입력 하였으면, "AI 상세화" 버튼을 눌러 n8n workflow 의 webhook 이 메세지를 받을 수 있도록 전달 합니다.
n8n workflow 에서는 아래와 같은 메세지 AI Agent 를 통해 생성하게 됩니다. 이미 작선된 Action item이 존재한다면 동봉하여 전달하여 참고하여 새로운 Action item 을 추천하도록 합니다.
AI Agent 가 생성한 Action List 들은 아래 그림과 같이 해당 Goal 아래에 UI 로 표시되며, editing 이 가능합니다. 이 때 핵심은 AI Agent 가 추천해준 execution time 입니다. 아래 그림은 Goal 달성하기 위해 총 36 시간이 필요 함을 의미하며, 더 빠르게 목표 달성할 수 있다면 해당 시간을 줄여 줍니다.
해당 앱의 두번째 핵심은 추천 받은 Action 을 캘린더에 자동 배치 하는 것입니다. 현재 시간부터 이번달 말까지 주어진 시간보다 과한 Action 을 추천 받았다면 캘린더 배치를 할 수 없게 됩니다. 적절한 Editing 을 통해 지킬 수 있는 일정을 만들어 냅니다.
적절한 시간이란 사용자가 미리 지정한 timeslot 을 가지고 앱이 총 시간을 계산해 줍니다. 이때, 네가지 서로 다른 timegroup 을 지정할 수 있으며, 매주 반복 일정으로 설정 됩니다. 이번달에 할당한 총 시간을 timegroup 으로 표시 됩니다.
이번주에 특별한 이벤트로 인하여 반복되는 일정과 다르게 실행해야 할 수 있을 것입니다. 이는 "time 이벤트"로 아래와 같이 더하고 뺄 수 있습니다.
이번달에 진행할 Action 이 구체화 되었다면 "캘린더 배치" 를 눌러 캘린더에 Action 을 자동 배치 합니다.
사용한 노코드 (로우 코드) 툴
flutterflow : 드래그 앤 드로우 방식으로 멀티 플랫폼 ( 앱 & 웹) ui 를 디자인 할 수 있습니다.
Cursor AI : flutterflow 에서 Custom code 를 지원하며, Cursor AI 와 연동하여 개발할 수 있습니다. 복자한 위젯은 대부분 cursor AI 를 통해 개발 하였습니다.
n8n workflow: AI Agent 처리를 위한 workflow 개발을 위한 로우코드 툴로 사용하였습니다. 아래는 사용자가 작성한 Goal 에 대해 Action Item 을 추천받는 과정 입니다.
나머지 할일
이번 스터디에서 캐린더 배치 이후에 사용성 피드백을 주면서 수행 이력을 남기고 이에 대해 AI Agent 에게 분석및 통계를 진행하려고 하였습니다. 원하는 수준까지 달성하지 못했기 때문에 앱 출시는 못할 듯 하지만 24년 나머지 기능까지 완료하여 25년에는 iOS 앱 등록을 할 계획 입니다.
4주차: action 를 자동 배치하기 및 사용자 피드백에 따라 일정 재배치