내일배움캠프/Chapter 5. 서비스기획 심화

[내일배움캠프] Chapter 5. 서비스기획 심화 - Chat GPT 활용

Theme_Min 2025. 5. 26. 15:30
서비스기획 심화
ChatGPT는 대화형 인공지능 챗봇으로. 많은 데이터를 학습하여 사람이 쓴 것처럼 의미 있는 텍스트를 생성 할 수 있는 것

 

Step 1. Chat GPT - 개요 및 기능

 

● Chat GPT란?

ChatGPT는 대화형 방식으로 상호작용하는 모델(대화형 인공지능 챗봇)

많은 데이터를 학습하여 사람이 쓴 것처럼 의미 있는 텍스트를 생성 할 수 있다

인공지능(AI) 기술에 기반을 두고 있다

모델
인공지능 분야에서의 모델이란
수많은 데이터에서 패턴을 발견하거나 예측을 수행할 수 있는 알고리즘
= 기계가 맞고 틀리고를 판단하는 능력

멀티모달 모델
텍스트, 오디오, 이미지 또는 비디오와 같은 다양한 유형의 데이터모달리티)를 통합하고 처리하는 모델
인공지능 (AI)
기계도 생각을 할 수 있는가에 대한 질문에서 시작한 컴퓨터 과학의 한 분야
사람처럼 사고하고 행동하는 기계를 만드는 것이 목표

생성형 AI
새로운 데이터를 생성하는 AI
서로 다른 종류를 구분하는 판별형 AI와 구분된다
머신러닝
AI의 하위 분야로, 컴퓨터가 스스로 학습하는 방법
명시적으로 규칙을 프로그래밍 하지 않고, 많은 양의 데이터를 분석해서 패턴이나 규칙을 찾아내는 과정

딥러닝
머신러닝의 하위 개념으로,
인간의 뇌와 비슷한 구조로 동작하는 인공 신경망을 사용하여 매우 복잡한 패턴을 처리
사진뿐만 아니라 음성, 텍스트와 같은 다양한 데이터에서 복잡한 패턴을 찾아낼 수 있다

 

Chat GPT 꿀기능

1. 단축키

Windows 에서 alt+space를 눌러 Chat GPT 어플 실행 가능

2. 스크린샷

대화창에서 스크린샷 기능을 활용해 데이터 업로드 가능

3. 스킬 기능

대화창에서 웹 검색 / 이미지 생성 / 심층 리서치 등의 모드를 선택하여 실행 가능

4. Sora

복잡한 장면, 여러 캐릭터, 다양한 동작 및 배경의 세부 사항을 정확하게 생성할 수 있는 비디오 생성 AI 모델

프롬프트 제출 후에는 화면 비율, 해상도, 길이 및 변형 수를 조정

5. Canvas 기능

프로젝트 관리와 글쓰기 및 코딩 작업을 수행

Canvas는 기존의 채팅 인터페이스와 달리 별도의 작업 공간을 제공하여 편집과 검토가 필요한 복잡한 프로젝트에 적합

사용자는 실시간으로 텍스트와 코드를 수정하고, ChatGPT의 인라인 피드백과 제안을 받을 수 있음

(프롬프트 지시만으로 동작하는 기본 GPT-4o(zero-shot prompting)와 비교하여 정확성은 30%, 품질은 16% 향상)

6.  Project 기능

특정 카테고리를 생성해 대화를 정리할 수 있는 기능

프로젝트 안에서만 영향을 받는 맞춤 설정

프로젝트 안에서만 영향을 받는 파일 업로드 가능

7. Tasks 기능

단순히 대화하는 기능을 넘어 일정 관리, 리마인드 설정, 반복 작업 자동화를 할 수 있는 기능

단순히 요청을 받고 답하는 것이 아니라 정해진 시간에 자동으로 특정 작업을 실행할 수 있도록 돕는 도구

 

● 프롬프트 엔지니어링

프롬프트
ChatGPT에게 질문을 할 때 작성한 텍스트

프롬프트 엔지니어링
AI 모델의 출력을 최적화하기 위해 프롬프트를 설계하고 개선하는 과정

 

1. 싱글턴
AI에게 단일 요청을 보내는 프롬프트 구조

- 독립성: 각 요청은 다른 요청과 독립적으로 처리 

- 문맥 불필요: 입력 자체에 모든 정보가 포함되어야 한다

- 단순성: 대화의 흐름이 단순하고 명확하다

  → 연속 대화에 부적합하며 여러 단계로 이어지는 작업 시 매번 모든 정보를 다시 입력해야 한다

2. 멀티턴 (세션을 통해 가능)

연속적인 요청과 응답으로 이루어진 대화 구조

대화가 여러 턴으로 이어지며 AI가 이전 대화의 문맥을 기억하여 지속적으로 대화 상태를 업데이트

- 연속성, 문맥 유지: 이전 응답을 기반으로 다음 응답을 생성

- 복잡성: 여러 단계로 이어지는 요청을 효율적으로 처리

State (대화 상태)
대화 중 AI가 기억하고 있는 현재까지의 문맥 정보
현재까지의 대화에서 AI가 알고 있는 모든 정보의 집합

Session (세션)
세션은 대화를 구성하는 전체 흐름의 단위
대화 중 사용자의 요청과 AI의 응답이 이어지는 모든 과정이 하나의 세션으로 정의
대화가 진행되는 큰 틀이며, 상태는 세션 안에서 지속적으로 업데이트

 

Chat GPT 프롬프트 꿀팁

1. 프롬프트 설계 전략

- 명확한 요구사항 정의
: 원하는 형식, 길이, 언어 등을 구체적으로 명시
- 단계적 요청
: 복잡한 문제는 한 번에 해결하려 하지 말고, 단계별로 요청
- 콘텍스트 제공
: 모델이 문제를 더 잘 이해할 수 있도록 추가 정보나 배경을 제공

- 예제 기반 프롬프트(Few-Shot Learning)
: 원하는 출력 형식을 제시하는 예제(Shot)를 제공

- 제약조건 설정
: 출력의 제한을 명시

▶ 프롬프트 템플릿

넌[역할]야 -. [작업내용]을 해야 해 - [형식]으로 만들되 - [제약조건]을 고려해서 만들어줘

 

2. 프롬프트 최적화 기법

- Iterative Prompting (반복적 설계)
처음에 간단히 질문하고, 원하는 답이 나오지 않으면 프롬프트를 조금씩 수정해 더 구체적이고 좋은 답을 얻는 방식
Chain-of-Thought Prompting(생각 사슬 프롬프트)
문제를 여러 단계로 나누어, 한 단계씩 답하도록 유도하는 방식

- 소크라테스 프롬프트

답을 직접 알려주지 않고, 질문을 통해 사고를 유도하는 방법

ex. 당신은 항상 소크라테스 방식으로 답변하는 튜터입니다.
- 당신은 학생에게 절대 정답을 알려주지 않고, 학생이 스스로 사고할 수 있도록 돕는 적절한 질문을 던지려고 합니다.
- 학생의 관심사와 지식 수준에 맞춰 질문을 조율하고, 문제를 더 단순한 부분으로 나누어 학생에게 적절한 수준이 될 때까지 안내해야 합니다.

 

3. 하이퍼파라미터

딥러닝 모델의 성능을 조절하는 매개변수
사용자가 설정하는 성능 조절값

ex. 가전제품을 주문했는데 작동을 안해. 이 점에 대해서 제조사에 컴플레인을 하고 싶어. 컴플레인을 하는 이메일을 써줘.

      [hyper parameter] tone: humorous, writing style : persuasive

수치 관련 하이퍼파라미터 종류
temperature
0 ~ 1 까지의 실수 값 (e.g. 0.1, 0.2, 0.45, 0.8..)
출력의 다양성을 조절

max_tokens
0 ~ 4,096까지의 정수 값
생성된 출력의 최대 길이를 제한

top_p
0 ~ 1 까지의 실수 값
모델이 확률 분포 상위의 토큰만 선택
갚이 높을 수록 더 희귀한 단어를 사용

frequency_penalty
0 부터 양수의 실수 값
값이 높을수록 주어진 문맥에서 더 자주 나타나는 단어를 선택

presence_penalty
0 부터 양수의 실수 값값이 높을수록 주어진 문맥에서 특정 단어를 자주 생성하지 않도록 합니다

stop_sequence
문자열 (e.g., "\n" 또는 "STOP")
출력을 생성하는 동안 특정 문자열을 만나면 중지하도록 설정

max_history
양의 정수 값 (e.g., 1, 2, 3)
모델이 이전 대화를 얼마나 기억하는지 제한
글쓰기 스타일/톤 관련 하이퍼파라미터

tone
authoritative(권위적인), angry(화가 난), clinical(냉담한), cold(차가운), confident(자신감에찬), cynical(냉소적인), emotional(감정적인), empathetic(공감하는), formal(격식있는), friendly(친근한), happy(행복한), humorous(유머있는), informal(비격식적인), ironic(역설적인), optimistic(낙관적인), pessimistic(비관적인), nagative(부정적인), neutral(중립적인), sarcastic(빈정대는), serious(심각한), sympathetic(동조적인), tentative(머뭇거림), warm(따뜻한)

writing style
academic(학술적인), analytical(분석적), argumentative(논쟁적인), conversational(대화적인), creative(창의적인), critical(비판적인), descriptive(설명적인), epigrammatic(풍자적인), epistolary (편지체), expository(설명적인), informative(자세한), instructive(유익한), journalistic(신문체), metaphorical(은유적인), narrative(서술적인), persuasive(설득적인), poetic(시적인), satirical(풍자 적인), technical(기술적)
하이퍼파라미터 예시
나는 건설사 직원이야. 건설의 진행상황이나 변경사항 등을 협력사나 고객에게 알리기 위한 공문을 작성해줘
[hyperparameter]
temperature : 0.2
tone : formal
writing style : journalistic
[프로젝트 정보] - 서울 재개발 프로젝트 *** 아래 생략 ***

 

Chat GPT 세팅

1. 메모리 업데이트 기능

ChatGPT가 사용자의 설정과 대화를 기억하고, 이를 바탕으로 개인화된 답변을 제공하는 기능

ChatGPT 인터페이스에서 프로필 아이콘을 클릭하여 설정 메뉴로 이동

설정 메뉴에서 ‘개인 맞춤 설정’ 탭을 선택 후, ‘메모리’ 옵션을 찾아 스위치를 ‘켜기’로 설정

특정 대화에서 메모리 기능을 사용하지 않게 하려면 우측 상단의 ‘임시 채팅’ 옵션을 이용

‘메모리 관리’ 옵션을 통해 ChatGPT가 현재 기억하고 있는 정보를 확인

 

2. 단축키 만들기

응답 스타일과 행동을 조정하여 반복적인 작업을 빠르게 처리하거나 특정 방식으로 응답을 생성하도록 설정

프로필 아이콘 클릭 → ChatGPT 맞춤 설정 메뉴로 이동

맞춤형 지침에 아래 프롬프트를 입력
사용자가 알파벳 대문자 하나로 지시할 경우, 단축키를 사용하고 있다고 생각할 것.
K: 주어진 문장을 그대로 한국어로 번역
E: 주어진 문장을 그대로 영어로 번역

 

3. 구글 드라이브 연동

구글 드라이브를 연동해 구글 드라이브에 업로드 된 파일에 접근

채팅에서 + 모양을 클릭하고, Google Drive에 연결을 클릭

연결 후에는 구글 드라이브에 업로드 된 파일을 통해 파일 첨부를 진행

활용 예시
협업이 진행 중인 문서를 통해서 프롬프트 작성이 필요할 때
전달받은 스프레드 시트 파일을 바로 분석하고 싶을 때

 

실습 과제

과제
나만의 업무 프롬프트 제작
프롬프트 구조: [역할] / [작업내용] / [형식] / [제약조건]

답안
[역할]
너는 배달의민족 PM이야
[작업내용]
배민클럽 구독율 증가를 위한 프로젝트를 수립해야 해
[형식]
PRD 형식으로 만들되
[제약조건]
B급과 키치 감성을 노린 '배민다운' 브랜드 컨셉과 스탬프형 멤버십 전략을 융합한 전략을 수립하는 것을 고려해서 만들어줘

Step 2. Chat GPT - 문서 작성

 

● Canvas (캔바스)

글쓰기와 코드 작업을 효율적으로 관리할 수 있는 새로운 인터페이스
기존 채팅 방식이 간단한 작업에 적합했다면, Canvas는 수정과 검토가 필요한 프로젝트에 최적화
특정 부분을 강조 표시해 ChatGPT가 집중하도록 유도, 인라인 피드백을 통해 문서와 코드의 세부 사항을 쉽게 다듬는다

(편집 피드백, 적절한 단어 찾기, 역인터뷰, 유머러스한 글쓰기, 리서치 및 브랜드 세계관 설정 등)

 

기획서 작성하기

1. 초기 분석 및 전략 수립

- 홍보 대상층 정의

나는 르탄커피라는 RTD 제품 홍보 기획서 초안을 작성해야 해.
20~30대 사람들을 대상으로 판매하고 싶은데, 이것을 기반으로 홍보 대상층 설정해줘:

- 연령대:
- 직업군:
- 관심사:
- 라이프스타일:

 

- 시장 분석 결과 정리

현재 커피 시장의 트렌드와 성장률을 추가해줘. 경쟁사와 차별화 전략이 필수로 들어가야 해.

 

- 홍보 목적 및 방법 설정

이번 기획서의 목적은 고객 유치와 브랜드 인지도 확립이야. 이를 위한 구체적인 홍보 방법 5가지를 추가해줘.

 

2. 세부 실행 계획 및 콘텐츠 개발

- 주요 고객층 세분화 및 타겟팅

르탄커피의 구체적인 고객 페르소나를 추가하고 싶어.
다음 항목을 포함해 작성해 줘:  

- 이름:  
- 나이:  
- 직업:  
- 일상 패턴 및 행동:  
- 구매 동기 및 선호 요소:  
- 주요 마케팅 채널:

 

- 타겟 세그먼트 분석

르탄커피의 타겟 세그먼트를 3가지로 나누어 분석하려고 해.
각 세그먼트에 맞는 홍보 메시지도 추가해 줘.

 

- 홍보 방법 구체화

르탄커피 홍보 기획을 위해 채널별 마케팅 전략을 구체화한 내용을 추가해 줘.  
- 온라인 광고 (예: 유튜브, 인스타그램):  
- 오프라인 이벤트 (예: 팝업스토어, 샘플링):  
- SNS 캠페인 (예: 해시태그 챌린지, 인플루언서 협업):  
- 고객 참여형 프로그램 (예: 후기 이벤트, 포인트 적립):

 

- 홍보 내용 구성

르탄커피의 광고 메시지와 슬로건도 추가해 줘.  
- 광고 메시지와 슬로건은 5개를 작성할 것.
- 제품의 특장점을 강조하면서 기억에 남을 수 있도록 작성할 것.
르탄커피의 홍보 콘텐츠 아이디어를 추가로 작성해 줘.  
다음 구성을 포함되어야 해:  

- 주제별 콘텐츠 (제품 특징 강조, 후기 활용, 브랜드 스토리):  
- SNS 활용 아이디어 (영상, 챌린지, 카드 뉴스):

 

3. 최종 초안 내보내기

- 표 형식으로 정리하기

내용 드래그 후 GPT에게 요청

 

- word 파일로 다운받기

지금 작성된 내용을 word파일로 변환하고, 내가 다운로드 받을 수 있는 링크를 제공해 줘.

 

기획서 데이터 분석하기

- 시장 트렌드 분석

CSV 파일 'market_trend.csv'의 구조를 확인해 줘.  
상위 5개 행을 출력하고, 평균 성장률과 최대/최소 성장률을 계산해 줘.

 

- 타겟 고객 분석

CSV 파일 'target_customers.csv'에서 연령대별 소비 비율을 확인해 줘.  
20~30대의 비율과 평균 소비 금액을 계산해 줘.

 

- 광고 채널별 성과 비교 분석

CSV 파일 'ad_performance.csv'에서 광고 채널별 도달율과 클릭율을 확인해 줘.  
도달율이 높은 채널과 클릭율 상위 3개 채널을 정리해 줘.

 

- 분석 내용 기획안 적용

'market_trend.csv', 'target_customers.csv', 'ad_performance.csv' 분석 내용을 문서에 추가해줘

 

- 시각화

CSV 파일 'market_trend.csv'를 이용해서 연도별 시장 규모와 성장률을 시각화해 줘.  
성장률은 막대그래프로, 시장 규모는 선 그래프로 같은 축에 겹쳐서 그려줘.
CSV 파일 'target_customers.csv'를 이용해서 연령대별 소비 비율을 파이 차트로 시각화해 줘.  
그리고 각 연령대별 평균 소비 금액을 막대그래프로 추가해 줘.
CSV 파일 'ad_performance.csv'를 불러와 채널별 도달율과 클릭율을 가로 막대그래프로 시각화해 줘.  
도달율과 클릭율을 나란히 비교할 수 있도록 각 채널별 두 가지 수치를 나란히 표시해 줘.

 

PPT 제작 자동화 프로세스

1. 보고서 요약

너는 보고서 분석 전문가야.

업로드한 PDF파일 전체에서 전기차 시장의 전망에 대한 내용만 뽑아서 요약해주되, 아래 [규칙]을 지켜줘.
[규칙]
1. EV 생산 비중, 판매량, 판매목표를 하나의 표로 작성해줘
2. 내용을 요약해서 100자 내외로 작성해줘
3. 보고서에서 전기차 신차를 출시해야 하는 이유를 찾아서 5가지 정리해줘.

 

2. 보고서 분석

너는 보고서 분석 전문가야.

업로드한 PDF파일 전체에서 전기차 시장의 전망에 대한 내용만 뽑아서 요약해주되, 아래 [규칙]을 지켜줘.
[규칙]
1. EV 생산 비중, 판매량, 판매목표를 하나의 표로 작성해줘
2. 내용을 요약해서 100자 내외로 작성해줘
3. 보고서에서 전기차 신차를 출시해야 하는 이유를 찾아서 5가지 정리해줘.
4. 현대차 아이오닉5와 기아차 EV6 비교 분석(성능 비교, 장단점 비교, 순위 결정)
5. 신차에 적용할 좋은 부분들과 개선점
6. 신차의 매출 기대 효과
7. 결론

 

3. PPT 슬라이드 내용 만들기

첨부한 word파일로 ppt슬라이드에 넣을 내용을 만들되, 아래 [규칙]을 지켜줘.

[규칙]
1. 비교하는 부분들은 표 형식으로 만들어 줘
2. 보고서 내용을 토대로 신형 SUV 전기차 제작에 필요한 내용을 정리해줘
3. 세부 내용은 3~5 줄로 작성해줘
4. 마지막 슬라이드에는 QnA 슬라이드를 넣어줘
5. 포맷은 아래와 같이 해줘.
슬라이드1: 제목
내용

 

4. PPT 만들기

https://gamma.app/

 

5. PPT에 추가할 이미지 생성 (DALL-E)

DALL·E는 OpenAI에서 개발한 생성형 이미지 생성형 인공지능으로 텍스트를 이미지로 구현

아래 [규칙]을 따르는 새로운 전기 자동차를 그려줘.

[규칙]
1. 2030년 미래형 전기 SUV 자동차
2. 현대자동차의 전기자동차 디자인과 유사한 디자인
3. 현대자동차 로고가 들어갈 것
4. 배경은 미래인 2030년
5. 이미지 형식은 사진의 형식

 

6. 발표 스크립트 작성

너는 ppt 발표 전문가야.
첨부한 ppt 파일에서 각 슬라이드별로 발표할 스크립트를 작성해줘.

1. 전문가처럼 전문 용어들을 사용해서 작성해줘
2. 하나의 슬라이드당 최소 200자로 작성해줘.
3. 앞뒤의 슬라이드 내용이 이어지도록 자연스럽게 작성해줘.

 

● 메일 템플릿

프로젝트 생성 후 해당 프롬프트를 통해 GPT에 템플릿 학습

사용자가 원하는 메일 형식에 따라 아래 템플릿에서 적절한 형식을 찾아 그 형식에 맞춰 메일을 작성해줘. 


[회의 일정 조율 템플릿]
제목: [회의 주제] 관련 일정 조율 요청드립니다.
내용:

안녕하세요, [수신자 이름]님.

[회의 목적]과 관련하여 논의가 필요하여 [회의 주제] 회의를 진행하고자 합니다.
아래 일정을 참고하시어 가능하신 시간을 회신해 주시면 감사하겠습니다.

회의 일정 후보

[날짜] ([요일]) | [시간]
[날짜] ([요일]) | [시간]
[날짜] ([요일]) | [시간]
혹시 위 일정 중 어려우신 시간이 있으시면 가능한 일정을 말씀해 주시면 조율하여 진행하겠습니다.
회의 형식은 **[온라인/오프라인/대면 장소]**에서 진행 예정이며, 관련 자료는 사전 공유드리겠습니다.

일정 확인 후 회신 부탁드리며, 협조에 감사드립니다.
좋은 하루 보내세요.

감사합니다.
[회사명] [부서명] [이름] 드림



[요청 제안 템플릿]
제목: [ㅇㅇ 제안] [회사명] - [업무/프로젝트명] 관련 제안드립니다.
내용:

안녕하세요, **[회사명] [부서명] [본인 이름]**입니다.

이번에 [제안 배경: 예- 새로운 협업 기회를 모색하고 있는 중] 관련하여 연락드리게 되었습니다.
[수신 회사명]에서 보유하고 있는 **[서비스/제품/콘텐츠]**가 저희 **[자사 프로젝트/기술/사업]**과
좋은 시너지를 낼 수 있을 것으로 기대되어, 제휴 가능성을 검토 요청드립니다.

[회사명] 소개
저희 **[회사명]**은 **[업종/전문 분야]**에서 경쟁력을 보유하고 있으며,
[핵심 기술/서비스/성과] 등을 통해 **[기존 협업 사례 또는 주요 성과]**를 이끌어 왔습니다.
또한, 국내외 여러 기업들과 협력하여 **[주요 프로젝트/사업 방향]**을 진행하고 있습니다.

제안 개요

제안 내용: [협업을 제안하는 내용 간략히]
기대 효과: [제안이 수신 회사에 제공할 가치]
협업 방식: [제휴 또는 협력 모델 (예: 공동 사업, 기술 협력, 콘텐츠 공유 등)]
첨부: [제안서/자료명]

더 자세한 내용을 논의하고 싶어, 담당자님과 미팅을 진행할 수 있을지 문의드립니다.
일정이 가능하시다면 편하신 시간을 알려주시면 조율하여 맞추겠습니다.

긍정적인 검토 부탁드리며, 추가 궁금한 점이 있으시면 언제든지 편하게 문의 주세요.
감사합니다.

[회사명] [부서명] [이름] 드림


[안내/공지 템플릿]

제목: [안내] [업무/프로젝트명] 관련 공지드립니다.
내용:

안녕하세요, **[회사명] [부서명] [본인 이름]**입니다.

[업무/프로젝트명]과 관련하여 아래와 같이 안내드립니다. 업무 진행에 참고 부탁드리며, 필요한 경우 추가 확인 요청 주시면 감사하겠습니다.

공지 내용

목적: [공지하는 이유]
주요 사항:
[내용 1]
[내용 2]
[내용 3]

일정 (해당 시 기재)

일정 1: [YYYY-MM-DD] [내용]
일정 2: [YYYY-MM-DD] [내용]

협조 요청 사항 (해당 시 기재)

[필요한 조치 또는 요청 사항]
첨부: [관련 자료명 (예: 계획서, 일정표, 가이드라인 등)]

추가 문의 사항이나 요청 사항이 있으시면 언제든지 편하게 연락 주시기 바랍니다.
업무 협조에 감사드리며, 원활한 진행을 위해 적극적인 확인 부탁드립니다.

감사합니다.
[회사명] [부서명] [이름] 드림



[퇴사 안내 템플릿]
제목: [퇴사 인사] 함께해서 감사했습니다.
내용:

안녕하세요, [수신자 이름]님.

저는 [퇴사일]부로 [회사명]을 떠나게 되었습니다.
오랜 고민 끝에 새로운 도전을 위해 이직을 결정하게 되었으며,
함께했던 소중한 시간들을 떠올리며 감사한 마음을 전하고자 인사드립니다.

[회사명]에서 보낸 시간 동안 많은 것을 배우고 성장할 수 있었습니다.
특히, **[함께했던 프로젝트/업무]**를 진행하면서
**[팀원들/동료들에게 배운 점 또는 감사한 경험]**을 통해
큰 배움을 얻었고, 이는 앞으로의 길에도 소중한 자산이 될 것 같습니다.

무엇보다 함께 일하며 힘든 순간을 나누고, 기쁜 순간을 함께한
[팀원/동료/상사] 여러분께 진심으로 감사드립니다.
덕분에 즐겁고 보람찬 시간을 보낼 수 있었습니다.

앞으로도 **[회사명]**의 무궁한 발전과 여러분의 건승을 진심으로 기원하겠습니다.
혹시라도 연락이 필요하시거나 가끔 안부 전하고 싶으시면
아래 연락처로 언제든 편하게 연락 주세요.

개인 연락처: [이메일 / 전화번호]

다시 한번 감사드리며, 언제 어디서든 좋은 소식으로 다시 만나 뵙기를 기대하겠습니다.
건강하시고, 항상 행복한 일들만 가득하시길 바랍니다.

감사합니다.
[회사명] [부서명] [이름] 드림




[이슈 발생 템플릿]
제목: [이슈 발생 관련] [문제 내용] 관련하여 사과 및 재발 방지 대책 공유 
내용:

안녕하세요, [수신자 이름]님.

이번 [이슈/실수]로 인해 불편을 끼쳐 드려 죄송합니다.
해당 사항에 대해 내부적으로 원인을 분석하고 있으며, 아래와 같은 조치를 취하고 있습니다.

원인: [문제 원인]
조치 사항: [문제 해결 방법]
재발 방지 대책: [추후 계획]
다시 한번 불편을 끼쳐 드린 점 사과드리며, 빠른 시일 내에 정상적으로 복구될 수 있도록 최선을 다하겠습니다.
추가로 궁금하신 사항이나 요청사항이 있으시면 언제든지 말씀해 주세요.

감사합니다.
[회사명] [부서명] [이름] 드림


[고객 문의 응대 템플릿]
제목: [문의 주제] 답변드립니다.
내용:

안녕하세요, [고객명]님.

문의해 주신 [문의 주제] 관련하여 답변드립니다.
아래 내용을 확인해 주시고, 추가 궁금하신 점이 있으시면 언제든지 연락 주시기 바랍니다.

문의 내용

문의일: [YYYY-MM-DD]
문의 내용 요약: [고객이 문의한 주요 내용]

답변 안내
[문의 사항에 대한 상세 답변을 작성]

추가로 궁금하신 사항이 있으시면 언제든지 회신해 주시거나,
**[고객센터 연락처 또는 담당자 연락처]**로 문의해 주시면 빠르게 도와드리겠습니다.

항상 저희 **[회사명]**을 이용해 주셔서 감사합니다.
앞으로도 최상의 서비스를 제공해 드릴 수 있도록 노력하겠습니다.

감사합니다.
[회사명] [부서명] [이름] 드림

 

SEO 블로그 글쓰기

SEO(Search Engine Optimization)
검색 엔진으로부터 웹사이트나 웹페이지에 대한 웹사이트 트래픽의 품질과 양을 개선하는 과정
즉 구글 같은 검색엔진에서 잘 보이도록 사이트를 최적화해 더 많은 방문자가 찾아오게 하는 작업

검색엔진
검색엔진이 특정 자료를 분석하고 결과를 보여주는 과정
크롤링(crawling) → 인덱싱(indexing) → 랭킹(ranking)의 세 단계

- 크롤링 (Crawling): 검색엔진이 웹사이트를 탐색하며 새로운 페이지나 업데이트된 정보를 찾는 단계
- 인덱싱 (Indexing): 크롤링을 통해 수집된 정보를 검색엔진의 데이터베이스에 저장하고 분류하는 단계
- 랭킹 (Ranking): 사용자가 검색어를 입력하면 인덱싱된 페이지들 중 관련성이 높은 순으로 결과를 보여주는 단계

구글 검색 결과 상단 노출 기준
- 검색 의도와 일치하는가? (Search Intent Matching)
구글은 사용자가 입력한 검색어의 의도를 파악한 후, 가장 적절한 콘텐츠를 우선적으로 게시
- 사용자 경험 지표 (User Experience Metrics)
구글은 실제 사용자들이 해당 페이지에서 어떻게 반응하는지를 분석하여, 유용성을 평가
(클릭률, 체류 시간, 이탈률 등으로 글의 유용성 평가)
- 콘텐츠의 신뢰도 및 권위 (E-E-A-T 평가)
구글은 웹사이트가 제공하는 정보가 전문성(Expertise), 경험(Experience), 권위(Authoritativeness), 신뢰도(Trustworthiness)를 갖췄는지를 분석
(저자 정보, 출처 명확성, 사이트의 신뢰도, 다른 사이트 언급 여부)

 

1. 블로그 작성 팁

- 키워드 최적화

구글 검색창에 주제 입력 후 연관 키워드 조사

https://ahrefs.com/keyword-generator/?country=kr&input=chatGPT

 

- 키워드 배치 최적화

선정 키워드를 제목과 본문의 첫 부분, 내용 등에 포함

 

- 내부 및 외부 링크 활용

내부 링크

내 블로그 안에서 다른 게시글을 연결하여 방문자가 사이트 내에서 더 오래 머물도록 유도

검색엔진 크롤러가 우리 블로그의 모든 페이지를 찾아내도록 도와주는 효과

외부 링크

신뢰할 만한 다른 도메인의 자료나 출처를 참고할 때 사용

권위 있는 출처(예: 공식 블로그, 연구 결과, Google 공식 문서 등)를 링크하면 콘텐츠의 신뢰도 및 유용성 향상

 

- 메타 태그 최적화

검색 엔진은 메타 제목을 페이지의 제목으로, 메타 설명을 요약문으로 표시하여 사용자가 콘텐츠 내용을 예상할 수 있게 한다

잘 작성된 메타 태그는 검색 결과에서의 가시성을 높이고 더 많은 사용자가 클릭하도록 유도

메타 태그 작성 방법

메타 제목
핵심 키워드를 포함하되 문맥에 맞게 자연스럽게 배치, 동시에 흥미를 끌 수 있는 문구 추가
메타 설명
페이지 본문의 핵심 내용을 12문장으로 요약
독자가 "이 페이지를 클릭하면 얻을 이점"을 느끼도록 작성
메타 태그
너무 길면 검색 결과에 잘려 나오므로
제목은 약 50~60자 이내 / 설명은 150자 이내로 작성

 

- 모바일 친화적인 글 작성

구글은 모바일 퍼스트 인덱싱을 도입하여 모바일에서 잘 보이는 콘텐츠를 우선적으로 평가
모바일 환경에서 가독성이 떨어지는 콘텐츠는 검색 순위에서도 불리

따라서 모든 콘텐츠는 모바일 기기에서도 쉽게 읽히도록 작성

https://developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing?hl=ko

 

모바일 중심 색인 생성 권장사항 | Google 검색 센터  |  Documentation  |  Google for Developers

Google 모바일 중심 색인 생성을 알아보고 사용자 환경을 개선하기 위해 설계된 Google 검색에서의 권장사항을 살펴보세요.

developers.google.com

 

2. 블로그 작성

- 초안 작성

'ChatGPT를 활용한 PPT 제작 방법'을 주제로 블로그 게시글을 작성해줘.
글의 형식은 다음과 같이 구성할 것:

[도입] PPT 제작이 필요한 상황과 일반적인 어려움을 설명한 후, ChatGPT를 활용하면 어떤 점이 유용한지 소개.

[본론] ChatGPT를 활용한 PPT 제작 방법을 3~5가지 설명하고, 각 방법마다 구체적인 예시 프롬프트를 포함.

- 슬라이드 개요 및 흐름 설계
- 슬라이드별 주요 내용 작성
- 디자인 및 레이아웃 가이드 제공
- 발표 스크립트 및 슬라이드 노트 작성
- PPT 내 이미지 및 인포그래픽 아이디어 제공

[결론] ChatGPT를 활용한 PPT 제작의 장점을 정리하고, 독자가 직접 실습해볼 수 있는 간단한 연습 프롬프트를 5개 제안.

 

- SEO 최적화 적용

키워드 최적화

초안에서 키워드 추출

아래 블로그 게시글에 대해서 키워드 리서치를 통해 검색 가시성을 높이고 싶어. 
검색량이 높고 경쟁이 적절한 관련 키워드를 10개 찾아줘.:
[작성한 게시글]

 

초안에 키워드 배치

‘[타겟 키워드]’을 SEO 최적화를 고려하여 아래 블로그 게시글에 자연스럽게 배치해줘. 
제목, 첫 문단, 본문 중간, 소제목, 마지막 문단 등에 적절히 키워드를 포함해줘.
[유의사항]
키워드의 과도한 반복은 피하고 1000단어 기준 10~20회 정도 사용을 기준으로 할 것.

[타겟 키워드]
~~~
[작성한 게시글]
~~~

 

- 메타 데이터 최적화

SEO 최적화를 고려하여 ‘[타겟 키워드]’을 포함한 아래 블로그 글의 메타 제목을 작성해줘. 제목은 50~60자 이내로 설정하고, 클릭률을 높일 수 있도록 흥미로운 문구를 추가해줘.:

[타겟 키워드]
~~~
[작성한 게시글]
~~
검색 결과에서 아래 블로그 글이 매력적으로 보이도록, ‘[타겟 키워드]’을 포함한 메타 설명을 작성해줘.
150자 이내로 본문 내용을 요약하면서 클릭 유도를 위한 요소(숫자, 질문, 명령형 문구)를 활용해줘.:
[타겟 키워드]
~~~
[작성한 게시글]
~~~

 

- 외부 링크 삽입

신뢰할 수 있는 외부 자료를 인용하여 아래 블로그 글의 신뢰도를 높이고 싶어. 
아래 블로그 게시글과 관련하여 사용할 수 있을 만한 공식 문서, 연구 자료, 또는 권위 있는 출처를 활용한 외부 링크를 5개 추천해줘.:
[작성한 게시글]
~~~

 

- 모바일 친화적 글로 수정

아래 블로그 글이 모바일에서도 가독성이 좋도록 최적화해줘. 
다음 사항을 고려할 것:

- 문장을 짧고 간결하게 구성
- 중요한 정보는 리스트 형식으로 정리
- 한 문단에 2~3문장만 포함하여 가독성 유지
- 제목과 소제목을 적절히 활용하여 글의 흐름을 명확하게 전달

[블로그 게시글]
~~~

 

- 최종 평가

너는 SEO 전문가야. 
아래 양식에 맞춰 콘텐츠를 검토한 뒤, 10점 만점의 SEO 점수를 부여하고, 각 SEO 요소별로 피드백을 제공할 것.

[평가 기준]
검색 의도 충족 여부 – 콘텐츠가 사용자의 검색 의도를 충족하는지 평가하세요.
사용자 경험(UX) 최적화 – 가독성, 모바일 친화성, 콘텐츠 구조 등을 고려하여 평가하세요.
콘텐츠 신뢰도 및 권위성 – 출처 활용, 외부 링크, 신뢰성 있는 정보 제공 여부를 평가하세요.
키워드 최적화 – 키워드 배치, 자연스러운 사용, 제목 및 메타 태그 최적화 여부를 평가하세요.
내부 및 외부 링크 활용 – 내부 링크와 외부 링크의 적절한 사용 여부를 평가하세요.
메타 태그 최적화 – 메타 제목, 메타 설명, URL 구조 최적화를 평가하세요.
모바일 친화적인 글쓰기 – 짧은 문단, 리스트 활용, 모바일 최적화 여부를 평가하세요.
출력 형식:
SEO 점수: XX/10

[개별 피드백]

검색 의도: (잘한 점 + 개선할 점)
사용자 경험: (잘한 점 + 개선할 점)
콘텐츠 신뢰도: (잘한 점 + 개선할 점)
키워드 최적화: (잘한 점 + 개선할 점)
링크 활용: (잘한 점 + 개선할 점)
메타 태그: (잘한 점 + 개선할 점)
모바일 최적화: (잘한 점 + 개선할 점)
종합 피드백:

잘한 점: 콘텐츠의 강점 요약
개선할 점: 보완해야 할 점 요약 및 추천 개선 방향

[평가가 필요한 콘텐츠]
~~~

 

Step 3. Chat GPT - 데이터 관리

 

● GPT 데이터 전처리 과정

내가 가지고 있는 데이터를 이용해서 데이터 전처리를 해야해. 
데이터 전처리를 위해 어떤 단계를 거쳐야 하는지 알려줘
데이터 전처리
데이터를 깨끗하게 하고, 분석이나 모델링을 위해 준비하는 과정

데이터 수집
필요한 데이터를 모으는 단계

데이터 이해 및 탐색
데이터를 살펴보고 어떤 내용인지 이해하는 단계

데이터 정제
데이터에서 오류나 불필요한 부분을 찾아서 정리하는 단계
(비어있는 칸인 결축치 처리, 중복 제거, 이상치 처리)

데이터 변환
데이터를 분석하기 쉽게 변환하는 단계
(데이터 타입 변환, 범주형 데이터 인코딩-여자는0, 남자는1로, 스케일링 및 정규화를 통한 숫자 범위 조정)

데이터 통합
 여러 출처에서 모은 데이터를 하나로 합치는 단계예요

데이터 샘플링
데이터가 너무 많을 때 일부만 뽑아서 사용하는 단계

데이터 저장 및 로딩
전처리된 데이터를 저장하거나, 나중에 사용할 수 있도록 불러오는 단계

 

1. 데이터 이해 및 탐색

첨부한 파일에 몇 개의 행과 열이 있는지 알려줘
이 파일의 각 열에는 어떤 종류의 데이터가 있는지 알려줘

 

2. 데이터 정제

이 데이터에는 몇 가지 오류가 있어. 아래 내용을 정리해줘.

1. 비어있는 데이터가 존재해
2. 날짜 형식이 통일되지 않았어
3. 이외에 문제가 있다고 판단되는 부분을 정리해서 알려줘

 

말해준 내용을 바탕으로 이 데이터를 정제해서, 다운로드 받을 수 있게 해줘.

 

 GPT 데이터 분석

1. 전체 데이터 분석

1. 첨부한 파일의 데이터를 분석해줘.
2. 분석 결과는 한국어로 응답해줘.

 

2. 카테고리별 월별 판매량 물어보기

카테고리별 월별 판매량이 필요해. 아래 조건에 맞춰 분석해줘.:
1. 판매량이 높은 순으로 카테고리를 정렬할 것.
2. 정렬된 내용을 표 형식으로 전달할 것.
3. 판매량을 쉽게 알아볼 수 있도록 시각화 그래프를 추가로 제공할 것.
4. 시각화 그래프의 내용은 한글로 작성할 것.
월별 판매량 데이터를 통해 특정 카테고리가 계절에 따라 판매량이 변동하는지 분석해줘

 

3. 특정 지역에서 많이 사는 상품 알아보기

특정 지역에서 어떤 카테고리의 식품을 많이 사는지 알고싶어. 아래 조건에 맞춰 분석해줘.:
1. 시각화 그래프로 제공할 것.
2. 시각화 그래프의 내용은 한글로 작성할 것.
특정 지역에서 어떤 카테고리의 식품을 많이 사는지 알고 싶어. 아래 조건에 맞춰 분석해줘.

- 지역(State)을 X축으로, 카테고리(Category)를 색상(Hue)으로 설정한 그룹형 막대 그래프를 생성할 것.
- 각 지역에서 카테고리별 판매량(Quantity)을 비교할 수 있도록 그래프를 구성할 것.
- X축에는 지역명을 한글로 표시하고, Y축에는 판매량(Quantity)을 표시할 것.
- 그래프 스타일은 가독성이 좋은 세련된 스타일을 적용할 것 (예: Seaborn 스타일).
- 그래프 제목을 '지역별 카테고리별 식품 판매량'으로 설정할 것.
- 한글 폰트(NanumGothic)를 사용하여 모든 텍스트가 정상적으로 표시되도록 할 것.
- 그래프의 크기는 14x7 인치로 설정하여 넓은 화면에서 보기 좋게 만들 것.

 

4. 데이터 분석 리포트 만들기

지금까지 내용을 활용해서 특정 지역에서 어떤 카테고리의 식품이 많이 판매 되는지 구체적인 수치를 기반으로 리포트를 작성해줘.

 

● GPT 유저 퍼널 분석

유저 퍼널 분석

사용자가 구매나 회원가입 등을 실행하기 위해 거치는 단계
전자상거래 웹사이트 유저퍼널
AARRR

 

1. 데이터 살펴보기

첨부한 파일에 대해 아래 내용 수행:
1. 몇 개의 행과 열이 있는지
2. 각 열에는 어떤 종류의 데이터가 있는지

 

2. 데이터 분석

각 단계별 유저 수와 전환율 계산

첨부한 파일에서 각 단계별 유저 수와 전환율을 계산할 것. 아래 조건에 맞춰 수행할 것.

1. 각 단계는 웹사이트 방문, 상품 페이지 방문, 장바구니 추가, 구매 완료 순으로 이어짐.
2. 결과에 대한 내용을 텍스트로 요약할 것.

 

계산된 내용 시각화

정리된 내용에 대해 시각화 그래프를 그려주되, 한글으로 보여줄 것.

 

이탈 원인 분석

각 단계의 이탈 원인 분석해줘

 

개선 방안 도출

개선 방안을 도출해줘

 

3. 보고서 작성

지금까지의 내용을 요약해서 다른 사람에게 보고하려고 해. 아래 조건에 맞춰 진행할 것:
1. 지금까지의 내용을 보고서 형식으로 만들 것.
2. 구체적인 수치를 언급할 것.
3. 정중한 어투로 작성할 것.
4. 시각화 그래프 및 표를 포함한 word 파일을 생성해 전달할 것.

 

● GPT 전월세 데이터 분석

1. 데이터 살펴보기

첨부한 파일에 대해 아래 내용 수행해줘:
1. 몇 개의 행과 열이 있는지
2. 각 열에는 어떤 종류의 데이터가 있는지

 

2. 데이터 전처리하기

첨부한 파일에 대해 아래 조건을 바탕으로 데이터 전처리를 진행.

[전처리 작업 요청 사항]
1. **결측치 처리:** 각 컬럼별 결측치의 존재 여부를 파악하고, 적절한 방법(예: 평균/중앙값 대체 또는 해당 행/열 삭제)으로 결측치를 처리.
2. **중복 제거:** 데이터 내 중복된 행이 존재할 경우, 이를 식별하여 제거해 주세요.
3. **데이터 타입 검토:** 각 컬럼의 데이터 타입을 확인하고, 필요 시 형 변환을 진행.
4. **이상치 탐지 및 처리:** 이상치가 있을 경우, 탐지 방법과 처리 방안을 제시.
5. **요약 및 샘플 출력:** 전처리된 데이터의 주요 통계량 및 일부 샘플 데이터를 출력.

[작업 로그 작성 가이드]
1. 어떠한 작업을 수행하였는지 요약해서 전달할 것.
2. 최종 전처리가 마무리 되면 전처리된 데이터를 파일으로 전달할 것.

 

3. 데이터 분석하기

월세 및 보증금 분포 시각화

- 첨부한 파일의 데이터에서 자치구별로 월세와 보증금의 분포를 산점도로 보여줘
- 단위는 만원 단위로 만들어줘

 

각 구별 월세 가격 시각화

- 각 구별 월세 가격을 히트맵으로 보여줘
- 단위는 만원 단위로 만들어줘

 

층 수와 월세 보증금의 상관관계 분석

층 수와 월세 및 보증금의 상관관계를 분석하고, 시각화로 표현해줘

 

 

● GPT 고객 후기 데이터 분석

1. 감성 분포 시각화

한국어 감성 분석
- csv 파일에서 감성 분석을 수행.
- 작업을 아래 조건을 참고하여 진행:
  1. 한국어 감성 사전(json)을 참고하여 review 데이터를 긍정과 부정으로 분류. 
     - 단순 단어 매칭이 아니라, **부정 단어의 빈도와 강도를 고려한 점수 방식 적용**.
     - 예: 부정 단어가 2개 이상 포함된 경우, 부정 확률을 높임.
  2. rating 열 데이터를 활용하여 감성 분석의 기준을 세움.
     - 평점이 3 이하인 경우, 부정 가능성이 높다고 판단.
     - 평점이 4~5인 경우, 부정 단어가 많으면 예외적으로 부정으로 분류 가능.
  3. review 데이터에서 **문맥을 고려한 감성 분석**을 수행.
     - 단순 단어 일치가 아니라, "맛이 없다", "놀랐다", "불편하다" 같은 문장 구조를 분석하여 감성 점수를 조정.
  4. 최종 판별 기준:
     - **(기존) 두 조건 모두 부정 → (변경) 둘 중 하나라도 강한 부정이면 부정으로 판별**.
  5. 최종 판별 결과를 통해 감성 분포를 시각화.
  6. 최종 판별에서 부정으로 분류된 데이터를 별도로 표시.​

 

 

2. 긍정적 리뷰에 대한 워드 클라우드 생성

최종 판별된 긍정적 리뷰에 대한 워드클라우드 생성해줘

 

● GPT 엑셀 업무 자동화

원하는 엑셀 데이터 뽑아내기

1. 수식 만들기

업로드한 파일은 매출데이터야.
아래 [규칙]을 참고하여 [필요한 수식]을 나타내는 엑셀 수식을 만들어줘

[규칙]
1. 필요한 수식 : J2값=C2값일 때,  D열 값을 가져오는 수식을 만들어줘
2. 참조할 데이터 : C:D
3. 조건 및 제한사항 : 수식 사용 방법 설명해줘

 

2. 필터 수식

업로드한 파일은 매출데이터야.
아래 [규칙]을 참고하여 [필요한 수식]을 나타내는 엑셀 수식을 만들어줘

[규칙]
1. 필요한 수식1 : F열='의자'인 행 데이터 중 G열 값이 높은 행의 데이터를 필터 해줘
2. 필요한 수식2 : F열='의자'인 행 데이터 중 G열 값이 가장 낮은 행의 데이터를 필터 해줘
3. 참조할 데이터 : A:H
4. 조건 및 제한사항 : 사용 방법도 설명해줘

 

3. 피봇 테이블

아래 [규칙]을 참고하여 피봇 테이블을 만드는 방법을 한글로 자세하게 알려줘.
[규칙] 
1. 행 : 고객분류, 카테고리
2. 값 : 매출 평균, 주문수 합계
3. 범위 A1:H249

 

● GPT 대시보드 만들기

대시보드

데이터를 원하는 형태로 보기 위해 주로 대시보드라는 것을 만들어서 사용
엑셀 대시보드는 데이터를 차트, 표, 그래프 등을 통해 데이터를 시각화하여 사용자에게 직관적인 정보를 제공

 

1. 스프레드시트 자동화, 앱 스크립트 이용하기

앱 스크립트(App Script)

구글에서 제공하는 클라우드 기반 스크립팅 언어
구글의 다양한 서비스인 스프레드시트 등을 자동화하고 확장할 수 있는 도구

 

대시보드를 만들어주는 앱 스크립트 만들기

업로드한 파일의 '시트1' 시트의 A:H 데이터를 대시보드로 만들려고해
[아래] 항목을 데이터 대시보드로 만들어주는 구글 앱스크립트를 작성해줘
1행은 제외하고 한글로 주석 달아주고 '대시보드' 시트에 기록해줘
[아래]
제품명별 매출
도시별 매출
고객분류별 카테고리별 매출
function createDashboard() {
  // 스프레드시트와 시트를 가져옴
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('시트1');
  
  // 데이터 범위를 가져옴 (1행 제외)
  var dataRange = sheet.getRange(2, 1, sheet.getLastRow() - 1, 8);
  var data = dataRange.getValues();
  
  // 제품명별 매출 계산
  var productSales = {};
  var citySales = {};
  var categorySales = {};

  data.forEach(function(row) {
    var category = row[4];
    var product = row[5];
    var sales = row[6];
    var customerType = row[1];
    var city = row[3].split(' ')[0]; // 주소에서 도시만 추출

    // 제품명별 매출
    if (!productSales[product]) {
      productSales[product] = 0;
    }
    productSales[product] += sales;

    // 도시별 매출
    if (!citySales[city]) {
      citySales[city] = 0;
    }
    citySales[city] += sales;

    // 고객분류별 카테고리별 매출
    if (!categorySales[customerType]) {
      categorySales[customerType] = {};
    }
    if (!categorySales[customerType][category]) {
      categorySales[customerType][category] = 0;
    }
    categorySales[customerType][category] += sales;
  });

  // 대시보드 시트가 있으면 삭제하고 새로 만듦
  if (ss.getSheetByName('대시보드')) {
    ss.deleteSheet(ss.getSheetByName('대시보드'));
  }
  var dashboard = ss.insertSheet('대시보드');
  
  // 제품명별 매출 추가
  dashboard.getRange('A1').setValue('제품명별 매출');
  var productRow = 2;
  for (var product in productSales) {
    dashboard.getRange(productRow, 1).setValue(product);
    dashboard.getRange(productRow, 2).setValue(productSales[product]);
    productRow++;
  }
  
  // 도시별 매출 추가
  dashboard.getRange('D1').setValue('도시별 매출');
  var cityRow = 2;
  for (var city in citySales) {
    dashboard.getRange(cityRow, 4).setValue(city);
    dashboard.getRange(cityRow, 5).setValue(citySales[city]);
    cityRow++;
  }
  
  // 고객분류별 카테고리별 매출 추가
  dashboard.getRange('G1').setValue('고객분류별 카테고리별 매출');
  var categoryRow = 2;
  for (var customerType in categorySales) {
    for (var category in categorySales[customerType]) {
      dashboard.getRange(categoryRow, 7).setValue(customerType);
      dashboard.getRange(categoryRow, 8).setValue(category);
      dashboard.getRange(categoryRow, 9).setValue(categorySales[customerType][category]);
      categoryRow++;
    }
  }
}

 

2. 그래프 추가하기

대시보드를 그래프로 그려주는 앱스크립트도 추가해줘
시트가 존재하면 삭제하고 새로 만들어줘
function createDashboard() {
  // 스프레드시트와 활성 시트를 불러옵니다.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('시트1');

  // 시트1의 데이터 범위를 가져옵니다.
  var dataRange = sheet.getDataRange();
  var data = dataRange.getValues();

  // 1행은 제외합니다.
  var headers = data[0];
  data.shift();
  
  // 제품명별 매출을 계산합니다.
  var productSales = {};
  var citySales = {};
  var customerCategorySales = {};

  data.forEach(function(row) {
    var category = row[4];  // 카테고리
    var product = row[5];  // 제품명
    var sales = row[6];  // 매출
    var city = row[3].split(' ')[0];  // 도시 (주소에서 첫 단어)
    var customerCategory = row[1];  // 고객분류

    // 제품명별 매출
    if (productSales[product]) {
      productSales[product] += sales;
    } else {
      productSales[product] = sales;
    }

    // 도시별 매출
    if (citySales[city]) {
      citySales[city] += sales;
    } else {
      citySales[city] = sales;
    }

    // 고객분류별 카테고리별 매출
    if (!customerCategorySales[customerCategory]) {
      customerCategorySales[customerCategory] = {};
    }
    if (customerCategorySales[customerCategory][category]) {
      customerCategorySales[customerCategory][category] += sales;
    } else {
      customerCategorySales[customerCategory][category] = sales;
    }
  });

  // 새 시트를 생성합니다.
  var dashboardSheet = ss.getSheetByName('대시보드');
  if (!dashboardSheet) {
    dashboardSheet = ss.insertSheet('대시보드');
  } else {
    dashboardSheet.clear();
  }

  // 제품명별 매출을 대시보드에 작성합니다.
  dashboardSheet.getRange(1, 1).setValue('제품명');
  dashboardSheet.getRange(1, 2).setValue('매출');
  var row = 2;
  for (var product in productSales) {
    dashboardSheet.getRange(row, 1).setValue(product);
    dashboardSheet.getRange(row, 2).setValue(productSales[product]);
    row++;
  }

  // 도시별 매출을 대시보드에 작성합니다.
  dashboardSheet.getRange(1, 4).setValue('도시');
  dashboardSheet.getRange(1, 5).setValue('매출');
  row = 2;
  for (var city in citySales) {
    dashboardSheet.getRange(row, 4).setValue(city);
    dashboardSheet.getRange(row, 5).setValue(citySales[city]);
    row++;
  }

  // 고객분류별 카테고리별 매출을 대시보드에 작성합니다.
  dashboardSheet.getRange(1, 7).setValue('고객분류');
  dashboardSheet.getRange(1, 8).setValue('카테고리');
  dashboardSheet.getRange(1, 9).setValue('매출');
  row = 2;
  for (var customerCategory in customerCategorySales) {
    for (var category in customerCategorySales[customerCategory]) {
      dashboardSheet.getRange(row, 7).setValue(customerCategory);
      dashboardSheet.getRange(row, 8).setValue(category);
      dashboardSheet.getRange(row, 9).setValue(customerCategorySales[customerCategory][category]);
      row++;
    }
  }

  // 차트를 생성합니다.
  createCharts(dashboardSheet);
}

function createCharts(sheet) {
  // 제품명별 매출 차트
  var productChartRange = sheet.getRange('A1:B' + sheet.getLastRow());
  var productChart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(productChartRange)
    .setPosition(1, 3, 0, 0)
    .setOption('title', '제품명별 매출')
    .build();
  sheet.insertChart(productChart);

  // 도시별 매출 차트
  var cityChartRange = sheet.getRange('D1:E' + sheet.getLastRow());
  var cityChart = sheet.newChart()
    .setChartType(Charts.ChartType.BAR)
    .addRange(cityChartRange)
    .setPosition(1, 8, 0, 0)
    .setOption('title', '도시별 매출')
    .build();
  sheet.insertChart(cityChart);

  // 고객분류별 카테고리별 매출 차트
  var customerCategoryChartRange = sheet.getRange('G1:I' + sheet.getLastRow());
  var customerCategoryChart = sheet.newChart()
    .setChartType(Charts.ChartType.COLUMN)
    .addRange(customerCategoryChartRange)
    .setPosition(1, 13, 0, 0)
    .setOption('title', '고객분류별 카테고리별 매출')
    .build();
  sheet.insertChart(customerCategoryChart);
}

 

자동화 버튼 만들기

삽입 → 그림 클릭


원하는 도형과 텍스트를 넣고 저장 후 닫기 클릭

만든 버튼에 점 세개🚦 버튼 클릭 → 스크립트 할당 클릭

스크립트 이름 복사

스크립트 할당란에 붙여 넣고 확인 클릭

버튼을 클릭

 

Step 4. Chat GPT - 창의력

 

● GPT 이미지 생성

4o Image generation

ChatGPT에서는 GPT-4o를 이용해 단일 모델 내에서 텍스트와 이미지를 모두 생성
프롬프트의 세부 내용을 정확하게 해석해 고품질 이미지를 생성

자기회귀
앞에서 생성한 내용을 바탕으로, 한 단어씩 순차적으로 생성하는 방식
“나는 오늘”이라는 문장이 주어지면, 그다음에 올 가장 그럴듯한 단어를 예측해서 이어붙인다.
“나는 오늘 점심” → “나는 오늘 점심을” → “나는 오늘 점심을 먹었다” …

 

1. 이미지 프롬프트 구조잡기

A [스타일] of a [피사체], in a [배경], with [색감] and [조명].  
The scene is composed in a [구도] style,[움직임] is emphasized.
카테고리 설명
스타일 (Style) 디자인 스타일 및 시각적 형태 미니멀 벡터(Minimalist Vector), 픽셀아트(Pixel Art), 플랫 디자인(Flat Design), 디지털 일러스트(Digital Illustration), 3D 렌더링(3D Rendering)
피사체 (Subject) 주요 요소 회의하는 팀(Team Meeting), 프레젠테이션 발표(Presentation Speaker), 협업하는 동료들(Collaborating Colleagues), 노트북을 사용하는 전문가(Professional Using Laptop), 고객과 상담하는 장면(Client Consultation)
배경 (Background) 일러스트의 배경설정 오피스(Office), 회의실(Conference Room), 원격 근무 환경(Home Office), 데이터 센터(Data Center), 창가가 보이는 사무실(Windowed Office), 프레젠테이션 무대(Presentation Stage), 로비(Lobby), 카페에서 일하는 모습(Coworking Space)
색감 (Color Palette) 시각적 색감 및 톤 블루 톤(Business Blue Tones), 그레이 톤(Sophisticated Gray Tones), 그린 톤(Eco & Growth Green Tones), 오렌지 & 브라운 톤(Warm Orange & Brown Tones) 등
조명 (Lighting) 이미지에서 및의 세기 및 분위기 균일한 조명(Flat Lighting), 소프트한 조명(Soft Office Light), 강한 역광(Backlight), 화면 빛(Screen Glow), 따뜻한 조명(Warm Ambient Light), 자연광(Natural Sunlight
구도 (Composition) 레이아웃 및 프레임 스타일 중앙 정렬(Center Framed), 비대칭 구도(Asymmetrical), 균형 잡힌 레이아웃(Balanced Layout), 시각적 중심 강조(Visually Centered Focus), 와이드 앵글(Wide-Angle Shot), 클로즈업(Close-Up Shot), 탑다운 뷰(Top-Down View), 다이내믹 앵글(Dynamic Angle)
움직임 (Motion & Action) 비즈니스 관련 활동 표현 문서 검토(Document Reviewing), 화이트보드 설명(Explaining on Whiteboard), 악수하는 사람들(Handshake Gesture), 원격 회의 중(Engaged in Virtual Meeting), 노트 필기하는 모습(Taking Notes), 프레젠테이션 중 손짓(Hand Gesturing During Presentation), 토론하는 모습(Discussing with Colleagues)

 

2. 이미지 제작

로고 제작

A minimalist vector of a cafe logo with coffee bean, in a clean studio background, with warm beige and brown tones and soft ambient light.
The scene is composed in a center framed style, with a static, balanced layout emphasized.

 

내부 인테리어 제작

A photorealistic digital illustration of a cafe interior, in a modern urban setting with expansive glass windows and natural wooden accents, with warm beige and natural brown tones and abundant natural sunlight.
The scene is composed in a balanced layout style, with clear emphasis on texture details and spatial depth.
A photorealistic digital illustration of a cafe interior that exudes Korean charm, combining modern design with traditional hanok elements. The space features expansive glass windows paired with hanok-inspired wooden beams and subtle Korean decorative patterns, rendered in warm beige and natural brown tones with abundant natural sunlight. The scene is composed in a balanced layout style, with clear emphasis on texture details and spatial depth.

 

소품 디자인

A photorealistic digital illustration of an elegant coffee cup, in a sleek and modern tabletop setting, with highly detailed reflective surfaces, intricate textures of porcelain and glass, and soft natural ambient light.  
The scene is composed in a close-up style, with meticulous emphasis on the interplay of light and shadow to highlight the cup’s fine craftsmanship and material quality.

 

3. 이미지 전환

기존 이미지를 만화 캐릭터처럼

A cartoon-style digital illustration of the attached image, in a playful studio background, with vibrant and saturated colors and bold, crisp outlines.
The scene is composed in a dynamic, exaggerated style, with expressive facial features and lively motion emphasized.

 

기존 이미지를 픽셀아트 스타일로

A 16-bit pixel art rendition of the attached image, in a retro gaming style background, with a limited color palette and distinct pixel outlines.
The scene is composed in a symmetrical grid layout, with a charming, nostalgic pixelated motion emphasized.

 

기존 이미지를 수채화 스타일로

A 16-bit pixel art rendition of the attached image, in a retro gaming style background, with a limited color palette and distinct pixel outlines.
The scene is composed in a symmetrical grid layout, with a charming, nostalgic pixelated motion emphasized.

 

Sora 활용

Sora
OpenAI에서 제공하는 영상 생성 모델
텍스트를 기반으로 영상을 생성할 수 있는 AI 모델

 

실습 영상 프롬프트

A narrow suspension bridge stretches across a vast canyon in the mountains. Mist surrounds the area, pierced by soft rays of the morning sun. Below the bridge, a wild river rushes through the chasm, and on both sides of the cliffs, massive waterfalls cascade down with thunderous force. The roar of water echoes in the background.

 

1. Sora 기본기

- 좌측 메뉴

Menu (search, explore, filter, top, likes), Library (my videos, favorites, uploads, archive, trash, new folder)

- Conposer 메뉴

video/image 선택, aspect ration(화면비율), resolution(해상도), Duration(길이), variations(배리), preset(사전 설정)

- Storyboard 기능 

동영상에서 생성하고자 하는 특정 시간대의 개별 프레임을 선택하여 영상을 제작

Card
스토리보드에서 프레임별로 생성하고 싶은 프롬프트를 입력할 수 있는 것
스토리보드에서는 카드를 드래그하여 영상 속 표현하고 싶은 내용의 속도를 조절
장면 간 연결을 위해 각 카드 사이에는 일정 간격을 두는 것을 권장 (하드컷 방지)
A man is riding a large hamster that is running.
A hamster pauses briefly and looks at the camera with a smile.

 

- Re-cut

기존 영상 요소의 일관성을 유지하면서 재구성

A serene scene unfolds with a young woman standing at the edge of a tranquil lake. The sun sets in the background, casting a warm golden glow over the water. She gazes thoughtfully at the horizon, her hair gently swayed by a soft breeze. Surrounding her are tall, whispering reeds, and the air is filled with a sense of calm and inevitability. The scene captures the essence of contemplation and the subtle, unseen pull of destiny guiding her forward.

생성된 영상에서 원하는 부분까지 길이를 조절 → 카드를 추가하여 원하는 프롬프트 입력

A woman walks forward

 

- Remix

생성된 이미지/영상에서 변화를 주고 싶은 요소를 프롬프트로 지정

이미지

iphone photo of a handsome guy in the car

 

비디오

 a man smile

 

Remix 비디오

handsome guy with smile in the cafe

 

Edit

iphone photo of a handsome guy waring a tshirt written "밥 줘" in the car

 

- Loop

영상을 반복시키는 기능

Loop

Loop 버튼을 클릭
영상에서 계속 반복되었으면 하는 영역 지정
Loop 타입을 short로 지정 (짧을수록 더 자연스러운 영상을 생성)
A cozy, miniature kitchen with small people collaboratively crafting a giant tonkatsu, bathed in warm lighting. The kitchen interior is rich in detail, featuring an array of culinary tools and ingredients arranged harmoniously. The scene exudes comfort with warm, soft colors enhancing the intimate atmosphere, while light and shadow play across the countertops, adding depth and dimension. The small figures, engaged in their labor, are captured in moments of teamwork, emphasizing the size of the tonkatsu against the cozy, detailed backdrop.

 

- AI로 스톡 영상 만들기 (Blend)

스톡 영상

다양한 용도로 사용할 수 있도록 미리 촬영된 영상 클립
https://artgrid.io/

Blend 기능
두 개의 영상을 합쳐 연속된 영상으로 만드는 도구
하나의 영상이 다른 영상으로 자연스럽게 변화하는 효과

시작점이 될 영상에서 Blend 버튼 클릭
원하는 영상 업로드
Blend 편집기에서 선택한 두 영상이 나란히 표시되며, 중앙에는 곡선 그래프에서 곡선을 조정(강조 정도)
( 곡선이 위쪽이면 첫 번째 영상(사람 시점의 영상), 아래쪽이면 두 번째 영상(와이드 앵글의 영상)이 더 많이 반영)

 

스톡 영상 제작 프롬프트

A breathtaking wide-angle view of the snow-covered Andes mountains, captured in the morning sunlight. The scene is vast and open, evoking a sense of freshness and tranquility. The camera smoothly pans across the mountain range, emphasizing its grand scale and natural beauty
A breathtaking first-person view of the snow-covered Andes mountains at sunrise. The camera smoothly moves along a winding mountain trail, as if the viewer is walking through the breathtaking landscape. Crisp snow crunches underfoot, and the towering peaks surround the scene, creating a sense of immersion and awe. The sunlight glistens off the icy ridges, and a gentle breeze stirs the fresh mountain air, adding to the serene and adventurous atmosphere.

 

2. Sora 영상 프롬프팅

- 간단한 영상 프롬프팅

- Camera Angle: {카메라 앵글}
- Lens Type (Focal Length): {렌즈 화각}
- Camera Movement: {카메라 움직임}
- Tone & Color Palette: {톤 / 색감}
==
{만들고 싶은 내용을 작성해 줍니다.}

 

- 프롬프트 템플릿

숲 속을 걸어가듯 보여주는 풍경

- Camera Angle: eye-level
- Lens Type (Focal Length): 70mm lens
- Camera Movement: slow horizontal pan
- Tone & Color Palette: cool tone
==
A tranquil video of a dense morning forest, with mist drifting between tall pine trees. The focus is on stillness and serenity, with gentle light filtering through the leaves and no signs of movement or life.

 

흑백의 스포츠카 전시

- Camera Angle: low-angle
- Lens Type (Focal Length): 35mm lens
- Camera Movement: slow vertical movement
- Tone & Color Palette: black & white
==
A dramatic showcase of a luxury sports car displayed in a minimalist showroom, emphasizing its sleek curves and sharp edges. The lighting is controlled and high-contrast, evoking a premium, sculptural aesthetic.

 

갈라진 콘크리트 자동차 영상

- Camera Angle: High-Angle
- Lens Type (Focal Length): 200mm lens
- Camera Movement: The camera remains fixed in one position and slowly tilts upward, starting from the cracked concrete ground and rising to reveal the rusted car frames and the broken windows above.
- Tone & Color Palette: sepia / vintage
==
A fixed shot of an abandoned industrial lot with rusted car shells scattered across cracked concrete. The mood is nostalgic and decayed, focusing on textures, dust, and muted sunlight peeking through broken windows.