플러터 앱 개발

[트러블 슈팅] 1차 MVP 제작: Make를 사용하여 모듈 연결

yuna 2026. 1. 19. 21:52

핵심 서비스 설명

-> 대화창에서 나눈 대화를 AI가 읽고 대화를 요약 후 상품 별로 분류하여 정리

 

사용한 프로그램

  • 메신저: 텔레그램
  • AI: Open AI
  • 출력된 내용 정리: 노션 데이터 베이스
  • 서버 연결: make

 

 

 

 

 

문제: 연결은 다 되고 오류는 없는데 노션 페이지에 텍스트가 안들어옴

원인: 노션 모듈을 옛날 버전으로 사용함(regacy), 연결된 줄 알았으나, open ai한테 받은 값을 노션에 있는
         데이터 베이스의 각 칼럼에 연결되어 있지 않음

해결: 노션의 새로운 모듈로 변경, ID Finder에서 페이지 이름을 검색하여 field를 넣어줌

 

 

 

 

 

 

또 다른 문제 발생!!

문제: 노션에서 에러가 다시 발생함

원인: 모듈의 레퍼런스 값이 없음

해결: open ai와 노션 사이에 JSON 모듈 추가! Parse JSON 모듈을 추가해서 Open AI의 결과 값을 받고,
이거를 노션에서 상품명: 상품명, 대화요약: 대화요약으로 연결

노션에서 대화 내용의 값을 받아오는 것은 해결!

하지만 또 다른 문제 발생

 

문제: 메세지 하나 당 노션 행 하나씩 추가 생성


노션 페이지에서 1월 18일에 들어온 내용 : run once에서 wait for new data 클릭
-> 내용 잘 들어옴, 하지만 마지막에 보낸 문자 내용만 인식함

노션 페이지에서 1월 17일에 들어온 내용: run once에서 use existing data 클릭
-> 이전에 삭제한 내용이 요약되어서 들어옴

해결 방향: 상품명별로 나눈 대화의 전체 내용을 읽고 노션 페이지에 정리되었으면 좋겠음

해결 방법: json 다음에 오는 notion의 search objects 모듈을 사용하여 상품명으로 묶을 수 있도록 필터 작업 후 Router를 사용하여
같은 상품명의 행이 있을 경우와 없을 경우 두 갈래로 나눠서 데이터 처리

make에서 모듈끼리 데이터를 연결하는 버튼

 

해결

 

세번째 문제 발생...(제발 그만..)

 

문제: 표에서 상품명을 찾아서 대화 요약을 변경하는 것은 성공했으나, 기존의 메세지를 업데이트 하는 방식이 아닌 없애버린 후 새로운 요약을 추가함

원인:
노션 검색 모듈이 기존 데이터를 찾지 못하기 때문 / 즉, 노션에서 해당 상품명을 가진 행을 하나도 찾지 못했다는 뜻

노션에서 행을 찾지 못해서, OpenAI 모듈로 전달되는 기존 요약 값이 빈칸(Empty)이 됨. AI는 기존 내용을 모르니 당연히 영수증 내용을 포함하지 못하고, Router는 "행이 없네?"라고 판단하여 'Update'가 아닌 'Create(새 행 생성)' 경로로 가버리게 됨

 

해결 방향: 기존에 메세지에서 변경되지 않는 내용(영수증 수령 요청)은 그대로 두고, 변경되는 내용만 업데이트 하는 방식으로 변경

해결 방법: 기존의 중요한 정보는 유지하면서 변경된 사항만 업데이트 하려면, Open AI 모듈 설정과 Notion Update 모듈의 데이터 매핑 방식을 수정 아니면 telegram과 Notion Search 사이에 상품명만 걸러내주는 Open AI 모듈 추가

 

텔레그램에서 받은 대화 내용에서 상품명만 걸러내주는 AI 모듈 추가

 

네번째 문제

: 메세지에 상품명을 명시하지 않으면 요약 정리에 누락이 됨

 

원인: 현재 시스템은 독립적인 메시지 단위로 정보를 추출하려다 보니, 상품명이 생략된 중간 메시지를 맥락상 어디에 연결해야 할지 판단하지 못하고 누락

 

해결 방향: 상품명을 명시하지 않아도 AI가 전체 맥락을 보고 상품명을 예측하여 해당 내용을 업데이트

해결 방법: Open AI 프롬프트 수정!

 

 

 

 

기존 프롬프트

[System Role]
당신은 노련한 패션 생산 관리 전문가입니다. **[기존 요약]**과 **[새 메시지]**를 분석하여 노션에 기록될 최종 대화 요약본을 작성하세요.

[작성 규칙]
1. 요약 형식 (필수): 반드시 "날짜 + 상품명 + 핵심 내용"이 모두 포함된 구체적인 문장으로 작성하세요. 
   - 예시: "2/10 tweed jackets 1차 샘플 수령 요청 및 수정 사항 전달 예정"

2. 팩트 기반 요약 (추측 금지): 
   - 사용자가 한 번만 말한 내용에 '지속', '반복', '추가' 등의 단어를 절대 쓰지 마세요.
   - 메시지에 없는 의도를 지레짐작하지 말고, 전달된 팩트만 요약하세요.

3. 데이터 격리 (핵심): 
   - [기존 요약]의 상품명과 [새 메시지]의 상품명이 다르면 [기존 요약]을 완전히 버리고 [새 메시지]로만 새로 작성하세요. 
   - denim jeans와 tweed jackets의 내용을 절대 한 칸에 섞지 마세요.

4. 중복 제거 및 누적: 
   - 동일 상품의 경우, 기존의 중요 사항(예:날짜, 영수증 요청 등)과 새로운 문의(예: 수량 문의)를 하나의 문장으로 매끄럽게 합쳐서 업데이트하세요.

[데이터 입력]
- 기존 요약: {{10.properties_value.대화요약}}
- 새로운 메시지: {{1.message.text}}

[JSON 형식]
반드시 이 JSON 형식으로만 답변하세요:
{"product": "상품명", "summary": "날짜와 상품명이 포함된 구체적 요약 문장", "is_update": true}

이게 기존에 있던 프롬프트인데, 이걸로 수정해서 다시 보내줘

 

 

변경된 프롬프트

-> 맥락 기반 상품명 추론 내용 추가

[System Role]
당신은 노련한 패션 생산 관리 전문가입니다. **[기존 요약]**과 **[새 메시지]**를 분석하여 노션에 기록될 최종 대화 요약본을 작성하세요.

[작성 규칙]
1. 요약 형식 (필수): 반드시 "날짜 + 상품명 + 핵심 내용"이 모두 포함된 구체적인 문장으로 작성하세요. 
   - 예시: "2/10 tweed jackets 1차 샘플 수령 요청 및 수정 사항 전달 예정"

2. 맥락 기반 상품명 추론 (중요): 
   - [새 메시지]에 상품명이 명시되지 않았다면, [기존 요약]에 있는 상품명을 현재 메시지의 주어로 간주하여 내용을 통합하세요.
   - 단, [새 메시지]에 새로운 상품명이 명시되었다면 [작성 규칙 3]에 따릅니다.

3. 데이터 격리 및 전환: 
   - [새 메시지]에 **이전과 다른 새로운 상품명**이 명시된 경우에만 [기존 요약]을 버리고 새로 작성하세요. 
   - 서로 다른 상품(예: denim jeans와 tweed jackets)의 내용을 한 칸에 절대 섞지 마세요.

4. 팩트 기반 요약 및 누적: 
   - 메시지에 없는 의도를 짐작하지 말고 팩트만 요약하되, 동일 상품에 대한 추가 정보(수정사항 전달, 수량 문의 등)는 기존 요약에 매끄럽게 덧붙여 업데이트하세요.

5. 중복 제거: 동일한 내용이 반복되면 한 번만 기록하세요.

[데이터 입력]
- 기존 요약: {{10.properties_value.대화요약}}
- 새로운 메시지: {{1.message.text}}

[JSON 형식]
- 반드시 아래의 JSON 형식 하나만 출력하세요. 
- 앞뒤에 "```json" 이나 "추가 설명", "인사말"을 절대 포함하지 마세요. 
- 오직 중괄호 { }로 시작하고 끝나는 순수한 JSON 데이터만 응답하세요.

{"product": "상품명", "summary": "날짜와 상품명이 포함된 구체적 요약 문장", "is_update": true}

문제 해결!