๋ฐ˜์‘ํ˜•

๐Ÿ’ก ์›Œํฌํ”Œ๋กœ์šฐ ๋ชฉํ‘œ

  1. ์ฝ์ง€ ์•Š์€ ์ด๋ฉ”์ผ ํ™•์ธ
  2. AI๋กœ ์ด๋ฉ”์ผ ๋‹ต์žฅ ์ดˆ์•ˆ ์ž๋™ ์ƒ์„ฑ
  3. ์ž๋™ ์ƒ์„ฑํ•œ ์ดˆ์•ˆ์— ๋Œ€ํ•ด ์Šน์ธ ๋˜๋Š” ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ
  4. ์Šน์ธํ•œ ๋‹ต์žฅ์€ ์ž๋™ ๋ฐœ์†ก, ๊ฑฐ์ ˆํ•œ ๋‹ต์žฅ์€ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ ํ›„ ์žฌ์ž‘์„ฑ

 

 

์ด๋ฉ”์ผ ๊ฐ์ง€ ํŠธ๋ฆฌ๊ฑฐ ์ถ”๊ฐ€


์ƒˆ๋กœ์šด ์ด๋ฉ”์ผ์„ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ถ•ํ‚ค n > Gmail ๊ฒ€์ƒ‰ > On message received ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

Gmail ํŠธ๋ฆฌ๊ฑฐ ์„ค์ •์ฐฝ (get_email ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • Credential: Gmail OAuth2 API (์ง€๋ฉ”์ผ ์—ฐ๋™ ๊ณ„์ • ์„ ํƒ)
  • Poll Times > Mode: Every Minute (1๋ถ„๋งˆ๋‹ค ์ƒˆ ์ด๋ฉ”์ผ ํ™•์ธ)
  • Event: Message Received (์ƒˆ ์ด๋ฉ”์ผ ์ˆ˜์‹  ๊ฐ์ง€)
  • Simplify: ํ™œ์„ฑํ™” (์›๋ณธ ๋ฐ์ดํ„ฐ ๋Œ€์‹  ์ฃผ์š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ๊ฐ„๋žตํ•˜๊ฒŒ ๋ฐ˜ํ™˜)
  • Filters > Read Status: Unread emails only (์ฝ์ง€ ์•Š์€ ์ด๋ฉ”์ผ๋งŒ ๊ฐ€์ ธ์˜ค๊ธฐ)

 

์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๋ฉด 1๋ถ„๋งˆ๋‹ค ๋ฐ›์€ํŽธ์ง€ํ•จ์„ ํ™•์ธํ•˜๊ณ , ์ฝ์ง€ ์•Š์€ ์ƒˆ ์ด๋ฉ”์ผ์ด ์žˆ์„ ๋•Œ๋งŒ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ํ…Œ์ŠคํŠธํ•  ๋•Œ๋Š” Fetch Test Event ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๋œ๋‹ค. ์ •์ƒ์ ์œผ๋กœ ์ด๋ฉ”์ผ์„ ๊ฐ€์ ธ์˜ค๋ฉด ์šฐ์ธก Output ์˜์—ญ์—์„œ from, to, text ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ” ์ด๋ฉ”์ผ ํŠธ๋ฆฌ๊ฑฐ์—์„œ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ PIN์œผ๋กœ ๊ณ ์ •ํ•ด ๋‘๋ฉด, ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ์ƒˆ๋กœ์šด ์ด๋ฉ”์ผ์„ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ๊ณ ์ •ํ•œ ์ด๋ฉ”์ผ ๋‚ด์šฉ์œผ๋กœ ๋ฐ˜๋ณต ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค.

PIN Data ๋ฒ„ํŠผ (๋…ธ๋ž€์ƒ‰ ํ™”์‚ดํ‘œ ๋ถ€๋ถ„)

 

 

๋‹ต๋ณ€ ์ดˆ์•ˆ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ


Edit Fields(Set) ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AI์—๊ฒŒ ์ „๋‹ฌํ•  ํ”„๋กฌํ”„ํŠธ๋ฅผ prompt ํ•„๋“œ์— ๋ฏธ๋ฆฌ ์ •์˜ํ•ด ๋‘”๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹ค์Œ AI ๋…ธ๋“œ์—์„œ {{ $json.prompt }} ์†์„ฑ์œผ๋กœ ํ”„๋กฌํ”„ํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

Edit Fields ๋…ธ๋“œ ์„ค์ •์ฐฝ (set_initial_prompt ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

๊ฐœ์ธ์ ์ธ ์ผ์ • ์ œ์•ˆ์€ ์ˆ˜๋ฝํ•˜๊ณ , ํ”„๋กœ๋ชจ์…˜/๊ด‘๊ณ  ๋“ฑ์€ ์ •์ค‘ํžˆ ๊ฑฐ์ ˆํ•˜๋„๋ก ๋‹ต๋ณ€์„ ์ž‘์„ฑํ•˜๋Š” ํ”„๋กฌํ”„ํŠธ ์˜ˆ์‹œ. Use my real name ๋ถ€๋ถ„์€ ์›ํ•˜๋Š” ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

Hi, your task is to reply to this email.

Write a response that sounds natural, and keep in mind I'm very busy and have little time for things.

If something personal comes up, please write a response asking to schedule a call.

For any events, invitations, or promotions, please politely decline.

Here is the email I just received.
Your task is to reply to the email as if you were me.

<EMAIL>
Subject: {{ $json.subject }}
Message: {{ $json.text }}
</EMAIL>

IMPORTANT
Reply with the email ready to send. Don't include the subject.
AND very important: DO NOT USE PLACEHOLDERS LIKE [Your Name].
Use my real name: Sion

 

 

๋‹ต๋ณ€ ์ดˆ์•ˆ ์ƒ์„ฑ ๋…ธ๋“œ


์•ž ๋‹จ๊ณ„์—์„œ ์ •์˜ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ›์•„ AI ๋‹ต์žฅ ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•  ์ฐจ๋ก€๋‹ค. OpenAI > Message a model ์•ก์…˜ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.

OpenAI Message a model ๋…ธ๋“œ ์„ค์ •์ฐฝ (write_response ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • Resource: Text (ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€ ์ƒ์„ฑ)
  • Operation: Message a Model (AI ๋ชจ๋ธ์—๊ฒŒ ๋ฉ”์‹œ์ง€ ๋ณด๋‚ธ ํ›„ ๋‹ต๋ณ€ ๋ฐ›๊ธฐ)
  • Model > From list: gpt-4o-mini (์ €๋ ดํ•œ ๋ชจ๋ธ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค)
  • Message:
    • Type: Text
    • Role: User
    • Prompt: {{ $json.prompt }}

 

์•„๋ž˜ ๋‚ด์šฉ์œผ๋กœ ํ…Œ์ŠคํŠธ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ธ ํ›„ Execute step์„ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด ์šฐ์ธก Output์— ๋‹ต๋ณ€ ์ดˆ์•ˆ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฉ”์ผ ๋‚ด์šฉ์€ ์ ์‹ฌ ์•ฝ์†์„ ์ œ์•ˆํ•˜๋ฉด์„œ ์ œํ’ˆ ๊ตฌ๋งค๋ฅผ ์œ ๋„ํ•˜๋Š” ๊ด‘๊ณ ์„ฑ ๋ฉ”์ผ์ด๋ฏ€๋กœ, AI๋Š” ํ”„๋กฌํ”„ํŠธ ์ง€์‹œ์— ๋”ฐ๋ผ ์ •์ค‘ํžˆ ๊ฑฐ์ ˆํ•˜๋Š” ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•œ๋‹ค.

 

ํ…Œ์ŠคํŠธ ์ด๋ฉ”์ผ:

์ œ๋ชฉ: Meet up for lunch? I'll pay!
๋ณธ๋ฌธ: 

Hello E.

I would like to meet you for lunch because I want you to buy my things.
You can choose the restaurant and the time, and I'll pay for everything.

I promise,

Best Regards,
Paco.

 

AI ๋‹ต๋ณ€ ์ดˆ์•ˆ:

Hi Paco,

Thanks for the offer! I really appreciate it, but I'm quite swamped at the moment and won't be able to meet up for lunch. 

If something else comes up that requires a call, just let me know and we can schedule a time that works for both of us.

Best,
Sion

 

 

์ดˆ์•ˆ ์Šน์ธ ์š”์ฒญ ๋ณด๋‚ด๊ธฐ


AI๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต์žฅ ์ดˆ์•ˆ์„ ์‚ฌ๋žŒ์ด ์ง์ ‘ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธ/๊ฑฐ์ ˆํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๋ฉ”์ผ ๋ฐœ์†ก ๋…ธ๋“œ๋ฅผ ์„ค์ •ํ•œ๋‹ค. Send and Wait for Response ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”์ผ์— ํฌํ•จ๋œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ๊นŒ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ๋Œ€๊ธฐ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๋‹จ์ถ•ํ‚ค n > Gmail > Send Message and Wait for Response ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.

Send Message and Wait for Response ๋…ธ๋“œ ์„ค์ •์ฐฝ (approve_email ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • Resource: Message (์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ž‘์—…)
  • Operation: Send and Wait for Response (๋ฒ„ํŠผ ๋ˆ„๋ฅผ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ)
  • To: ์Šน์ธ ์š”์ฒญ์„ ๋ฐ›์•„๋ณผ ์ด๋ฉ”์ผ ์ฃผ์†Œ
  • Subject: [AI Auto Respond Approval Request] (์Šน์ธ ๋ฉ”์ผ ์ œ๋ชฉ)
  • Message: ์Šน์ธ ๋ฉ”์ผ ๋ณธ๋ฌธ
You are required to approve or reject the following AI response to the email you just received from {{ $('get_email').item.json.from.text }} with the subject "{{ $('get_email').item.json.subject }}"

Here is the content of the email: 
"{{ $('get_email').item.json.text }}"

And here is what the AI answered with:
"{{ $json.output[0].content[0].text }}"
  • Response Type: Approval (๋ฉ”์ผ ๋ณธ๋ฌธ์— ์Šน์ธ/๊ฑฐ์ ˆ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”)
  • Approval Options:
    • Type of Approval: Approve and Disapprove (์Šน์ธ/๊ฑฐ์ ˆ ๋‘ ๊ฐ€์ง€ ์„ ํƒ์ง€ ์ œ๊ณต)
    • Approve Button Label: Approve (์Šน์ธ ๋ฒ„ํŠผ ํ…์ŠคํŠธ)
    • Approve Button Style: Primary (์Šน์ธ ๋ฒ„ํŠผ ์Šคํƒ€์ผ)
    • Disapprove Button Label: Reject (๊ฑฐ์ ˆ ๋ฒ„ํŠผ ํ…์ŠคํŠธ)
    • Disapprove Button Style: Secondary (๊ฑฐ์ ˆ ๋ฒ„ํŠผ ์Šคํƒ€์ผ)

 

Execute step ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์œ„์—์„œ ์„ค์ •ํ•œ ์ œ๋ชฉ/๋ณธ๋ฌธ ๋‚ด์šฉ์œผ๋กœ ์Šน์ธ ๋ฉ”์ผ์ด ๋ฐœ์†ก๋œ๋‹ค. ๋ฉ”์ผ์˜ Approve/Reject ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๊นŒ์ง€ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ๋Œ€๊ธฐ ์ƒํƒœ๋กœ ์œ ์ง€๋œ๋‹ค.

 

 

์ดˆ์•ˆ ์Šน์ธ/๊ฑฐ์ ˆ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ


์Šน์ธ ์š”์ฒญ ๋ฉ”์ผ์—์„œ Approve ํ˜น์€ Reject ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ’์ด approved ์†์„ฑ์— ๋ฐ˜์˜๋œ ํ›„ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด If ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ๊ฑด์„ ์„ค์ •ํ•œ๋‹ค.

If ๋…ธ๋“œ ์„ค์ •์ฐฝ (check_approval ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • value1: {{ $json.data.approved }}
  • Condition: is equal to
  • value2: true

 

์กฐ๊ฑด ์„ค์ •์„ ์™„๋ฃŒํ•˜๋ฉด approved ๊ฐ’์— ๋”ฐ๋ผ ๋‘ ๋ฐฉํ–ฅ์œผ๋กœ ๋ถ„๊ธฐ๋œ๋‹ค.

  1. true์ธ ๊ฒฝ์šฐ: ๋‹ต๋ณ€ ์ดˆ์•ˆ์„ ์Šน์ธํ–ˆ์œผ๋ฏ€๋กœ True ๋ธŒ๋žœ์น˜๋กœ ์ด๋™
  2. false์ธ ๊ฒฝ์šฐ: ๋‹ต๋ณ€ ์ดˆ์•ˆ์„ ๊ฑฐ์ ˆํ–ˆ์œผ๋ฏ€๋กœ False ๋ธŒ๋žœ์น˜๋กœ ์ด๋™

 

 

์ดˆ์•ˆ ์Šน์ธ - ์ด๋ฉ”์ผ ๋ฐœ์†ก


๋‹ต๋ณ€ ์ดˆ์•ˆ์„ ์Šน์ธํ•˜๋ฉด ์›๋ณธ ๋ฉ”์ผ ๋ฐœ์‹ ์ž์—๊ฒŒ ์ดˆ์•ˆ ๋‚ด์šฉ์œผ๋กœ ๋‹ต์žฅ์„ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค. If ๋…ธ๋“œ์˜ True ๋ธŒ๋žœ์น˜์— Gmail > Reply to a message ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.

Reply to a message ์„ค์ •์ฐฝ (send_response ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • Resource: Message (์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ž‘์—…)
  • Operation: Reply (์›๋ณธ ๋ฉ”์ผ์— ๋‹ต์žฅ)
  • Message ID: ๋‹ต์žฅํ•  ์›๋ณธ ์ด๋ฉ”์ผ ID
{{ $('get_email').item.json.id }}
  • Email Type: Text (์ผ๋ฐ˜ ํ…์ŠคํŠธ ์ด๋ฉ”์ผ)
  • Message: AI๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต๋ณ€ ์ดˆ์•ˆ
{{ $('write_response').item.json.output[0].content[0].text }}

 

์Šน์ธ ๋ฉ”์ผ์—์„œ Approve ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ํ›„, AI๊ฐ€ ์ž‘์„ฑํ•œ ์ดˆ์•ˆ์œผ๋กœ ๋‹ต๋ณ€ ๋ฉ”์ผ์ด ์ž˜ ๋ฐœ์†ก๋๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์ž.

 

 

์ดˆ์•ˆ ๊ฑฐ์ ˆ - ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ


AI๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต๋ณ€ ์ดˆ์•ˆ์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์„ ๊ฒฝ์šฐ(Reject), ์ดˆ์•ˆ ๊ฒ€ํ† ์ž์—๊ฒŒ ์–ด๋–ค ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์•ผ ํ• ์ง€ ํ”ผ๋“œ๋ฐฑ์„ ์š”์ฒญํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœ์†กํ•œ๋‹ค. If ๋…ธ๋“œ์˜ False ๋ธŒ๋žœ์น˜์— Gmail > Send message and wait for response ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.

Send message and wait for response ์„ค์ •์ฐฝ (ask_for_feedback ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

  • Resource: Message (์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ž‘์—…)
  • Operation: Send and Wait for Response (์‘๋‹ตํ•  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐ)
  • To: ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ์„ ๋ฐ›์„ ์ด๋ฉ”์ผ ์ฃผ์†Œ
  • Subject: [AI Auto Respond Feedback Request] (ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ ๋ฉ”์ผ ์ œ๋ชฉ)
  • Message: ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ ๋ฉ”์ผ ๋ณธ๋ฌธ
You rejected the following AI response to the email you just received from {{ $('get_email').item.json.from.text }} with the subject "{{ $('get_email').item.json.subject }}"

Here is the content of the email: 
"{{ $('get_email').item.json.text }}"

And here is what the AI answered with:
"{{ $('write_response').item.json.output[0].content[0].text }}"

Since you did not like it, please provide feedback of what you would like to change.
  • Response Type: Free Text (ํ…์ŠคํŠธ๋กœ ํ”ผ๋“œ๋ฐฑ ์ž‘์„ฑ)

 

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด [approve_email] ๋…ธ๋“œ ์‹คํ–‰ > ์ดˆ์•ˆ ๊ฒ€ํ†  ๋ฉ”์ผ์—์„œ Reject ๋ฒ„ํŠผ ํด๋ฆญ > [ask_for_feedback] ๋…ธ๋“œ ์‹คํ–‰ > ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ ๋ฉ”์ผ์ด ์ž˜ ๋„์ฐฉํ•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์ž. ํ”ผ๋“œ๋ฐฑ ์š”์ฒญ ๋ฉ”์ผ์—์„œ Respond ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํผ์ด ์—ด๋ฆฐ๋‹ค. ์—ฌ๊ธฐ์— ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  ์ œ์ถœ(Submit)ํ•˜๋ฉด, ๋Œ€๊ธฐ ์ƒํƒœ์˜€๋˜ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ํ”ผ๋“œ๋ฐฑ ๋‚ด์šฉ์„ ๋ฐ›์•„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ด์–ด์ง„๋‹ค.

n8n์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž…๋ ฅ ํผ

 

 

์ดˆ์•ˆ ์žฌ์ž‘์„ฑ ํ”„๋กฌํ”„ํŠธ


๋‹ต๋ณ€ ์ดˆ์•ˆ์ด ๋ฐ˜๋ ค๋  ๊ฒฝ์šฐ, โ‘ ์ดˆ์•ˆ ์ƒ์„ฑ์— ์‚ฌ์šฉํ–ˆ๋˜ ํ”„๋กฌํ”„ํŠธ, โ‘กAI๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต๋ณ€ ์ดˆ์•ˆ, โ‘ข์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ํ•จ๊ป˜ ์ „๋‹ฌํ•˜์—ฌ ๋‹ต๋ณ€์„ ๋‹ค์‹œ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์ง‘ํ•˜๋Š” [ask_for_feedback] ๋…ธ๋“œ ๋’ค์— Edit Fields(Set) ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‹ต๋ณ€ ์žฌ์ž‘์„ฑ์— ์‚ฌ์šฉํ•  ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ์ด๋•Œ ํ•„๋“œ ์ด๋ฆ„์„ ์ดˆ์•ˆ ํ”„๋กฌํ”„ํŠธ ๋…ธ๋“œ(set_initial_prompt)์™€ ๋™์ผํ•˜๊ฒŒ prompt๋กœ ์ง€์ •ํ•˜๋ฉด, ์ดํ›„ ์‹คํ–‰๋˜๋Š” AI ๋…ธ๋“œ์—์„œ {{ $json.prompt }} ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

Edit Fields ๋…ธ๋“œ ์„ค์ •์ฐฝ (set_feedback_prompt ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝ)

 

๋‹ต๋ณ€ ์žฌ์ž‘์„ฑ ํ”„๋กฌํ”„ํŠธ๋Š” ํฌ๊ฒŒ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  1. <ORIGINAL_PROMPT> : ์ฒ˜์Œ ๋‹ต๋ณ€ ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ ์›๋ณธ ์ง€์‹œ์‚ฌํ•ญ
  2. <NEW_PROMPT> : ๊ธฐ์กด ๋‹ต๋ณ€ ๋‚ด์šฉ๊ณผ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋ผ๋Š” ์ง€์‹œ์‚ฌํ•ญ
<ORIGINAL_PROMPT>
Hi, your task is to reply to this email.

Write a response that sounds natural, and keep in mind I'm very busy and have little time for things.

If something personal comes up, please write a response asking to schedule a call.

For any events, invitations, or promotions, please politely decline.

Here is the email I just received.
Your task is to reply to the email as if you were me.

<EMAIL>
Subject: {{ $('get_email').item.json.subject }}
Message: {{ $('get_email').item.json.text }}
</EMAIL>

IMPORTANT
Reply with the email ready to send. Don't include the subject.
AND very important: DO NOT USE PLACEHOLDERS LIKE [Your Name].
Use my real name: Sion
</ORIGINAL_PROMPT>

<NEW_PROMPT>
That was your task, and you failed at it. The user rejected your answer.

This is what you replied with:

<YOUR_REPLY>
{{ $('write_response').item.json.output[0].content[0].text }}
</YOUR_REPLY>

And this is what the user had to say about it, the user feedback:

<USER_FEEDBACK>
{{ $json.data.text }}
</USER_FEEDBACK>

Your task is to adapt the reply to follow the feedback that the user provided.
</NEW_PROMPT>

 

 

ํ”„๋กฌํ”„ํŠธ ์ „๋‹ฌ ๊ตฌ์กฐ


์ฒ˜์Œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด [set_initial_prompt] ๋…ธ๋“œ์—์„œ ์ƒ์„ฑํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ prompt ํ•„๋“œ์— ๋‹ด๊ฒจ ์ „๋‹ฌ๋˜๊ณ , [write_response] ๋…ธ๋“œ๋Š” {{ $json.prompt }} ๊ฐ’์„ ์ฐธ์กฐํ•˜์—ฌ ๋‹ต๋ณ€ ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•œ๋‹ค.

 

์ดํ›„ ๋‹ต๋ณ€์ด ๊ฑฐ์ ˆ๋˜๋ฉด [set_feedback_prompt] ๋…ธ๋“œ์—์„œ ์ถœ๋ ฅํ•œ ์žฌ์ž‘์„ฑ ํ”„๋กฌํ”„ํŠธ๊ฐ€ [write_response] ๋…ธ๋“œ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ๋‘ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ๋…ธ๋“œ์˜ ํ•„๋“œ ์ด๋ฆ„์„ ๋ชจ๋‘ prompt๋กœ ์ง€์ •ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— [write_response] ๋…ธ๋“œ๋Š” ๋™์ผํ•œ ํ‘œํ˜„์‹์ธ {{ $json.prompt }} ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด ๋‹ต๋ณ€์„ ๋‹ค์‹œ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์›Œํฌํ”Œ๋กœ์šฐ ์™„์„ฑ ํ™”๋ฉด

๋ฐ˜์‘ํ˜•