안녕하세요. 허세임 입니다.
[Make와 Claude로 뉴스레터 자동화] 스터디를 운영하고있습니다. 자료 수집, 뉴스레터 형태 작성, 그리고 메일발송까지 4주간 과정을 한편에 정리하려 합니다.
🪢 1주1습관 건강 뉴스레터
우울증다이어터 '샤니아'가 발송하는 뉴스레터입니다. 식이요법, 운동, 신체건강, 정신건강이 모두 연결되어있어 작은 습관들을 실천해가며 건강해지자는 내용입니다. 매주 일요일 오후 8시에 발송되며, 실천 가능한 아주 작은 습관을 소개합니다.
구독 신청은 여기 (같이 몸건강 정신건강 챙겨요!)
30초 짜리 완성본 영상 먼저 보고, 이 결과물을 만들기 위해 필요한 과정들을 하나하나 짚고 넘어가겠습니다.
뉴스레터 자동화 단계 설계
뉴스레터의 제목과 건강습관 대량 생성
뉴스레터 내용 생성 프롬프트 작성
일러스트 생성 프롬프트 작성
Make 시나리오
위 2가지 프롬프트 실행
일러스트 생성
실행 결과 2가지 조합하여 HTML 생성
주소록기반 개인화 및 발송
발행된 뉴스레터 게시할 블로그 개발
실천 인증 오픈카톡방 개설
구독 홍보
이번 스터디의 목표는 4단계까지 Make시나리오를 완성하여 메일을 발송 자동화를 구축하는 것이었습니다. 다행히 딱 여기까지 완성이 되었어요. 이 후 발전 단계는 추후 [랭체인으로 AI웹서비스 개발] 스터디에서 진행할 예정입니다.
1. 뉴스레터의 제목과 건강습관 대량 생성
SNS 자동화를 할때 미리 구상해 두었었던 다이어트 건강 주제들이 있어서, 그 주제 기반으로 습관 3가지와 뉴스레터 제목을 생성하기 위해 프롬프트 작성하였습니다.
한국어 텍스트가 있는 검은 화면
내가 원하는 대로 나오도록 충분한 예시를 넣고, 습관은 다양한 후보 3가지를 설정하였습니다.
한국어가 컴퓨터 화면에 표시됩니다
프롬프트 실행 결과로 일단 20개의 주제와 제목, 그리고 습관을 얻었습니다. 습관은 후보 3가지 중 가장 마음에 드는 1가지를 인간지능을 통해 선택하여, 구글 시트에 넣었습니다.
한국어 Google 문서 - 스크린샷
2. 뉴스레터 내용 생성 프롬프트 작성
구독 중인 여러 뉴스레터 중에서, 언섹시 비즈니스의 뉴스레터를 레퍼런스 삼았습니다.
자전거를 탄 남자의 사진이 포함된 한국 웹사이트의 스크린샷
검정색 배경에 한국어 텍스트
레퍼런스 뉴스레터 한 편을 통째로 복사 붙여넣기하여 Claude에게 분석을 요청합니다.
한국어로 된 메시지 스크린샷
이 분석 결과를 바탕으로 1차로 한번 뉴스레터를 생성해보고, 그 결과에서 출발하여 조금씩 내가 원하는 형태로 뉴스레터를 고쳐나갑니다.
한국어로 된 메시지가 있는 검은 화면
한국어 문자가 적힌 검은색 전화기
숫자가 적힌 검은색 화면
한국어 텍스트가 있는 검은 화면
몇번의 테스트와 수정과정을 거쳐 원하는 뉴스레터가 나오면, "지금 이 뉴스레터 작성을 위한 프롬프트를 작성해달라"고 요청합니다. 아래는 저의 뉴스레터 내용 작성 프롬프트 최종 결과입니다.
한국어 텍스트가 있는 검은 화면
한국어 텍스트가 있는 검은 화면
뉴스레터 안의 구성 요소를 문단별 혹은 더 작은 단위로 쪼개서 글자수 및 내용을 설정하는 방법이 가장 좋습니다.특히 4-c 단계에서 HTML로 재구성 할 때, 유용합니다.
3. 일러스트 생성 프롬프트 작성
제가 원하는 스타일의 일러스트를 구글 이미지에서 열심히 찾았습니다. 그 이미지 파일을 미드저니에 올려 프롬프트를 얻습니다.
한 무리의 사람들을 보여주는 Facebook 페이지의 스크린샷
미드저니가 제시하준 4가지 디스크립션을 모두 실행 해 보고, 제가 추구하는 디자인과 가장 유사한 프롬프트를 복사하여 이제 Claude에서 더 발전시킵니다.
한국 앱 스크린샷
한국어 텍스트가 있는 검은 화면
입력한 디스크립션들을 바탕으로 클로드가 공통적인 부분들을 캐치해 미드저니 프롬프트를 생성해줍니다. 이 제 내가 원하는 식으로 프롬프트를 수정해나갑니다.
한국어 텍스트가 있는 검은 화면
한국어 텍스트가 있는 검은 화면
이미지 생성 프롬프트는 제가 약한분야라.. 클로드에게 일관된 스타일로 일러스트를 뽑기위해 내가 어떤 말을 해줘야하는지 요청하였습니다. 놀랍게도 디테일한 요소들까지 조언을 해줍니다.
한국어 텍스트가 있는 검은 화면
한국어 텍스트가 있는 검은 화면
내가 원하는 스타일을 입력하였고, 그에 맞 게 프롬프트를 완성하였습니다.
검정색 배경에 한국어 텍스트
한국어 텍스트가 있는 페이지의 스크린샷
여러 수정을 거쳐 이게 최종 프롬프트입니다.
4. Make 시나리오
먼저 Make 전체 시 나리오는 다음과 같이 준비물 세팅 - 뉴스레터 내용 작성 - 삽입 일러스트 생성 - 뉴스레터 HTML 구성 - 발송 이렇게 5 구간으로 나눠볼 수 있습니다.
다양한 언어를 보여주는 다이어그램
주제목록과 프롬프트 들이(뉴스레터내용, 일러스트) 준비가 되었으니, 이 준비물을 Make에 먼저 세팅을 해두겠습니다.
시계와 렌치가 있는 Google 시트
구글시트의 Watch New Rows 모듈을 선택하여 주제, 제목, 습관 데이터가 담긴 시트를 연결합니다. 그리고 Tools의 Set multiple variables 모듈을 통해 미리 만들어둔 프롬프트들을 새로운 이름의 변수들로 저장해둡시다.
하이브리스 검색 페이지 스크린샷
한국어 텍스트가 표시된 모바일 앱의 스크린샷
Item 하나마다 변수 이름에는 프롬프트 이름을, 변수 값 필드에는 실제 프롬프트를 복붙하여 넣어둡니다. 이렇게 해두면 뒤의 단계에서 내가 지금 설정해 놓은 변수들로 쉽게 프롬프트를 선택할 수 있습니다.
4-a. 위 2가지 프롬프트 실행
준비물이 세팅이 되었으니, 이제 만들어둔 프롬프트를 실행하는 모듈을 세팅하겠습니다.
클로드의 Create a Prompt 모듈에서 메세지 2개를 설정 할 겁니다. 첫번째 메세지는 Role은 User로 설정하고 Text칸에 미리 세팅해놓은 뉴스레터 내용생성 프롬프트와 구글시트에서 가져온 주제, 습관, 제목을 불러와 넣습니다.
이 후 작업에서 데이터를 편하게 다루기위해 출력 형식은 json으로 설정합니다.
부가설명 제거하는 Tip!
메세지를 하나더 추가하여 다음과 같이 Role을 assistant 로 설정하고 Content 칸에 미리 클로드가 답변할 설명 앞부분을 설정해주면, 이런저런 추가설명 없이 깔끔하게 json 결과만 줍니다
Gmail 계정의 메시지 스크린샷
이 방법 외에 Claude에서 Tool을 정의하여 JSON Mode를 세팅할 수도 있습니다.
이렇게 메세지 2개가 담긴 클로드 모듈을 마무리하였고, 이제 이 뉴스레터 내용에 걸맞는 일러스트를 그릴 수 있는 프롬프트를 생성하는 모듈을 만들겠습니다.
한국어 텍스트가 포함된 텍스트 편집기의 스크린샷
똑같이 Claude 모듈을 추가하여, 미리 세팅해둔 미드저니 프롬프트 생성용 프롬프트를 넣고, 또 바로 앞 모듈에서 얻은 뉴스레터 내용을 넣습니다. 저는 3개를 요청하였습니다.
JSON 출력 Tip!
다음 단계에서 각 프롬프트로 이미지를 생성해야하기 때문에, 데이터를 쪼갤 필요가 있습니다. 그래서 이것도 json 출력 형식을 미리 지정해줍니다. 출력형식을 지정해줄때 Make의 JSON Pasor모듈을 이용하려면 결과가 {}로 쌓인 하나의 오브젝트여야합니다. [{},{},{}]의 리스트 형태는 에러가 나기때문에, 리스트를 또한 번 감싸 하나의 오브젝트로 만든 형태로 지정해주세요.
어도비 어도비 어도비 어도비 어도비의 스크린샷
그리고 이것도 마찬가지로 Assistant Role 메세지를 추가하여 부가설명을 방지해줍니다. 이렇게까지 해도 뒤에 json parser를 연결했을때 에러가 나는 경우가 있을겁니다. 다음 설명을 참고해서 꼭 설정해주세요.
프로세스의 단계를 보여주는 흐름도