[Tips] Lovable Prompting Tips ๊ณต๊ฐœ!! : Prompting 1.1

Posted by Euisuk's Dev Log on August 18, 2025

[Tips] Lovable Prompting Tips ๊ณต๊ฐœ!! : Prompting 1.1

์›๋ณธ ๊ฒŒ์‹œ๊ธ€: https://velog.io/@euisuk-chung/Tips-Lovable-Prompting-101

Lovable ํ”„๋กฌํ”„ํŠธ ์ „๋žต

ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐ, ๋‹จ๊ณ„๋ณ„ ํ”„๋กฌํ”„ํŒ…, ๋ฉ”ํƒ€/์—ญ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… ๋ฐ ์˜ˆ์ œ๋ฅผ ํ†ตํ•œ ๊ธฐ์ดˆ ์ „๋žต

์ด ๊ธ€์€ Lovable์˜ ๊ณต์‹ ๋ฌธ์„œ์ธ Prompting 1.1์„ ๋ฒˆ์—ญํ•˜๊ณ  ์ •๋ฆฌํ•œ ์ฝ˜ํ…์ธ ์ž…๋‹ˆ๋‹ค. Lovable์€ ๊ฐ•๋ ฅํ•œ Large Language Model(LLM)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŒ… ์ „๋žต์„ ํ†ตํ•ด ๊ทธ ์ž ์žฌ๋ ฅ์„ ์ตœ๋Œ€ํ•œ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐ, ๋‹จ๊ณ„๋ณ„ ํ”„๋กฌํ”„ํŒ…, ๋ฉ”ํƒ€/์—ญ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… ๋“ฑ Lovable์„ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ดˆ ์ „๋žต๊ณผ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. Lovable ํŒ€๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ด ๊ฐ€์ด๋“œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ๋•๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

https://docs.lovable.dev/prompting/prompting-one

๋ณธ ๊ธ€์€ ๋ฒˆ์—ญ๊ธ€์ด๋ฏ€๋กœ, ๋ณธ๋ฌธ์—์„œ ์–ธ๊ธ‰๋œ โ€œ์ €ํฌ/์šฐ๋ฆฌโ€๋Š” ๋ฒˆ์—ญ๋œ ๋‚ด์šฉ์œผ๋กœ, ์‹ค์ œ Lovable ํŒ€์„ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์ฐธ๊ณ ์‚ฌํ•ญ!

ํ•ด๋‹น ๊ธ€์€ Lovable์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กฌํ”„ํŒ… ์ „๋žต๊ณผ ์ ‘๊ทผ๋ฒ• ๋ชฉ๋ก์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ด ์ค‘ ์ผ๋ถ€๋Š” ์ €ํฌ ํŒ€์ด ์ง์ ‘ ๊ฒฝํ—˜ํ•œ ๋‚ด์šฉ์„ ํ†ตํ•ด ์ž‘์„ฑํ–ˆ๊ณ , ์ผ๋ถ€๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›๋“ค์ด ๊ณต์œ ํ•ด์ค€ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Lovable์€ Large Language Model(LLM)์— ์˜์กดํ•˜๋ฏ€๋กœ, ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŒ… ์ „๋žต์„ ํ†ตํ•ด ํšจ์œจ์„ฑ๊ณผ ์ •ํ™•์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŒ…์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

ํ”„๋กฌํ”„ํŒ…์€ AI ์‹œ์Šคํ…œ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ œ๊ณตํ•˜๋Š” ํ…์ŠคํŠธ ์ง€์‹œ์‚ฌํ•ญ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • Lovable(AI ๊ธฐ๋ฐ˜ ์•ฑ ๋นŒ๋”)์—์„œ ํ”„๋กฌํ”„ํŠธ๋Š” UI ์ƒ์„ฑ๋ถ€ํ„ฐ ๋ฐฑ์—”๋“œ ๋กœ์ง ์ž‘์„ฑ๊นŒ์ง€ AI์—๊ฒŒ ๋ฌด์—‡์„ ํ• ์ง€ "์•Œ๋ ค์ฃผ๋Š”" ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  • Lovable์€ Large Language Model(LLM)์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŒ…์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ช…ํ™•ํ•˜๊ณ  ์ž˜ ์ž‘์„ฑ๋œ ํ”„๋กฌํ”„ํŠธ๋Š” ์•ฑ ๊ตฌ์ถ• ์‹œ AI์˜ ํšจ์œจ์„ฑ๊ณผ ์ •ํ™•์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ„๋‹จํžˆ ๋งํ•ด, ๋” ๋‚˜์€ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŒ…์ด ์ค‘์š”ํ•œ ์ด์œ 

๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ํ”„๋กฌํ”„ํŒ…์ด โ€œ๋‹จ์ˆœํžˆ AI์—๊ฒŒ ์š”์ฒญ์„ ์ž…๋ ฅํ•˜๊ณ  ์ตœ์„ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”๋ผ๋Š” ๊ฒƒโ€์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค - ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํ‰๋ฒ”ํ•œ AI ์‘๋‹ต๊ณผ AI๊ฐ€ ์ „์ฒด ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋Š” โ€œ์–ด๋–ป๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋А๋ƒโ€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๋“  ๋น„๊ธฐ์ˆ ์ž๋“ , Lovable์—์„œ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ๋งˆ์Šคํ„ฐํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • AI์—๊ฒŒ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์ง€์‹œํ•˜์—ฌ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ž๋™ํ™”
  • AI๊ฐ€ ์ƒ์„ฑํ•œ ์ธ์‚ฌ์ดํŠธ์™€ ์†”๋ฃจ์…˜์œผ๋กœ ๋” ๋น ๋ฅด๊ฒŒ ๋””๋ฒ„๊ทธ
  • ์ ์ ˆํžˆ ์•ˆ๋‚ด๋˜๋ฉด AI๊ฐ€ ๋ฌด๊ฑฐ์šด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์ตœ์ ํ™”

โ“ ๊ทธ๋Ÿผ Lovable์„ ์‚ฌ์šฉํ•  ๋•Œ, ๊ฐ€์žฅ ์ข‹์€ ์ ์€?

  • ์ „๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์˜ฌ๋ฐ”๋ฅธ ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹œํ–‰์ฐฉ์˜ค ์—†์ด Lovable์—์„œ AI์˜ ๋ชจ๋“  ์ž ์žฌ๋ ฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AI๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ

๊ธฐ์กด ์ฝ”๋”ฉ๊ณผ ๋‹ฌ๋ฆฌ, AI์™€ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ(working with AI)์€ ์šฐ๋ฆฌ์˜ ์˜๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌ/์†Œํ†ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Lovable์„ ๊ตฌ๋™ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ Large Language Model(LLM)/Artificial Intelligence(AI)๋Š” ์ธ๊ฐ„์˜ ๊ด€์ ์—์„œ โ€œ์ดํ•ด(understand)โ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค - ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์˜ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถœ๋ ฅ์„ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ LLM์˜ ํŠน์ง•์€, ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•จ์— ์žˆ์–ด์„œ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค:

์ผ๊ด€๋œ ๋‹ต๋ณ€ ๊ฒฐ๊ณผ(consistent outcomes)๋ฅผ ์œ„ํ•ด์„œ๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ช…ํ™•ํ•œ ์„น์…˜์œผ๋กœ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๊ถŒ์žฅ๋˜๋Š” ํ˜•์‹(eg. ํ”„๋กฌํ”„ํŒ…์„ ์œ„ํ•œ โ€œ์ž์ „๊ฑฐ ๋ณด์กฐ๋ฐ”ํ€ด(training wheels)โ€์ฒ˜๋Ÿผ)์€ Context, Task, Guidelines, Constraints์— ๋Œ€ํ•œ ๋ผ๋ฒจ์ด ๋ถ™์€ ์„น์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

https://www.google.com/search?q=%E2%80%9Ctraining+wheels%E2%80%9D

  • ์ปจํ…์ŠคํŠธ์™€ ์„ธ๋ถ€์‚ฌํ•ญ ์ œ๊ณต:

    • AI ๋ชจ๋ธ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์ด์™ธ์—๋Š” ์ƒ์‹์ด๋‚˜ ์•”์‹œ์  ์ปจํ…์ŠคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
    • ํ•ญ์ƒ ๊ด€๋ จ ๋ฐฐ๊ฒฝ์ด๋‚˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ œ๊ณตํ•˜์„ธ์š”.
      • ์˜ˆ๋ฅผ ๋“ค์–ด,
        • โ€œ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๊ตฌ์ถ•โ€์ด๋ผ๊ณ ๋งŒ ๋งํ•˜๋Š” ๋Œ€์‹  ์„ธ๋ถ€์‚ฌํ•ญ์„ ๋ช…์‹œํ•˜์„ธ์š”
          (eg. โ€œReact๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฉ”์ผ/๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ๊ณผ JWT ์ฒ˜๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”.โ€)
        • ๊ธฐ์ˆ  ์Šคํƒ์ด๋‚˜ ๋„๊ตฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํฌํ•จํ•˜์„ธ์š”.
          (eg. โ€œ์ธ์ฆ์„ ์œ„ํ•ด Supabase ์‚ฌ์šฉํ•˜์„ธ์š”.โ€)
  • ์ง€์‹œ์‚ฌํ•ญ๊ณผ ์ œ์•ฝ์กฐ๊ฑด์„ ๋ช…์‹œ์ ์œผ๋กœ ์ œ๊ณต:

    • AI๊ฐ€ โ€œ๋ชฉํ‘œ๋ฅผ ์ถ”๋ก ํ•  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋งˆ์„ธ์š”โ€.
    • ์ œ์•ฝ์กฐ๊ฑด์ด๋‚˜ ์„ ํ˜ธ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ง์ ‘ ํ…์ŠคํŠธ๋กœ ๋ช…์‹œํ•˜์„ธ์š”.
      • ์˜ˆ๋ฅผ ๋“ค์–ด,
        • ์ถœ๋ ฅ์ด ํŠน์ • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํŠน์ • ๋ฒ”์œ„ ๋‚ด์— ๋จธ๋ฌผ๋Ÿฌ์•ผ ํ•œ๋‹ค๋ฉด ๋ชจ๋ธ์—๊ฒŒ ๋ฏธ๋ฆฌ ์•Œ๋ ค์ฃผ์„ธ์š”.
        • AI๋Š” ์ง€์‹œ์‚ฌํ•ญ์„ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅผ ๊ฒƒ์ž…๋‹ˆ๋‹ค - ๋ช…๋ น์˜ ๋ชจํ˜ธํ•จ์€ โ€œ์›์น˜ ์•Š๋Š” ๊ฒฐ๊ณผโ€๋‚˜ โ€œAI ํ™˜๊ฐโ€(์ž˜๋ชป๋œ ์ •๋ณด ์ƒ์„ฑ)์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ์กฐ๊ฐ€ ์ค‘์š”ํ•จ (์ˆœ์„œ์™€ ๊ฐ•์กฐ):

    • Transformer ์•„ํ‚คํ…์ฒ˜ ๋•๋ถ„์— ๋ชจ๋ธ์€ ํ”„๋กฌํ”„ํŠธ์˜ ์‹œ์ž‘๊ณผ ๋์— ํŠน๋ณ„ํ•œ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ž…๋‹ˆ๋‹ค.
      • ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์„ธ๋ถ€์‚ฌํ•ญ์ด๋‚˜ ์š”์ฒญ์„ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋‘๊ณ , ๊ฐ•์กฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์ ˆ๋Œ€์  ์š”๊ตฌ์‚ฌํ•ญ์„ ๋์—์„œ ๋‹ค์‹œ ๊ฐ•์กฐํ•˜์—ฌ ์ด๋ฅผ ํ™œ์šฉํ•˜์„ธ์š”. (DO NOT, NEVER)
    • ๋˜ํ•œ ๋ชจ๋ธ์€ ๊ณ ์ •๋œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ์„ ๊ธฐ์–ตํ•˜์„ธ์š”
      • ์ง€๋‚˜์น˜๊ฒŒ ๊ธด ํ”„๋กฌํ”„ํŠธ๋‚˜ ๋งค์šฐ ๊ธด ๋Œ€ํ™”๋Š” AI๊ฐ€ ์ด์ „ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์žŠ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์„ธ์š”. (eg. ์„ธ์…˜์ด ๊ธธ์–ด์ง€๋ฉด ์ฃผ์š” ํฌ์ธํŠธ๋ฅผ ๋ชจ๋ธ์—๊ฒŒ ์ƒ๊ธฐ์‹œํ‚ค๊ธฐ)
  • ๋ชจ๋ธ์˜ ํ•œ๊ณ„ ์•Œ๊ธฐ:

    • AI์˜ ์ง€์‹์€ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์—์„œ ๋‚˜์˜ต๋‹ˆ๋‹ค.
      (๋ฌผ๋ก  ์š”์ฆ˜์€ web search๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ฌ๊ณ  ์žˆ๊ธดํ•˜์ง€๋งŒ)
      • ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ตœ๊ทผ ์‚ฌ๊ฑด์ด๋‚˜ ์ œ๊ณตํ•˜์ง€ ์•Š์€ ๋…์  ์ •๋ณด๋Š” ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
      • ์ถ”์ธกํ•˜๊ณ  ์žˆ๋”๋ผ๋„ ์ž์‹  ์žˆ๊ฒŒ ๋“ค๋ฆฌ๋ ค๊ณ  ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค(์ด๋Š” ๋ชจ๋ธ ํ™˜๊ฐ ํ˜„์ƒ์œผ๋กœ ์ด์–ด์ง - eg. ์„ธ์ข…๋Œ€์™• ๋งฅ๋ถํ”„๋กœ ๋˜์ง ์‚ฌ๊ฑด ๋“ฑ).
  • ์‚ฌ์‹ค์  ์งˆ๋ฌธ์„ ์œ„ํ•ด์„œ๋Š” ํ•ญ์ƒ ์ฐธ์กฐ ํ…์ŠคํŠธ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ์ถœ๋ ฅ์„ ๊ฒ€์ฆํ•  ์ค€๋น„๋ฅผ ํ•˜์„ธ์š”.
  • ํ”„๋กฌํ”„ํŒ…์„ ๋งค์šฐ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ดํ•ดํ•˜๋Š” ์ธํ„ด์—๊ฒŒ ์ •ํ™•ํžˆ ๋ฌด์—‡์ด ํ•„์š”ํ•œ์ง€ ๋งํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜์„ธ์š”.
  • ์ง€์นจ์ด ๋ช…ํ™•ํ•˜๊ณ  ๊ตฌ์กฐ์ ์ผ์ˆ˜๋ก ๊ฒฐ๊ณผ๊ฐ€ ๋” ์ข‹์•„์ง‘๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ํ•ต์‹ฌ ์›์น™๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ํ”„๋กฌํ”„ํŒ… ์›์น™: C.L.E.A.R. ํ”„๋ ˆ์ž„์›Œํฌ

ํ›Œ๋ฅญํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๊ฐ„๋‹จํ•œ ์›์น™๋“ค์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์€ CLEAR: Concise, Logical, Explicit, Adaptive, Reflective์ž…๋‹ˆ๋‹ค.

์ง€์‹œ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•  ๋•Œ ์ด๋ฅผ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋กœ ์‚ฌ์šฉํ•˜์„ธ์š”:

  • C - ๊ฐ„๊ฒฐํ•จ(Concise):

    • ๋ช…ํ™•ํ•˜๊ณ  ์š”์ ์„ ์ „๋‹ฌํ•˜์„ธ์š”.
    • ๋ถˆํ•„์š”ํ•œ ๋‚ด์šฉ์ด๋‚˜ ๋ชจํ˜ธํ•œ ์–ธ์–ด๋Š” ๋ชจ๋ธ์„ ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ง์ ‘์ ์ธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด:
      • Bad Case: โ€œ๊ณผํ•™ ์ฃผ์ œ์— ๋Œ€ํ•ด ๋ญ”๊ฐ€ ์žฌ๋ฐŒ๋Š” ์–˜๊ธฐํ•ด๋ด.โ€
      • Good Case: โ€œ์—ฐ์•ˆ ๋„์‹œ์— ๋Œ€ํ•œ ๊ธฐํ›„ ๋ณ€ํ™” ์˜ํ–ฅ์˜ 200๋‹จ์–ด ์š”์•ฝ์„ ์ž‘์„ฑํ•˜์„ธ์š”.โ€
    • ๋ถˆํ•„์š”ํ•œ ๋‹จ์–ด๋Š” ํ”ผํ•˜์„ธ์š” - ์„ธ๋ถ€์‚ฌํ•ญ์ด ์ง€์‹œ์ ์ด์ง€ ์•Š๋‹ค๋ฉด ์‚ฐ๋งŒํ•  ๋ฟ์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•  ๋•Œ ์ •ํ™•์„ฑ๊ณผ ๊ฐ„๊ฒฐ์„ฑ์„ ๋ชฉํ‘œ๋กœ ํ•˜์„ธ์š”.
  • L - ๋…ผ๋ฆฌ์ (Logical):

    • ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‹จ๊ณ„๋ณ„ ๋˜๋Š” ์ž˜ ๊ตฌ์กฐํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์ •๋ฆฌํ•˜์„ธ์š”.
    • ๋ณต์žกํ•œ ์š”์ฒญ์„ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋‹จ๊ณ„๋‚˜ ๋ถˆ๋ฆฟ ํฌ์ธํŠธ๋กœ ๋‚˜๋ˆ„์–ด AI๊ฐ€ ์‰ฝ๊ฒŒ ๋”ฐ๋ผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”.
    • ํ•˜๋‚˜์˜ ๊ธธ๊ณ  ์—ฐ๊ฒฐ๋œ ์š”์ฒญ๋ณด๋‹ค๋Š” ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด:
      • Bad Case: โ€œ์‚ฌ์šฉ์ž ๊ฐ€์ž… ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์‚ฌ์šฉ๋Ÿ‰ ํ†ต๊ณ„๋„ ๋ณด์—ฌ์ค˜.โ€
      • Good Case: โ€œ๋จผ์ € Supabase๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์‚ฌ์šฉ์ž ๊ฐ€์ž… ์–‘์‹์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ๊ทธ ๋‹ค์Œ, ์„ฑ๊ณต์ ์ธ ๊ฐ€์ž… ํ›„ ์‚ฌ์šฉ์ž ์ˆ˜ ํ†ต๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ‘œ์‹œํ•˜์„ธ์š”.โ€
    • ๋…ผ๋ฆฌ์  ํ๋ฆ„์€ ๋ชจ๋ธ์ด ์š”์ฒญ์˜ ๊ฐ ๋ถ€๋ถ„์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • E - ๋ช…์‹œ์ (Explicit):

    • ์›ํ•˜๋Š” ๊ฒƒ๊ณผ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ •ํ™•ํžˆ ๋ช…์‹œํ•˜์„ธ์š”.
    • ์ค‘์š”ํ•œ ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์„ธ์š”.
    • ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ํ˜•์‹์ด๋‚˜ ๋‚ด์šฉ์˜ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.
    • ๋ชจ๋ธ์€ ๋ฐฉ๋Œ€ํ•œ ์ง€์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์„ธ๋ถ€์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋‹น์‹ ์˜ ๋งˆ์Œ์„ ์ฝ์ง€๋Š” ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
      • Bad Case: โ€œ๊ฐœ์— ๋Œ€ํ•ด ์•Œ๋ ค์ค˜.โ€ (๋„ˆ๋ฌด ๊ฐœ๋ฐฉ์ ์ž„.)
      • Good Case: โ€œ๊ณจ๋“  ๋ฆฌํŠธ๋ฆฌ๋ฒ„์— ๋Œ€ํ•œ 5๊ฐ€์ง€ ๋…ํŠนํ•œ ์‚ฌ์‹ค์„ ๋ถˆ๋ฆฟ ํฌ์ธํŠธ๋กœ ๋‚˜์—ดํ•˜์„ธ์š”.โ€
    • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›ํ•˜๋Š” ์ถœ๋ ฅ ์Šคํƒ€์ผ์ด ์žˆ๋‹ค๋ฉด ๋ช…์‹œํ•˜์„ธ
      (์˜ˆ: โ€œJSON ํ˜•์‹์œผ๋กœ ์‘๋‹ตโ€ ๋˜๋Š” โ€œ์บ์ฃผ์–ผํ•œ ํ†ค ์‚ฌ์šฉโ€).
    • AI๋ฅผ ์ดˆ๋ณด์ž์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜์„ธ์š”: ์•„๋ฌด๊ฒƒ๋„ ๋‹น์—ฐํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.
  • A - ์ ์‘์ (Adaptive):

    • ์ฒซ ๋ฒˆ์งธ ๋‹ต๋ณ€์ด ์™„๋ฒฝํ•˜์ง€ ์•Š๋‹ค๋ฉด ์•ˆ์ฃผํ•˜์ง€ ๋งˆ์„ธ์š”.
    • ํ”„๋กฌํ”„ํŠธ๋Š” ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐœ์„ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ง˜ ๋ฉ€ํ‹ฐํ„ด!!)
    • Lovable์˜ AI(๋ฐ ์ผ๋ฐ˜์ ์ธ LLM)์˜ ํฐ ์žฅ์ ์€ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • ์ดˆ๊ธฐ ์ถœ๋ ฅ์ด ๋ชฉํ‘œ๋ฅผ ๋†“์ณค๋‹ค๋ฉด ์ ‘๊ทผ๋ฒ•์„ ์ ์‘์‹œํ‚ค์„ธ์š”:
      • ํ›„์† ํ”„๋กฌํ”„ํŠธ์—์„œ ์ง€์‹œ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๋ฅผ ์ง€์ ํ•˜์„ธ์š”.
      • ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ์˜ค๋ฅ˜๋ฅผ ์ง€์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.:
        • ์ง€๊ธˆ ์™„์„ฑ๋œ ๋ฒ„์ „์€ ์ œ๊ณตํ•œ ์†”๋ฃจ์…˜์— ์ธ์ฆ ๋‹จ๊ณ„๊ฐ€ ๋น ์ ธ์žˆ์Šต๋‹ˆ๋‹ค. (์˜ค๋ฅ˜ ์ง€์ )
        • ์ฝ”๋“œ์— ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ํฌํ•จํ•ด์ฃผ์„ธ์š”. (์ง€์‹œ ๋ช…ํ™•)
    • ๋ฐ˜๋ณต์„ ํ†ตํ•ด ๋ชจ๋ธ์„ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋กœ ์•ˆ๋‚ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‹ฌ์ง€์–ด AI์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ ์ž์ฒด๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฌผ์–ด๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค
      (์ด๋Š” ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…์œผ๋กœ, ๋‚˜์ค‘์— ๋‹ค๋ฃฐ ์˜ˆ์ •).

(์ฐธ๊ณ ) ๋ฉ”ํƒ€(Meta-)์ด๋ž€?

  • โ€œ๋ฉ”ํƒ€(meta-)โ€๋ผ๋Š” ์ ‘๋‘์‚ฌ๋Š” ์›๋ž˜ ๊ทธ ์ž์ฒด๋ฅผ ๋„˜์–ด์„œ์„œ, ๋” ๋†’์€ ์ฐจ์›์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฒ ํ•™, ์–ธ์–ดํ•™, ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋“ฑ ์—ฌ๋Ÿฌ ๋ถ„์•ผ์—์„œ ์“ฐ์ด๋Š”๋ฐ, ๊ณตํ†ต์ ์œผ๋กœ๋Š” โ€˜๋Œ€์ƒ์— ๋Œ€ํ•œ ๋Œ€์ƒโ€™, ์ฆ‰ ์ž๊ธฐ ์ž์‹ ์„ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์ ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ๋˜ ๋ฉ”ํƒ€๋Š” ์–ธ์ œ ์“ฐ์˜€์„๊นŒ์š”? ์˜ˆ๋ฅผ ๋“ค์–ด:
    • ๋ฉ”ํƒ€-๋ฐ์ดํ„ฐ (meta-data)
      • ๊ธฐ๋ณธ ๋Œ€์ƒ: ๋ฐ์ดํ„ฐ(์ •๋ณด ๊ทธ ์ž์ฒด)
      • ๋ฉ”ํƒ€ ์˜๋ฏธ: ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ(์†์„ฑ, ์„ค๋ช…, ๋ถ€๊ฐ€ ์ •๋ณด)
      • ์˜ˆ์‹œ: ์‚ฌ์ง„ ํŒŒ์ผ์ด ๋ฐ์ดํ„ฐ๋ผ๋ฉด, ์ดฌ์˜ ์‹œ๊ฐ„ยท์œ„์น˜(GPS)ยทํ•ด์ƒ๋„ยทํŒŒ์ผ ํฌ๊ธฐ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
    • ๋ฉ”ํƒ€-์ธ์ง€ (metacognition)
      • ๊ธฐ๋ณธ ๋Œ€์ƒ: ์ธ์ง€(์ƒ๊ฐํ•˜๊ณ  ์•„๋Š” ํ–‰์œ„)
      • ๋ฉ”ํƒ€ ์˜๋ฏธ: ์ƒ๊ฐ์— ๋Œ€ํ•œ ์ƒ๊ฐ(์ž๊ธฐ ๊ฐ๊ด€ํ™”, ์ž๊ธฐ ์ ๊ฒ€)
      • ์˜ˆ์‹œ: โ€œ๋„ˆ ์ž์‹ ์„ ์•Œ๋ผโ€์™€ ๊ฐ™์€ ๋ฉ”ํƒ€์ธ์ง€(์ž๊ธฐ ์„ฑ์ฐฐ)
    • ๋ฉ”ํƒ€-ํ•™์Šต (meta-learning)
      • ๊ธฐ๋ณธ ๋Œ€์ƒ: ํ•™์Šต(์ง€์‹์„ ๋ฐฐ์šฐ๋Š” ํ–‰์œ„)
      • ๋ฉ”ํƒ€ ์˜๋ฏธ: ํ•™์Šต์— ๋Œ€ํ•œ ํ•™์Šต(ํ•™์Šต ๋ฐฉ๋ฒ• ์ž์ฒด๋ฅผ ๋ฐฐ์šฐ๊ณ  ๊ฐœ์„ )
      • ์˜ˆ์‹œ: โ€œ์‹œ๊ฐ ์ž๋ฃŒ๋ฅผ ๋ณด๋ฉด ๋” ์ž˜ ์™ธ์šด๋‹คโ€๋ผ๋Š” ๋ณธ์ธ๋งŒ์˜ ํ•™์Šต ์ „๋žต์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ด ๋ฉ”ํƒ€ํ•™์Šต

(์ฐธ๊ณ ) ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ”ํƒ€-ํ”„๋กฌํ”„ํŒ…์ด๋ž€?

  • ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…(Meta-Prompting)์€ ๋ง ๊ทธ๋Œ€๋กœ โ€œํ”„๋กฌํ”„ํŠธ ์ž์ฒด๋ฅผ ๋‹ค๋ฃจ๋Š” ํ”„๋กฌํ”„ํŠธโ€๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    • aka, ํ”„๋กฌํ”„ํŒ…์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŒ…
  • ๋ณดํ†ต LLM์—๊ฒŒ โ€œ์ด ์ž‘์—…์„ ํ•ด์ค˜โ€๋ผ๊ณ  ์ง์ ‘ ์ง€์‹œํ•˜๋Š” ๋Œ€์‹ , โ€œ๋‚ด๊ฐ€ ๋งŒ๋“  ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ํšจ๊ณผ์ ์ด๊ฒŒ ๊ณ ์ณ์ค˜โ€ ๋˜๋Š” โ€œ์ด ๋ฌธ์ œ์— ๋งž๋Š” ์ตœ์ ์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ค˜โ€๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
    • ์ผ๋ฐ˜ ํ”„๋กฌํ”„ํŒ…: ๋ชจ๋ธ์— ์ง์ ‘ ํŠน์ • ์ž‘์—…์„ ์ง€์‹œ โ†’ โ€œ์ด ๊ธ€์„ ์š”์•ฝํ•ด์ค˜.โ€
    • ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…: ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์‹œ โ†’ โ€œ๋‚ด๊ฐ€ ์ค€ ๊ธ€์„ ์š”์•ฝํ•  ๋•Œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•ด์ค˜.โ€
  • ์ฆ‰, ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ์‚ฌ๋žŒ์ด ์ง์ ‘ ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, AI์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด ์—ญํ• ์„ ๋งก๊ธฐ๋Š” ๊ฑฐ์ฃ .
  • R - ์„ฑ์ฐฐ์ (Reflective):
    • ๊ฐ AI ์ƒํ˜ธ์ž‘์šฉ ํ›„์— ๋ฌด์—‡์ด ํšจ๊ณผ์ ์ด์—ˆ๊ณ  ๋ฌด์—‡์ด ๊ทธ๋ ‡์ง€ ์•Š์•˜๋Š”์ง€ ๊ฒ€ํ† ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€์„ธ์š”.
    • ์ด๋Š” ๋ชจ๋ธ๋ณด๋‹ค๋Š” ๋‹น์‹ (you)์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค - ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋กœ์„œ ์–ด๋–ค ํ”„๋กฌํ”„ํŠธ ํ‘œํ˜„์ด ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ๊ณ  ์–ด๋–ค ๊ฒƒ์ด ํ˜ผ๋ž€์„ ์ดˆ๋ž˜ํ–ˆ๋Š”์ง€ ์ฃผ๋ชฉํ•˜์„ธ์š”.
    • ๋ณต์žกํ•œ ์„ธ์…˜ ํ›„์—๋Š” AI์—๊ฒŒ ์ตœ์ข… ์†”๋ฃจ์…˜์ด๋‚˜ ์ถ”๋ก ์„ ์š”์•ฝํ•˜๋„๋ก ์š”์ฒญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
      (์•ž์—์„œ๋„ ์‚ด์ง ์–ธ๊ธ‰์€ ํ–ˆ์ง€๋งŒ, ๋’ค์— ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… ์ฑ•ํ„ฐ์—์„œ ๋…ผ์˜ํ•  ์˜ˆ์ •)
    • ์„ฑ์ฐฐ์ ์ด ๋˜๋Š” ๊ฒƒ์€ ๋ฏธ๋ž˜์— ๋” ๋‚˜์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, AI ์†Œํ†ต์—์„œ ์ง€์†์ ์ธ ๊ฐœ์„ ์˜ ์‚ฌ์ดํด์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ์ด๋Ÿฌํ•œ CLEAR: Concise, Logical, Explicit, Adaptive, Reflective ์›์น™๋“ค์„ ์—ผ๋‘์— ๋‘์„ธ์š”.

๋‹ค์Œ์œผ๋กœ๋Š” ๊ธฐ๋ณธ๋ถ€ํ„ฐ ๊ณ ๊ธ‰๊นŒ์ง€์˜ ํŠน์ • ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์—ฌ๊ธฐ์—๋Š” ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐํ™” ๋ฐฉ๋ฒ•๊ณผ AI๋ฅผ ํ˜‘๋ ฅ์ž๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŒ…์˜ ๋„ค ๋‹จ๊ณ„

ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŒ…์€ ์—ฐ์Šต์„ ํ†ตํ•ด ์„ฑ์žฅํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ๊ตฌ์กฐํ™”๋œ โ€œTraining Wheelsโ€(์ดํ•˜, ๋ณด์กฐ๋ฐ”ํ€ด)๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ๋ฉ”ํƒ€ ๊ธฐ๋ฒ•๊นŒ์ง€ ํ”„๋กฌํ”„ํŒ… ์ˆ™๋ จ๋„์˜ ๋„ค ๋‹จ๊ณ„๋ฅผ ๊ฐœ์š”๋กœ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ๊ณ ์œ ํ•œ USE CASE๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค - ํ•„์š”์— ๋”ฐ๋ผ ์กฐํ•ฉํ•˜์„ธ์š”:

https://youtu.be/IqWfKj4mUIo

1. ๊ตฌ์กฐํ™”๋œ โ€œ๋ณด์กฐ๋ฐ”ํ€ดโ€ ํ”„๋กฌํ”„ํŒ… (๋ช…์‹œ์  ํ˜•์‹)

์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋งค์šฐ ๋ณต์žกํ•œ ์ž‘์—…์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” ํ”„๋กฌํ”„ํŠธ์— ๋ผ๋ฒจ์ด ๋ถ™์€ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๋ณด์กฐ๋ฐ”ํ€ด ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿšฒ ์™œ โ€˜๋ณด์กฐ๋ฐ”ํ€ดโ€™์ผ๊นŒ?
โ€˜๋ณด์กฐ๋ฐ”ํ€ด ํ”„๋กฌํ”„ํŒ…โ€™์ด๋ผ๋Š” ๋ณ„์นญ์€ ์ดˆ๋ณด์ž๊ฐ€ ์ž์ „๊ฑฐ๋ฅผ ํƒˆ ๋•Œ ๋‹ฌ์•„์ฃผ๋Š” ์ž‘์€ ๋ฐ”ํ€ด์—์„œ ๋”ฐ์˜จ ๋ง์ž…๋‹ˆ๋‹ค.

  • ๋ณด์กฐ๋ฐ”ํ€ด๋Š” ๊ท ํ˜•์„ ์žก์•„์ฃผ์–ด ๋„˜์–ด์ง€์ง€ ์•Š๋„๋ก ๋•์ง€๋งŒ, ๊ฒฐ๊ตญ ๋ชฉํ‘œ๋Š” ๋ณด์กฐ๋ฐ”ํ€ด๋ฅผ ๋–ผ๊ณ  ์ž์œ ๋กญ๊ฒŒ ํƒ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ตฌ์กฐํ™”๋œ ํ”„๋กฌํ”„ํŒ…๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
  • ์ฒ˜์Œ์—๋Š” ๋งฅ๋ฝ(Context), ์ž‘์—…(Task), ๊ฐ€์ด๋“œ๋ผ์ธ(Guidelines), ์ œ์•ฝ์กฐ๊ฑด(Constraints) ๊ฐ™์€ ๋ผ๋ฒจ์„ ๋ถ™์—ฌ AI์—๊ฒŒ ๋ช…ํ™•ํ•œ ๊ธธ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๊ฐ€ ์—‰๋šฑํ•œ ๊ธธ๋กœ ์ƒˆ๋Š” ๊ฑธ ๋ง‰๊ณ , ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ โ€˜๊ท ํ˜• ์žกํžŒโ€™ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lovable์—์„œ ๊ฒ€์ฆ๋œ ํ˜•์‹์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

  • Context: AI๋ฅผ ์œ„ํ•œ ๋ฐฐ๊ฒฝ์ด๋‚˜ ์—ญํ•  ์„ค์ •.
    (์˜ˆ: โ€œ๋‹น์‹ ์€ ์„ธ๊ณ„์  ์ˆ˜์ค€์˜ Lovable AI ์ฝ”๋”ฉ ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹ค.โ€)
  • Task: ๋‹ฌ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๋ชฉํ‘œ.
    (์˜ˆ: โ€œ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ๊ณผ ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”๊ฐ€ ์žˆ๋Š” ํ’€์Šคํƒ ํ•  ์ผ ๋ชฉ๋ก ์•ฑ์„ ๊ตฌ์ถ•ํ•˜์„ธ์š”.โ€)
  • Guidelines: ์„ ํ˜ธํ•˜๋Š” ์ ‘๊ทผ๋ฒ•์ด๋‚˜ ์Šคํƒ€์ผ.
    (์˜ˆ: โ€œํ”„๋ก ํŠธ์—”๋“œ๋Š” React, ์Šคํƒ€์ผ๋ง์€ Tailwind, ์ธ์ฆ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” Supabase๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.โ€)
  • Constraints: ์—„๊ฒฉํ•œ ์ œํ•œ์‚ฌํ•ญ์ด๋‚˜ ๊ธˆ์ง€์‚ฌํ•ญ.
    (์˜ˆ: โ€œ์œ ๋ฃŒ API๋Š” ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ์•ฑ์€ ๋ชจ๋ฐ”์ผ๊ณผ ๋ฐ์Šคํฌํ†ฑ์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€)

๊ฐ ๋ถ€๋ถ„์„ ๋ช…ํ™•ํžˆ ๋ผ๋ฒจ๋งํ•จ์œผ๋กœ์จ ์˜คํ•ด์˜ ์—ฌ์ง€๋ฅผ ๊ฑฐ์˜ ๋‚จ๊ธฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กฌํ”„ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1
2
3
4
5
# ํ•œ๊ธ€ ํ”„๋กฌํ”„ํŠธ
Context: ๋‹น์‹ ์€ Lovable์„ ์‚ฌ์šฉํ•˜๋Š” ์ „๋ฌธ ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.
Task: Supabase๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ React์—์„œ ์•ˆ์ „ํ•œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”(์ด๋ฉ”์ผ/๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ).
Guidelines: UI๋Š” ๋ฏธ๋‹ˆ๋ฉ€ํ•ด์•ผ ํ•˜๋ฉฐ Tailwind CSS ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ฝ”๋“œ ์ฃผ์„์„ ์ œ๊ณตํ•˜์„ธ์š”.
Constraints: `LoginPage` ์ปดํฌ๋„ŒํŠธ๋งŒ ์ˆ˜์ •ํ•˜๊ณ  ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์„ธ์š”. ์ตœ์ข… ์ถœ๋ ฅ์€ Lovable ์—๋””ํ„ฐ์—์„œ ์ž‘๋™ํ•˜๋Š” ํŽ˜์ด์ง€์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
1
2
3
4
5
# ์˜์–ด ํ”„๋กฌํ”„ํŠธ
Context: You are an expert full-stack developer using Lovable.
Task: Create a secure login page in React using Supabase (email/password auth).
Guidelines: The UI should be minimalistic, and follow Tailwind CSS conventions. Provide clear code comments for each step.
Constraints: Only modify the LoginPage component; do not change other pages. Ensure the final output is a working page in the Lovable editor.

์ง์ ‘ ์‹คํ—˜ํ•œ ์ด๋ฏธ์ง€ - 1๋‹จ๊ณ„

์ด ์ˆ˜์ค€์˜ ์„ธ๋ถ€์‚ฌํ•ญ์€ AI๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ๋ณด์กฐ๋ฐ”ํ€ด ํ”„๋กฌํ”„ํŒ…์€ ์ดˆ๋ณด์ž๋‚˜ ๋ณต์žกํ•œ ๋‹ค์ค‘ ๋ถ€๋ถ„ ์ž‘์—…(multi-part tasks)์— ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค - ์ •ํ™•ํžˆ ๋ฌด์—‡์ด ํ•„์š”ํ•œ์ง€ ์ƒ๊ฐํ•˜๋„๋ก ๊ฐ•์ œํ•˜๊ณ , ์š”์ฒญ์„ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ๋ชจ๋ธ์„ ๋„์™€์ค๋‹ˆ๋‹ค.

2. ๋Œ€ํ™”ํ˜• ํ”„๋กฌํ”„ํŒ… (๋ณด์กฐ๋ฐ”ํ€ด ์—†์Œ)

์ต์ˆ™ํ•ด์ง€๋ฉด ํ•ญ์ƒ ๊ทธ๋ ‡๊ฒŒ ์—„๊ฒฉํ•œ ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ํ”„๋กฌํ”„ํŒ…์€ ์—ฌ์ „ํžˆ ๋ช…ํ™•์„ฑ๊ณผ ์™„์ „์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๊ณต์‹์ ์ธ ๋ผ๋ฒจ ์—†์ด ๋™๋ฃŒ์—๊ฒŒ ์ž‘์—…์„ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ AI์—๊ฒŒ ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

1
2
3
4
5
# ํ•œ๊ธ€ ํ”„๋กฌํ”„ํŠธ
1. ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ•ด๋ด…์‹œ๋‹ค. 
2. ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ž…๋ ฅ๊ณผ ์ œ์ถœ ๋ฒ„ํŠผ์ด ์žˆ๋Š” ์–‘์‹์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 
3. ์ œ์ถœ๋˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ Supabase storage์— ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 
4. ์ด์— ํ•„์š”ํ•œ React ์ปดํฌ๋„ŒํŠธ์™€ ๋ฐฑ์—”๋“œ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์‹œ๊ณ , ์˜ค๋ฅ˜(ํŒŒ์ผ์ด ๋„ˆ๋ฌด ํฐ ๊ฒฝ์šฐ ๋“ฑ)๋ฅผ ์šฐ์•„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ด์ฃผ์„ธ์š”.
1
2
3
4
5
# ์˜์–ด ํ”„๋กฌํ”„ํŠธ
1. Letโ€™s build a feature to upload a profile picture. 
2. It should include a form with an image file input and a submit button. 
3. When submitted, it should store the image in Supabase storage and update the user profile. 
4. Please write the necessary React component and any backend function needed for this, and ensure to handle errors (like file too large) gracefully.

์ง์ ‘ ์‹คํ—˜ํ•œ ์ด๋ฏธ์ง€ - 2๋‹จ๊ณ„

์ด๋Š” ์•ž์„œ ๋ณธ 1๋‹จ๊ณ„๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ์ž์œ ๋กœ์šด ํ˜•์‹์˜ ํ”„๋กฌํ”„ํŠธ์ด์ง€๋งŒ, ์—ฌ์ „ํžˆ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋…ผ๋ฆฌ์  ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ช…ํ™•ํžˆ ์ œ์‹œํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋Œ€ํ™”ํ˜• ํ”„๋กฌํ”„ํŠธ๋Š” ์ค‘์š”ํ•œ ์„ธ๋ถ€์‚ฌํ•ญ์„ ๋น ๋œจ๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์‹ ๋ขฐํ•  ๋•Œ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠนํžˆ ๊ฒฐ๊ณผ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ˆ˜์ •ยท๋ฐ˜๋ณตํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” ์ƒํ˜ธ์ž‘์šฉ์„ ๋ณด๋‹ค ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์Šคํƒ€์ผ์€ ๋น ๋ฅธ ์ž‘์—…์„ ํ•˜๊ฑฐ๋‚˜, ์ด๋ฏธ AI๊ฐ€ ํ•„์š”ํ•œ ๋งฅ๋ฝ์„ ์ถฉ๋ถ„ํžˆ ์ดํ•ดํ•˜๊ณ  ์žˆ์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ์Šคํƒ€์ผ์ด๋ผ๋„ ์š”์ฒญ ๋‚ด์šฉ์„ ๋‹จ๋ฝ์ด๋‚˜ ๋ถˆ๋ฆฟ ํฌ์ธํŠธ๋กœ ๋‚˜๋ˆ„์–ด ๊ตฌ์กฐ๊ฐ์„ ํ‰๋‚ด๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ๋Š” ๋ช…ํ™•ํ•œ ์†Œํ†ต์ด๋ผ๋Š” ์ ์—์„œ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

3. ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… (AI ์ง€์› ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„ )

๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…์€ ๋ง ๊ทธ๋Œ€๋กœ, โ€œAI์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ๋‹ค๋“ฌ๊ฑฐ๋‚˜ ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ๋ฐ ๋„์›€์„ ์š”์ฒญํ•˜๋Š” ๊ณ ๊ธ‰ ๊ธฐ๋ฒ•โ€์ž…๋‹ˆ๋‹ค. Lovable์˜ AI(ChatGPT์™€ ๊ฐ™์€)๋Š” ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ง€์‹œ๋ฌธ์„ ๋” ์ •๊ตํ•˜๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿค” ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…์˜ ์ •์˜ - ์œ„์— ์†Œ๊ฐœํ•œ <ํ•ต์‹ฌ ํ”„๋กฌํ”„ํŒ… ์›์น™: C.L.E.A.R. ํ”„๋ ˆ์ž„์›Œํฌ> ์ฑ•ํ„ฐ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

์ด ๋ฐฉ๋ฒ•์€ ํŠนํžˆ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅธ ์ถœ๋ ฅ์„ ๋ฐ›์•˜์„ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋Œ€๊ฐœ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋ชจํ˜ธํ•˜๊ฑฐ๋‚˜ ๋ถˆ์ถฉ๋ถ„ํ–ˆ๋‹ค๋Š” ์‹ ํ˜ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ๋Š”, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ ๊ฐœ์„ ์„ ์‹œ๋„ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.:

1
2
3
4
5
6
# ๋ฐฉ๋ฒ• - 1
๋‚ด ๋งˆ์ง€๋ง‰ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ๋ชจํ˜ธํ•˜๊ฑฐ๋‚˜ ๋น ์ง„ ๋ถ€๋ถ„์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ์ฃผ์„ธ์š”. 
๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋‹ค์‹œ ์“ฐ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

Review my last prompt and identify any ambiguity or missing info. 
How can I rewrite it to be more concise and precise?
1
2
3
4
5
6
# ๋ฐฉ๋ฒ• - 2
์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ๊ตฌ์ฒด์ ์ด๊ณ  ์ƒ์„ธํ•˜๊ฒŒ ๋‹ค์‹œ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”: 
โ€˜Supabase๋ฅผ ์‚ฌ์šฉํ•ด React์—์„œ ์—ญํ•  ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ ๋ณด์žฅํ•˜๋Š” ์•ˆ์ „ํ•œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ผ.โ€™

Rewrite this prompt to be more specific and detailed: 
โ€˜Create a secure login page in React using Supabase, ensuring role-based authentication.

AI๋Š” ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋” ๊ตฌ์กฐํ™”๋˜๊ณ  ๊ตฌ์ฒด์ ์ธ ๋ฒ„์ „์„ ์ œ์‹œํ•ด ์ค„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์›๋ž˜ ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ถˆ๋ถ„๋ช…ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ AI๋ฅผ ํ”„๋กฌํ”„ํŠธ ํŽธ์ง‘์ž๋กœ ํ™œ์šฉํ•˜๋Š” ์…ˆ์ž…๋‹ˆ๋‹ค.

Lovable์—์„œ๋Š” ์ด๋ฅผ Chat mode์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค - ์ฑ„ํŒ…/ํ† ์˜ ๋ชฉ์ ์˜ ๋ชจ๋“œ)

๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…์€ AI๋ฅผ ๋‹จ์ˆœํ•œ ์‘๋‹ต์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ•จ๊ป˜ ๋” ๋‚˜์€ ์งˆ๋ฌธ์„ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ํ˜‘๋ ฅ์ž๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค.

  • ๋•๋ถ„์— ์ž์‹ ์ด ๋ฏธ์ฒ˜ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ•œ ๊ฐœ์„ ์ ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๋Šฅ๋ ฅ์„ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅ์‹œํ‚ค๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

4. ์—ญ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… (๋ฌธ์„œํ™” ๋„๊ตฌ๋กœ์„œ์˜ AI)

์—ญ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…(Reverse meta prompting)์€ ์šฐ๋ฆฌ๊ฐ€ ์ฑ„ํŒ…/์ฝ”๋”ฉ ๋“ฑ์˜ ์ž‘์—…์„ ๋๋‚ธ ๋’ค, AI์—๊ฒŒ ๊ทธ ๊ณผ์ •์„ ์š”์•ฝํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œํ™”ํ•˜๋„๋ก ํ•˜์—ฌ ๋‚˜์ค‘์— ํ•™์Šตํ•˜๊ฑฐ๋‚˜ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•ด, AI์—๊ฒŒ โ€œ๋ฐฉ๊ธˆ ๊ณผ์ •์„ ๋˜์งš๊ณ  ๋‹ค์Œ๋ฒˆ์„ ์œ„ํ•œ ์„ค๋ช…์ด๋‚˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‹ฌ๋ผโ€๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด์ฃ . ์ด๋Š” ํŠนํžˆ ๋””๋ฒ„๊น…๊ณผ ์ง€์‹ ์ถ•์ ์— ๊ฐ•๋ ฅํ•œ ํšจ๊ณผ๋ฅผ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Lovable์—์„œ ๊นŒ๋‹ค๋กœ์šด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ํ›„ ์ด๋ ‡๊ฒŒ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์š”์ฒญ ์˜ˆ์‹œ

1
2
์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๊ฐ€ JWT(Json Web Token) ์ธ์ฆ์„ ์„ค์ •ํ•˜๋ฉด์„œ ๊ฒช์€ ์˜ค๋ฅ˜๋ฅผ ์š”์•ฝํ•˜๊ณ , ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. 
๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋„๋ก, ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

AI๋Š” ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๊ฐ„๊ฒฐํžˆ ์ •๋ฆฌํ•œ ๋’ค, โ€œContext: building authโ€ฆ Task: avoid X error by doing Yโ€ฆโ€ (Context: ์ธ์ฆ ๊ตฌ์ถ•โ€ฆ Task: Y๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ X ์˜ค๋ฅ˜ ๋ฐฉ์ง€โ€ฆ) ์™€ ๊ฐ™์€ ํ…œํ”Œ๋ฆฟ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กฌํ”„ํŠธ์™€ ๊ตํ›ˆ์˜ ๊ฐœ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์Œ“์ž…๋‹ˆ๋‹ค.

์ถœ๋ ฅ ์˜ˆ์‹œ

1
2
3
4
5
6
Context: JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ React + Supabase๋กœ ๊ตฌ์ถ•
Task: 
  - .env์— ์˜ฌ๋ฐ”๋ฅธ JWT ์‹œํฌ๋ฆฟ ํ‚ค ์„ค์ •
  - Supabase auth ๋ชจ๋“ˆ์„ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ๋กœ๊ทธ์ธ ์š”์ฒญ ์ •์ƒํ™”
Constraint: 
  - ๋ณด์•ˆ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” git์— ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ํ•  ๊ฒƒ

์ด ์ ‘๊ทผ๋ฒ•์€ Lovable์—์„œ ํŠนํžˆ ๋น›์„ ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋น„์Šทํ•œ ์ž‘์—…์„ ๋งˆ์ฃผํ–ˆ์„ ๋•Œ, ์ด๋ฏธ ๊ฒ€์ฆ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ทธ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜ ์ตœ์†Œํ•œ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ช…ํ™•ํ•œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ–๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์‹ค๋ฌด์—์„œ ๊ธˆ ๊ฐ™์€ ์ž์‚ฐ์ด ๋˜๋Š” ์…ˆ์ด์ฃ .

๋˜ ๋‹ค๋ฅธ ์˜ˆ๋กœ, API ํ˜ธ์ถœ์ด ์‹คํŒจํ•œ ์ด์œ ๋ฅผ ํ•œ ์‹œ๊ฐ„ ๋™์•ˆ ๋””๋ฒ„๊น…ํ–ˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

์š”์ฒญ ์˜ˆ์‹œ

1
API ํ˜ธ์ถœ์ด ์‹คํŒจํ•œ ์ด์œ ์™€ ํ•ด๊ฒฐ ๊ณผ์ •์„ ์ •๋ฆฌํ•˜๊ณ , ์•ž์œผ๋กœ ๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ์งํ›„ AI์—๊ฒŒ ๊ทธ ๊ณผ์ •์„ ๋ฌธ์„œํ™”ํ•˜๋„๋ก ์š”์ฒญํ•˜๋ฉด, ์ž์‹ ์˜ ์ดํ•ด๋ฅผ ๊ฐ•ํ™”ํ•˜๋Š” ๋™์‹œ์— Knowledge Base๋‚˜ ํ–ฅํ›„ ํ”„๋กœ์ ํŠธ์— ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ž๋ฃŒ๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋•๋ถ„์— ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋˜ํ’€์ดํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์ฃ .

์ถœ๋ ฅ ์˜ˆ์‹œ

1
2
3
4
5
6
Context: ์™ธ๋ถ€ REST API ํ˜ธ์ถœ
Task: 
  - ์š”์ฒญ ์‹œ ๋ฐ˜๋“œ์‹œ "Content-Type": "application/json" ํ—ค๋” ํฌํ•จ
  - ์ตœ์‹  API ํ‚ค๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์ €์žฅ ํ›„ ์ฐธ์กฐ
Constraint: 
  - ํ‚ค๋Š” ์ ˆ๋Œ€ ์ฝ”๋“œ์— ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ์•Š์„ ๊ฒƒ

๊ณ ๊ธ‰ ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•

๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์ตํ˜”๋‹ค๋ฉด, ์ด์ œ Lovable์˜ AI๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋” ๊ณ ๊ธ‰ ์ „๋žต์„ ํ™œ์šฉํ•  ๋•Œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•๋“ค์€ ๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , (ํ™˜๊ฐ๊ณผ ๊ฐ™์€) ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๋ฉฐ, AI์˜ ์ถœ๋ ฅ์„ ํ•„์š”์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Zero-Shot vs. Few-Shot ํ”„๋กฌํ”„ํŒ…

  • Zero-Shot ํ”„๋กฌํ”„ํŒ…์€ ์˜ˆ์‹œ ์—†์ด ๋ชจ๋ธ์—๊ฒŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ์ผ๋ฐ˜์ ์ธ ํ›ˆ๋ จ์— ์˜์กดํ•˜์—ฌ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กฌํ”„ํŠธ์˜ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค: ์š”์ฒญ์„ ๋ช…์‹œํ•˜๋ฉด AI๊ฐ€ ํ”„๋กฌํ”„ํŠธ์—์„œ โ€œ์•„๋Š”โ€ ๊ฒƒ๊ณผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋ถ€ํ„ฐ ์ˆœ์ „ํžˆ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • Zero-shot์€ ํšจ์œจ์ ์ด๊ณ  ์ž‘์—…์ด ์ผ๋ฐ˜์ ์ด๊ฑฐ๋‚˜ ๋ช…ํ™•ํžˆ ์„ค๋ช…๋œ ๊ฒฝ์šฐ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด: โ€œ๋‹ค์Œ ๋ฌธ์žฅ์„ ์ŠคํŽ˜์ธ์–ด๋กœ ๋ฒˆ์—ญํ•˜์„ธ์š”: โ€˜I am learning to code.โ€™โ€œ๋Š” zero-shot ํ”„๋กฌํ”„ํŠธ์ž…๋‹ˆ๋‹ค - ๊ฐ„๋‹จํ•œ ๋ช…๋ น์ด๋ฉฐ, AI๋Š” ์ง€์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค(์˜ˆ์‹œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Œ).
  • Few-Shot ํ”„๋กฌํ”„ํŒ…์€ ํ”„๋กฌํ”„ํŠธ์— ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ๋‚˜ ์‹œ์—ฐ์„ ์ œ๊ณตํ•˜์—ฌ AI์—๊ฒŒ ์›ํ•˜๋Š” ํ˜•์‹์ด๋‚˜ ์Šคํƒ€์ผ์„ ์ •ํ™•ํžˆ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

    • ๋ณธ์งˆ์ ์œผ๋กœ ํ”„๋กฌํ”„ํŠธ ์ž์ฒด์—์„œ ์˜ˆ์‹œ๋กœ ๊ฐ€๋ฅด์น˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ํ˜•์‹์ด๋‚˜ ์ž‘์—…์ด ํŠน์ดํ•  ๋•Œ ์ถœ๋ ฅ ํ’ˆ์งˆ์„ ๊ทน์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Few-shot ํ”„๋กฌํ”„ํŠธ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
    • ๋‹ค์Œ ๋ฌธ์žฅ๋“ค์˜ ๋ฌธ๋ฒ•์„ ์ˆ˜์ •ํ•˜์„ธ์š”:
      • Input: โ€œthe code not working goodโ€ โ†’ Output: โ€œThe code is not working well.โ€
      • Input: โ€œAPI give error in loginโ€ โ†’ Output: โ€œThe API gives an error during login.โ€
      • Input: โ€œuser not found in databaseโ€ โ†’ Output: โ“

๋‘ ๊ฐ€์ง€ ์ž…๋ ฅ-์ถœ๋ ฅ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ AI๋Š” ์„ธ ๋ฒˆ์งธ์— ๋Œ€ํ•ด ๋น„์Šทํ•œ ํŒจํ„ด์œผ๋กœ ๊ณ„์†ํ•˜๋„๋ก ์ค€๋น„๋ฉ๋‹ˆ๋‹ค. Few-shot ํ”„๋กฌํ”„ํŒ…์€ ํŠน์ • ์‘๋‹ต ์Šคํƒ€์ผ์ด ํ•„์š”ํ•  ๋•Œ(์˜ˆ: ํŠน์ • ํ˜•์‹์˜ ์ฝ”๋“œ ์ฃผ์„์ด๋‚˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ) Lovable์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ํ”„๋กฌํ”„ํŠธ ํ† ํฐ์„ ์†Œ๋ชจํ•˜์ง€๋งŒ(๊ทธ ์˜ˆ์‹œ๋“ค์„ ํฌํ•จํ•˜๊ธฐ ๋•Œ๋ฌธ) ์ข…์ข… ๋” ์ผ๊ด€๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค” ์–ธ์ œ ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ?
๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๋‚˜ ๋ชจ๋ธ์˜ ๋‚ด์žฅ ๋Šฅ๋ ฅ์„ ์‹ ๋ขฐํ•  ๋•Œ๋Š” ๋จผ์ € zero-shot์„ ์‹œ๋„ํ•˜์„ธ์š”. ๊ฒฐ๊ณผ๊ฐ€ ์›ํ•˜๋Š” ํ˜•์‹์ด๋‚˜ ๊นŠ์ด๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์˜ˆ์‹œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ few-shot์œผ๋กœ ์ „ํ™˜ํ•˜์„ธ์š”.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•จ์ˆ˜๋ฅผ ์š”์ฒญํ–ˆ๋Š”๋ฐ ์ถœ๋ ฅ์ด ์„ ํ˜ธํ•˜๋Š” ์Šคํƒ€์ผ์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ข‹์•„ํ•˜๋Š” ์Šคํƒ€์ผ์˜ ์˜ˆ์‹œ ํ•จ์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๋‹ค์‹œ ํ”„๋กฌํ”„ํŠธํ•˜์„ธ์š”.
    • Few-shot์€ ๋ณต์žกํ•œ ์ถœ๋ ฅ(ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ์ฒ˜๋Ÿผ - ํ•˜๋‚˜์˜ ์ƒ˜ํ”Œ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•œ ๋‹ค์Œ ๋” ๋งŽ์ด ์ž‘์„ฑํ•˜๋„๋ก ์š”์ฒญ)์—์„œ ๋น›๋‚ฉ๋‹ˆ๋‹ค.
  • ์š”์•ฝํ•˜๋ฉด, ๋น ๋ฅธ ์ง์ ‘ ๋‹ต๋ณ€์—๋Š” zero-shot, ์ œ์–ด๋œ ์Šคํƒ€์ผ์ด๋‚˜ ๋ณต์žกํ•œ ์ง€์‹œ์‚ฌํ•ญ์—๋Š” few-shot.

ํ™˜๊ฐ ๊ด€๋ฆฌ ๋ฐ ์ •ํ™•์„ฑ ๋ณด์žฅ

๋ชจ๋ธ์ด ์ •ํ™•ํ•˜์ง€ ์•Š์€ ์ •๋ณด๋‚˜ ์ฝ”๋“œ๋ฅผ ์ž์‹  ์žˆ๊ฒŒ ์œ ์ €(์š”์ฒญ์ž)์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์šฐ๋ฆฌ๋Š” AIํ™˜๊ฐ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Lovable๊ณผ ๊ฐ™์€ ์ฝ”๋”ฉ ํ”Œ๋žซํผ์—์„œ ํ™˜๊ฐ์€?
AI๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์กด์žฌํ•˜์ง€ ์•Š๋Š” API๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜, ์š”์•ฝ์—์„œ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ(AI์˜ ํ•œ๊ณ„์ž„), ํ™˜๊ฐ์„ ์ค„์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กฌํ”„ํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ์ฐธ๊ณ )

โœ… 1. ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ œ๊ณต

์ „๋žต:

  • AI๊ฐ€ ์ถ”์ธกํ•˜์ง€ ์•Š๋„๋ก Knowledge Base์— ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ํ™˜๊ฐ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

  • PRD์— โ€œ์•ฑ์€ Next.js์™€ Prisma ORM์„ ์‚ฌ์šฉํ•œ๋‹คโ€๋ฅผ ํฌํ•จ์‹œํ‚จ ๋’ค,

    1
    2
    
    "Prisma ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž ๋“ฑ๋ก API๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์•„๋ž˜๋Š” User ๋ชจ๋ธ ์ •์˜์ž…๋‹ˆ๋‹ค: 
    model User { id Int @id @default(autoincrement()) email String @unique password String }"
    

    โ†’ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ORM ๋ฉ”์„œ๋“œ๋ฅผ ๋ฐœ๋ช…ํ•˜์ง€ ์•Š์Œ.


โœ… 2. ํ”„๋กฌํ”„ํŠธ ๋‚ด ์ฐธ์กฐ

์ „๋žต:

  • ์‹ค์ œ API ์‘๋‹ต ์˜ˆ์‹œ๋ฅผ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จ์‹œ์ผœ, ํ™˜๊ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
3
4
5
6
7
์•„๋ž˜ ์ œ๊ณต๋œ JSON ์‘๋‹ต์„ ์‚ฌ์šฉํ•˜์—ฌ User ๊ฐ์ฒด๋ฅผ ํŒŒ์‹ฑํ•˜๋Š” TypeScript ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”:

{
  "id": 1,
  "name": "Alice",
  "email": "alice@example.com"
}

โ†’ ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์คŒ์œผ๋กœ์จ AI๊ฐ€ ์ž˜๋ชป๋œ ํ•„๋“œ๋ช…(์˜ˆ: username)์„ ์ง€์–ด๋‚ด์ง€ ์•Š์Œ.


โœ… 3. ๋‹จ๊ณ„๋ณ„ ์ถ”๋ก  ์š”์ฒญ

์ „๋žต:

  • ์ตœ์ข… ์ฝ”๋“œ ์ „์— ์ ‘๊ทผ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒŒ ํ•ด์„œ, ํ™˜๊ฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
Postgres์—์„œ ํŠน์ • ๋‚ ์งœ ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. 
์ตœ์ข… ์ฟผ๋ฆฌ๋ฅผ ์ฃผ๊ธฐ ์ „์— ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๊ณ , ๋ถˆํ™•์‹คํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ๋จผ์ € ์งš์–ด์ฃผ์„ธ์š”.

โ†’ AI๊ฐ€ ๋ง‰๋ฌด๊ฐ€๋‚ด๋กœ SQL์„ ๋‚ด๋†“์ง€ ์•Š๊ณ , WHERE date BETWEEN ... ๊ฐ™์€ ๋กœ์ง์„ ๋จผ์ € ์„ค๋ช…ํ•ด์คŒ.


โœ… 4. ์ •์งํ•จ ์ง€์‹œ

์ „๋žต:

  • ์ž˜ ๋ชจ๋ฅผ ๋•Œ ๊พธ๋ฉฐ๋‚ด์ง€ ๋ง๋ผ๊ณ  ์ง์ ‘์ ์œผ๋กœ ๋ช…์‹œํ•ด์ฃผ์–ด, ํ™˜๊ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
๋งŒ์•ฝ ์ •ํ™•ํ•œ ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ํ™•์‹ ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด, ์ž„์˜๋กœ ๋งŒ๋“ค์ง€ ๋ง๊ณ  ์–ด๋–ค ๋ฌธ์„œ๊ฐ€ ํ•„์š”ํ•œ์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”. 
์ž˜๋ชป๋œ ์ฝ”๋“œ ๋Œ€์‹  "ํ™•์‹ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค"๋ผ๊ณ  ๋‹ตํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.

โ†’ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๊ฐ€ โ€œfetchUserData ํ•จ์ˆ˜๋Š” ์ •ํ™•ํžˆ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
(eg. API ๋ฌธ์„œ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹คโ€๋ผ๊ณ  ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ์Œ.)


โœ… 5. ๋ฐ˜๋ณต์  ๊ฒ€์ฆ

์ „๋žต:

  • ๋‹ต๋ณ€ ํ›„ ๊ฒ€ํ† ๋ฅผ ํ•˜๋„๋ก ์š”์ฒญํ•˜๋ฉด, ํ™˜๊ฐ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™˜๊ฐ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ์ด๋ฅผ ์žก์•„๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
์œ„์—์„œ ์ž‘์„ฑํ•œ ๋กœ๊ทธ์ธ ํ•จ์ˆ˜ ์ฝ”๋“œ๊ฐ€ ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ(๋น„๋ฐ€๋ฒˆํ˜ธ ํ•ด์‹œ, SQL ์ธ์ ์…˜ ๋ฐฉ์ง€)์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ๊ฒ€ํ† ํ•ด ์ฃผ์„ธ์š”. 
๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

โ†’ AI๊ฐ€ ์ž๊ธฐ ์ถœ๋ ฅ์„ ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๋ฉด์„œ ๋ณด์™„ ํฌ์ธํŠธ๋ฅผ ์•Œ๋ ค์คŒ.

Lovable์—์„œ ํ™˜๊ฐ์€ ๋˜ํ•œ AI๊ฐ€ ์š”์ฒญํ•˜์ง€ ์•Š์€ ํŒŒ์ผ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์˜๋„๋˜์ง€ ์•Š์€ ์ฐฝ์˜์  ์ž์œ ๋ฅผ ์ทจํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, ํ•ญ์ƒ AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ •์ƒ์„ฑ ํ™•์ธํ•˜์„ธ์š”.
(Always review AI-generated code for sanity.)

๋ญ”๊ฐ€ ๋„ˆ๋ฌด โ€œ๋งˆ๋ฒ•์ โ€์ด๊ฑฐ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒƒ ๊ฐ™๋‹ค๋ฉด ์˜๋ฌธ์„ ์ œ๊ธฐํ•˜์„ธ์š”. ์ด๋Ÿฌํ•œ ์ „๋žต์œผ๋กœ ํ™˜๊ฐ์„ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ œ์–ด๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์ •ํ™•์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ์ธ์‚ฌ์ดํŠธ ํ™œ์šฉ (AI ๋„๊ตฌ ์•Œ๊ธฐ)

๋ชจ๋“  AI ๋ชจ๋ธ์ด ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ๊ฐ™์€ ๋ชจ๋ธ์ด๋ผ๋„ ์„ค์ •์— ๋”ฐ๋ผ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ˆ˜์ค€์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค๋ฉด, Lovable์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋“ค์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ• ์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

  • Chat Mode vs Default Mode:
    ํ˜„์žฌ Lovable์—๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Chat mode(๋Œ€ํ™”ํ˜• AI ์–ด์‹œ์Šคํ„ดํŠธ)์™€ Default/Editor mode(์‹ค์ œ๋กœ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ ์šฉ). ๊ฐ ๋ชจ๋“œ๋Š” ๋ชฉ์ ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ์ ์ ˆํžˆ ๊ตฌ๋ถ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

    • Chat Mode๋Š” ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ, ๋””์ž์ธ ๋…ผ์˜, ๋””๋ฒ„๊น…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” AI๊ฐ€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ , ์•„์ด๋””์–ด๋‚˜ ๋ถ„์„์„ ์ž์œ ๋กญ๊ฒŒ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

      • ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ค๋ฅ˜ ๋กœ๊ทธ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  _โ€œ์ด ์˜ค๋ฅ˜ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ค˜โ€_๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด, AI๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ œ ์›์ธ์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Default Mode๋Š” ์‹ค์ œ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์ด๋ ‡์Šต๋‹ˆ๋‹ค: Chat mode์—์„œ ์•„์ด๋””์–ด๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๋’ค, ๊ณ„ํš์ด ๋ช…ํ™•ํ•ด์ง€๋ฉด Default mode๋กœ ์ „ํ™˜ํ•ด ๊ฐ„๋‹จํ•œ ํ”„๋กฌํ”„ํŠธ๋กœ ๋ฐ”๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. (Default mode๋Š” ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.)

  • ์–ด๋–ค ๋ชจ๋“œ๋ฅผ ์–ธ์ œ ์“ธ์ง€ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๊ฐœ๋ฐœ ํ๋ฆ„์„ ํ›จ์”ฌ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ† ํฐ ๊ธธ์ด์™€ ์‘๋‹ต: ์‘๋‹ต์˜ ๊ธธ์ด๋ฅผ ํ•ญ์ƒ ์˜์‹ํ•˜์„ธ์š”.

    • ๋„ˆ๋ฌด ํฐ ์ถœ๋ ฅ(์˜ˆ: ์ „์ฒด ์ฝ”๋“œ ๋ชจ๋“ˆ)์„ ํ•œ ๋ฒˆ์— ์š”์ฒญํ•˜๋ฉด ํ† ํฐ ์ œํ•œ ๋•Œ๋ฌธ์— ๋‹ต๋ณ€์ด ์ž˜๋ฆฌ๊ฑฐ๋‚˜ ๋‚ด์šฉ์ด ๋’ค์„ž์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. => ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์ž‘์—…์„ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๋Š” ๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด โ€œํ•œ ๋ฒˆ์— ํ•จ์ˆ˜ ํ•˜๋‚˜์”ฉ ์ž‘์„ฑโ€ ๊ฐ™์€ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค (e.g., generate code for one function at a time).
    • ๋˜ํ•œ, Lovable์˜ ์ฑ„ํŒ…์ด๋‚˜ ํ”„๋กฌํ”„ํŠธ UI๋Š” ์ถœ๋ ฅ์ด ์ž˜๋ ธ์„ ๋•Œ ๊ฒฝ๊ณ ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ๋„ ํ•˜๋Š”๋ฐ, ์ด๋Š” ๊ณง โ€œ๋‚จ์€ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ๋ถ„ํ• ํ•ด์•ผ ํ•œ๋‹คโ€๋Š” ์‹ ํ˜ธ๋กœ ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ํ˜•์‹ ๋ฐ ์ฝ”๋“œ ์„ ํ˜ธ์‚ฌํ•ญ: AI๋Š” ๋ช…์‹œ๋œ ํ˜•์‹์„ ์ž˜ ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

    • ์˜ˆ๋ฅผ ๋“ค์–ด โ€œ๋งˆํฌ๋‹ค์šด ํ˜•์‹์œผ๋กœ ์ฝ”๋“œ ์ถœ๋ ฅํ•ด์ค˜โ€๋ผ๋“ ๊ฐ€ โ€œ์ด ํ”„๋กœ์ ํŠธ์˜ ESLint ๊ทœ์น™์„ ์ง€์ผœ์ค˜โ€๋ผ๊ณ  ์•Œ๋ ค์ฃผ๋ฉด ๊ทธ๋Œ€๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. (eg. โ€œoutput code in markdown formatโ€ or โ€œfollow the projectโ€™s ESLint rulesโ€)
    • ๋ฐ˜๋Œ€๋กœ ์•„๋ฌด ๋ง๋„ ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ์ ํŠธ์˜ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ AI๊ฐ€ ์Šค์Šค๋กœ ์ง์ž‘ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
      • ๋ณ€์ˆ˜๋ช… ๊ทœ์น™์ด๋‚˜ ํŠน์ • ์ฝ”๋“œ ํŒจํ„ด์„ ์„ ํ˜ธํ•œ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ”„๋กฌํ”„ํŠธ์— ์ ์–ด๋‘์„ธ์š”.
    • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด(์ฑ„ํŒ…์ด ๊ธธ์–ด์งˆ์ˆ˜๋ก) AI๊ฐ€ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ์Šคํƒ€์ผ์„ ํ•™์Šตํ•ด ๋ชจ๋ฐฉํ•˜์ง€๋งŒ, ํ”„๋กฌํ”„ํŠธ์—์„œ ๊ฐ€๋ณ๊ฒŒ ๋ฆฌ๋งˆ์ธ๋“œํ•ด ์ฃผ๋ฉด ์ •๋ ฌ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด, AI๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ๋ณธ์งˆ์ ์œผ๋กœ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ๋ฐ›์•„๋“ค์ด๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์–ด๋–ค ๋ชจ๋“œ์™€ ๋ชจ๋ธ์„ ์“ฐ๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋ฉด์„œ, ๊ฐ•์ (๊ตฌ์กฐํ™”๋œ ์ž…๋ ฅ๊ณผ ํ’๋ถ€ํ•œ ์ปจํ…์ŠคํŠธ)์„ ๊ทน๋Œ€ํ™”ํ•˜๊ณ , ์•ฝ์ (๊ฑด๋ง์ฆ, ์žฅํ™ฉํ•จ, ํ™˜๊ฐ)์„ ๋ฐฉ์–ดํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

์ด์ œ ์ด ์›์น™๋“ค์„ ํ† ๋Œ€๋กœ Lovable์„ ๋” ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์‹ค์ „ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ํ”„๋กฌํ”„ํŒ… ํŒ

๋งˆ์ง€๋ง‰์œผ๋กœ, Lovable ํ”Œ๋žซํผ์—์„œ ์ž‘์—…ํ•  ๋•Œ์˜ ํŠน์ • ํŒ๊ณผ ๊ธฐ๋ฒ•๋“ค์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋“ค์€ ์ผ๋ฐ˜์ ์ธ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ฐœ๋…์„ Lovable์˜ ๊ธฐ๋Šฅ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๊ฒฌ๊ณ ํ•œ Knowledge Base๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ํ”„๋กœ์ ํŠธ์˜ Knowledge Base(Lovable์˜ ํ”„๋กœ์ ํŠธ ์„ค์ •์—์„œ)๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.

https://docs.lovable.dev/features/knowledge

Project Requirements(PRD), ์‚ฌ์šฉ์ž ํ”Œ๋กœ์šฐ, ๊ธฐ์ˆ  ์Šคํƒ ์„ธ๋ถ€์‚ฌํ•ญ, UI ๋””์ž์ธ ๊ฐ€์ด๋“œ๋ผ์ธ, ๋ฐฑ์—”๋“œ ๊ตฌ์ฒด์‚ฌํ•ญ์„ ํฌํ•จํ•˜์„ธ์š”. ์ด๋Š” AI๊ฐ€ ํ•ญ์ƒ ๊ฐ–๊ฒŒ ๋  ์ง€์†์ ์ธ ์ปจํ…์ŠคํŠธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

https://www.scalablepath.com/project-management/product-requirements-document-guide

์˜ˆ๋ฅผ ๋“ค์–ด, PRD์— โ€œ๋ฒ”์œ„ ์™ธ: ์†Œ์…œ ๋กœ๊ทธ์ธ(Out of scope: social login)โ€์ด ๋ช…ํ™•ํžˆ ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค๋ฉด, AI๊ฐ€ ๋ฌด์ž‘์ • Google ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•  ๋•Œ ๋ช…์‹œ์ ์œผ๋กœ ํ”„๋กฌํ”„ํŠธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ํ”„๋กœ์ ํŠธ Knowledge Base๋ฅผ ์ฝ๊ณ  ์•ฑ์˜ ๋ชฉ์ ๊ณผ ์ œ์•ฝ์‚ฌํ•ญ์„ ์ดํ•ดํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

์ด๋Š” AI๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ๋‚ด์žฌํ™”ํ•˜๊ณ  ๊ด€๋ จ ์—†๋Š” ์ œ์•ˆ์ด๋‚˜ ํ™˜๊ฐ๋œ ๊ธฐ๋Šฅ์„ ์ค„์ด๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ, ๋ชจํ˜ธํ•จ ํ”ผํ•˜๊ธฐ

๋ชจํ˜ธํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ๋ชจํ˜ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

ํ•ญ์ƒ ๋ฌด์—‡์„ ์›ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์›ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”.

DONโ€™Ts

1
2
3
# ์˜ˆ์‹œ - 1
์ด ์•ฑ์„ ๋” ์ข‹๊ฒŒ ๋งŒ๋“ค์–ด์ค˜.
Make this app better.
1
2
3
# ์˜ˆ์‹œ - 2
์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์œ„ํ•œ ์–‘์‹์„ ๋งŒ๋“ค์–ด์ค˜
Create a form for user input

ํ›„์ž๋Š” ๋ฒ”์œ„์™€ ์˜ˆ์ƒ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋ฐฉํ–ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

DOs

1
2
3
4
5
6
# ์˜ˆ์‹œ - 1
Refactor the app to clean up unused components and improve performance
(without changing UI or functionality.)

์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋„๋ก ์•ฑ์„ ๋ฆฌํŒฉํ„ฐ๋งํ•˜์„ธ์š”. 
(UI๋‚˜ ๊ธฐ๋Šฅ์€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์„ธ์š”.)
1
2
3
4
# ์˜ˆ์‹œ - 2
Create a user registration form with fields for username, email, and password and include a submit button.

์‚ฌ์šฉ์ž๋ช…, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ์™€ ์ œ์ถœ ๋ฒ„ํŠผ์ด ํฌํ•จ๋œ ์‚ฌ์šฉ์ž ๋“ฑ๋ก ์–‘์‹์„ ์ƒ์„ฑํ•˜์„ธ์š”.

์ ์ง„์  ํ”„๋กฌํ”„ํŒ…

ํ•œ ๋ฒˆ์˜ ํ”„๋กฌํ”„ํŠธ๋กœ ์ „์ฒด ๋ณต์žกํ•œ ์•ฑ์„ ์š”์ฒญํ•˜๊ณ  ์‹ถ์€ ์ถฉ๋™์„ ์–ต์ œํ•˜์„ธ์š”.

๊ฐœ๋ฐœ ๊ณผ์ •์„ ๋…ผ๋ฆฌ์  ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„๊ณ  ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ํ”„๋กฌํ”„ํŠธํ•˜์„ธ์š”.

DONโ€™Ts

1
2
3
Build a CRM app with Supabase, auth, Google Sheets export, and data enrichment.

Build my entire e-commerce app with authentication, product listings, and checkout.
1
2
3
Supabase, ์ธ์ฆ, Google Sheets ๋‚ด๋ณด๋‚ด๊ธฐ, ๋ฐ์ดํ„ฐ ๊ฐ•ํ™”๊ฐ€ ์žˆ๋Š” CRM ์•ฑ์„ ๊ตฌ์ถ•ํ•ด์ค˜.

์ธ์ฆ, ์ œํ’ˆ ๋ชฉ๋ก, ๊ฒฐ์ œ๊ฐ€ ์žˆ๋Š” ์ „์ฒด ์ „์ž์ƒ๊ฑฐ๋ž˜ ์•ฑ์„ ๊ตฌ์ถ•ํ•ด์ค˜.

DOs
์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๋ณ„ ์ง„ํ–‰์€ AI๊ฐ€ ์ง‘์ค‘ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๋ฌธ์ œ๋ฅผ ์ผ์ฐ ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

(์˜ˆ์‹œ - 1)
1.1.

1
2
3
Set up a Supabase-connected CRM backend.

Supabase์— ์—ฐ๊ฒฐ๋œ CRM ๋ฐฑ์—”๋“œ๋ฅผ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.

1.2.

1
2
3
Great! Could you please add a secure authentication flow with user roles?

์ข‹์Šต๋‹ˆ๋‹ค! ์‚ฌ์šฉ์ž ์—ญํ• ์ด ์žˆ๋Š” ์•ˆ์ „ํ•œ ์ธ์ฆ ํ”Œ๋กœ์šฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?

1.3.

1
2
3
Thank you! The next step is to integrate Google Sheets to export records.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•ด Google Sheets๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

(์˜ˆ์‹œ - 2)

2.1.

1
2
3
Set up a database schema for user information.

์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.

2.2.

1
2
3
Develop an API endpoint to retrieve user data please

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” API ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•ด์ฃผ์„ธ์š”

์ œ์•ฝ์กฐ๊ฑด๊ณผ ์š”๊ตฌ์‚ฌํ•ญ ํฌํ•จ

์ œ์•ฝ์กฐ๊ฑด์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜์ง€ ๋งˆ์„ธ์š”.

๋ญ”๊ฐ€๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•˜๊ฑฐ๋‚˜ ์ ˆ๋Œ€ ํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค๋ฉด ์ง์ ‘ ํ”„๋กฌํ”„ํŠธ์— ์ ์œผ์„ธ์š”.

์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€

(์˜ˆ์‹œ - 1)

1
2
3
4
5
Create a simple to-do app with a "maximum of 3 tasks visible" at a time.
Include the ability to add, edit, and delete tasks.

"ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ 3๊ฐœ"์˜ ์ž‘์—…๋งŒ ๋ณด์ด๋Š” ๊ฐ„๋‹จํ•œ ํ•  ์ผ ์•ฑ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
์ž‘์—…์„ ์ถ”๊ฐ€, ํŽธ์ง‘, ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์„ธ์š”.

(์˜ˆ์‹œ - 2)

1
2
3
4
5
Optimize this code, but ensure the "UI and core functionality remain unchanged". 
Document each change you make.

์ด ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋˜ "UI์™€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”". 
๊ฐ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฌธ์„œํ™”ํ•ด์ฃผ์„ธ์š”.

(์˜ˆ์‹œ - 3)

1
2
3
Use at most 3 API calls for this, and "ensure no external library is required".

์ด๊ฒƒ์„ ์œ„ํ•ด ์ตœ๋Œ€ 3๊ฐœ์˜ API ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๊ณ , "์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”".

(์˜ˆ์‹œ - 4)

1
2
3
The page should "display a maximum of 3 tasks" at a time.

ํŽ˜์ด์ง€๋Š” ํ•œ ๋ฒˆ์— "์ตœ๋Œ€ 3๊ฐœ์˜ ์ž‘์—…"์„ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ œํ•œ์€ AI๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ์—”์ง€๋‹ˆ์–ด๋งํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์ตœ๋Œ€ ํ•ญ๋ชฉ ์ˆ˜๋‚˜ ์„ฑ๋Šฅ ๋ชฉํ‘œ์™€ ๊ฐ™์€ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜๋ฉด AI๊ฐ€ ์ค‘์š”ํ•œ ๊ฒƒ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‘œํ˜„์˜ ๋ชจํ˜ธํ•จ ํ”ผํ•˜๊ธฐ

์šฉ์–ด๊ฐ€ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ•ด์„๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”.

๋” ๋ช…ํ™•ํ• ์ˆ˜๋ก AI๊ฐ€ ์ถ”์ธกํ•ด์•ผ ํ•  ๊ฒƒ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
๋ฐ˜๋Œ€๋กœ ๋„ˆ๋ฌด ๋ชจํ˜ธํ•˜๊ฒŒ ์š”์ฒญํ•˜๋ฉด, ํ™˜๊ฐ ํ˜„์ƒ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚ฌ ํ™•๋ฅ ์ด ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

DONโ€™Ts

1
2
Add a profile feature
ํ”„๋กœํ•„ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์ค˜
1
2
Support notifications
์•Œ๋ฆผ์„ ์ง€์›ํ•ด์ค˜

ํ›„์ž๋Š” ๋ฒ”์œ„์™€ ์˜ˆ์ƒ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋ฐฉํ–ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

DOs

1
2
Add a user profile page with fields X, Y, Z.
X, Y, Z ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
1
2
Send an email notification on form submission.
์–‘์‹ ์ œ์ถœ ์‹œ ์ด๋ฉ”์ผ ์•Œ๋ฆผ์„ ๋ณด๋‚ด์ฃผ์„ธ์š”.

ํ†ค๊ณผ ์˜ˆ์˜ ์—ผ๋‘์— ๋‘๊ธฐ

AI์˜ ๊ธฐ๋Šฅ ์ž์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ์ •์ค‘ํ•œ ์–ดํˆฌ๊ฐ€ ์˜์™ธ๋กœ ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์ด๋Œ์–ด๋‚ผ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด please ๊ฐ™์€ ํ‘œํ˜„์ด๋‚˜ ๊ณต์†ํ•œ ์š”์ฒญ์„ ํฌํ•จํ•˜๋ฉด, ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์กฐ๊ธˆ ๋” ์„ค๋ช…์ ์œผ๋กœ ์ฝํžˆ๊ณ  ์ปจํ…์ŠคํŠธ๊ฐ€ ํ’๋ถ€ํ•ด์ ธ AI์—๊ฒŒ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
Please refrain from modifying the homepage, focus only on the dashboard component.
ํ™ˆํŽ˜์ด์ง€๋Š” ์ˆ˜์ •ํ•˜์ง€ ๋ง๊ณ , ๋Œ€์‹œ๋ณด๋“œ ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ง‘์ค‘ํ•ด์ฃผ์„ธ์š”.

์ด๋Ÿฐ ์‹์˜ ํ‘œํ˜„์€ ์ •์ค‘ํ•˜๊ฒŒ ๋“ค๋ฆฌ๋ฉด์„œ ๋™์‹œ์— AI์—๊ฒŒ ๋ฌด์—‡์„ ํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š”์ง€๊นŒ์ง€ ๋ช…ํ™•ํžˆ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ AI์˜ ๊ฐ์ •์ด ์•„๋‹ˆ๋ผ, ํ”„๋กฌํ”„ํŠธ ์•ˆ์— ์„ธ๋ถ€์‚ฌํ•ญ์„ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋‹ด์•„๋‚ด๋А๋ƒ์ž…๋‹ˆ๋‹ค. (๋ฌผ๋ก , ์ •์ค‘ํ•˜๊ฒŒ ๋งํ•˜๋Š” ๊ฒŒ ์†ํ•ด ๋ณผ ์ผ์€ ์—†๊ฒ ์ง€์š”!)

Lovable์˜ ๋ชจ๋“œ๋ฅผ ์˜๋„์ ์œผ๋กœ ์‚ฌ์šฉ

Use Lovableโ€™s Modes Intentionally

์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, ๊ณ„ํš ๋‹จ๊ณ„์—๋Š” Chat Mode, ๊ตฌํ˜„ ๋‹จ๊ณ„์—๋Š” Default Mode๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‹œ์ž‘ํ•  ๋•Œ๋Š” Chat Mode์—์„œ ๋จผ์ € ์ปดํฌ๋„ŒํŠธ ๋ถ„ํ•ด๋‚˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1
2
3
4
5
I want to add a blog section to my app. 
Letโ€™s discuss how to structure the data and pages.

๋‚ด ์•ฑ์— ๋ธ”๋กœ๊ทธ ์„น์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. 
๋ฐ์ดํ„ฐ์™€ ํŽ˜์ด์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ• ์ง€ ํ•จ๊ป˜ ๋…ผ์˜ํ•ด๋ด…์‹œ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ์š”์ฒญํ•˜๋ฉด AI๊ฐ€ ์ „์ฒด์ ์ธ ๊ฐœ์š”๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • ๊ทธ ๊ฒฐ๊ณผ์— ๋งŒ์กฑํ•œ๋‹ค๋ฉด, ์ด์ œ Default Mode๋กœ ์ „ํ™˜ํ•ด ์‹ค์ œ ๊ตฌํ˜„์„ ์ง€์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
1
2
3
Create a BlogPost page and a supabase table or schema for blog posts based on the above plan.

์œ„ ๊ณ„ํš์„ ๋ฐ”ํƒ•์œผ๋กœ `BlogPost` ํŽ˜์ด์ง€์™€ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์šฉ Supabase ํ…Œ์ด๋ธ” ๋˜๋Š” ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.

ํ˜•์‹์„ ์œ ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉ

Use formatting to your advantage

์ƒํ™ฉ์— ๋งž๊ฒŒ ๋ชฉ๋ก์ด๋‚˜ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์„ธ์š”.

AI์—๊ฒŒ ๋ชฉ๋ก ํ˜•ํƒœ์˜ ์‘๋‹ต์ด๋‚˜ ์ˆœ์ฐจ์  ์ ˆ์ฐจ๋ฅผ ์›ํ•œ๋‹ค๋ฉด, ํ”„๋กฌํ”„ํŠธ์—์„œ ํ•ญ๋ชฉ์„ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ฒจ ๋‚˜์—ดํ•˜์„ธ์š”. ๋‹จ๊ณ„๋ฅผ ๋ฒˆํ˜ธ๋กœ ํ‘œ์‹œํ•˜๋ฉด ๋ชจ๋ธ์ด ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์‘๋‹ตํ•˜๋„๋ก ํžŒํŠธ๋ฅผ ์ฃผ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

(์˜ˆ์‹œ - 1)

1
2
3
4
5
6
7
8
9
์•ˆ์ „ํ•œ ์ธ์ฆ ์‹œ์Šคํ…œ์„ ์„ค์ •ํ•˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค:
1. ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
2. ์ด๋“ค์ด ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?
3. ๊ตฌํ˜„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

Let's think through the process of setting up a secure authentication system:
1. What are the necessary components?
2. How should they interact?
3. Provide the implementation code.

(์˜ˆ์‹œ - 2)

1
2
3
์ฒซ์งธ, ์ ‘๊ทผ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๊ณ , ๋‘˜์งธ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ์…‹์งธ ํ…Œ์ŠคํŠธ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•ด์ฃผ์„ธ์š”.

First, explain the approach. Second, show the code. Third, give a test example.

์˜ˆ์‹œ๋‚˜ ์ฐธ์กฐ ํ™œ์šฉ

์›ํ•˜๋Š” ๋””์ž์ธ์ด๋‚˜ ์ฝ”๋“œ ์Šคํƒ€์ผ์ด ์žˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ์–ธ๊ธ‰ํ•˜๊ฑฐ๋‚˜ ์˜ˆ์‹œ๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•˜์„ธ์š”.

๊ตฌ์ฒด์ ์ธ ์ฐธ์กฐ(์ด๋ฏธ์ง€๋‚˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ)๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉด AI๊ฐ€ ๋‹จ์ˆœํžˆ ์ถ”์ธกํ•˜์ง€ ์•Š๊ณ , ๊ทธ ์Šคํƒ€์ผ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ต๋ณ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (eg. Few-shot์ฒ˜๋Ÿผ)

(์˜ˆ์‹œ - 1)

1
2
3
4
5
6
7
8
์šฐ๋ฆฌ๋Š” ํŒ€์ด ์ž‘์—…์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค:
- ์‚ฌ์šฉ์ž ์ธ์ฆ
- ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
- ์ž‘์—… ํ• ๋‹น
- ๋ณด๊ณ  ๊ธฐ๋Šฅ

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ, ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ UI๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.
1
2
3
4
5
6
7
8
We are building a project management tool that helps teams track their tasks.
This tool should have features like:
 - user authentication
 - project creation
 - task assignments
 - reporting

Now, for the first task, create the UI for project creation.

(์˜ˆ์‹œ - 2)

1
2
Supabase ํ†ตํ•ฉ๊ณผ ์•ˆ์ „ํ•œ ์ธ์ฆ ํ”Œ๋กœ์šฐ๊ฐ€ ํฌํ•จ๋œ CRM ์•ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 
๋ฐฑ์—”๋“œ ์„ค์ •๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์ฃผ์„ธ์š”.
1
2
I need a CRM app with Supabase integration and a secure auth flow. 
Start by setting up the backend.

(์˜ˆ์‹œ - 3)

1
2
์นœํ™˜๊ฒฝ ์ œํ’ˆ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์ „์ž์ƒ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 
์นดํ…Œ๊ณ ๋ฆฌ์™€ ๊ฐ€๊ฒฉ ํ•„ํ„ฐ๊ฐ€ ์žˆ๋Š” ์ƒํ’ˆ ๋ชฉ๋ก ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.
1
2
We are developing an e-commerce platform focusing on eco-friendly products. 
Generate a product listing page with filters for category and price.

์ด๋ฏธ์ง€ ํ”„๋กฌํ”„ํŠธ ์‚ฌ์šฉ

Lovable์—์„œ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด ๋””์ž์ธ ์‹œ์•ˆ์„ ๋ณด์—ฌ์ฃผ๊ณ  โ€œ์ด ์Šคํƒ€์ผ๊ณผ ๋งž์ถฐ์ฃผ์„ธ์š”โ€ ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1) ๊ฐ„๋‹จํ•œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ”„๋กฌํ”„ํŒ…

(์˜ˆ์‹œ - 1)

1
2
3
์ฒจ๋ถ€๋œ ์ด๋ฏธ์ง€์™€ ์ตœ๋Œ€ํ•œ ์œ ์‚ฌํ•œ UI๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.

Create and implement a UI that looks as similar as possible to the image attached.

(์˜ˆ์‹œ - 2)

1
2
3
4
5
์ด ์Šคํฌ๋ฆฐ์ƒท์€ ๋ชจ๋ฐ”์ผ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ ์ด์Šˆ ์ƒํ™ฉ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. 
๊ฐ™์€ ๋””์ž์ธ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฐ˜์‘ํ˜•์œผ๋กœ ๋ณด์ด๋„๋ก ์—ฌ๋ฐฑ๊ณผ ํŒจ๋”ฉ์„ ์กฐ์ •ํ•ด์ฃผ์„ธ์š”.

This screenshot shows a layout issue on mobile. 
Adjust margins and padding to make it responsive while keeping the same design structure.

2) ์ƒ์„ธ ์ง€์‹œ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ํ•˜๋Š” ์ด๋ฏธ์ง€ ํ”„๋กฌํ”„ํŒ…

์ด๋ฏธ์ง€ ์ž์ฒด๊ฐ€ ๋งŽ์€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์ง€๋งŒ, ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ธ€๋กœ ์ถ”๊ฐ€ ์ง€์‹œํ•˜๋ฉด ํ›จ์”ฌ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

1
2
3
4
5
6
7
8
์ด ์Šคํฌ๋ฆฐ์ƒท๊ณผ ์ตœ๋Œ€ํ•œ ๋น„์Šทํ•œ ์•ฑ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. 
๋ณธ์งˆ์ ์œผ๋กœ ์นธ๋ฐ˜ ๋ณด๋“œ ํด๋ก ์ž…๋‹ˆ๋‹ค.  

- ๊ฐ ์—ด์— ์ƒˆ ์นด๋“œ(ํ‹ฐ์ผ“)๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  
- ๊ฐ™์€ ์—ด ์•ˆ์—์„œ๋Š” ์นด๋“œ ์ˆœ์„œ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  
- ์นด๋“œ๋ฅผ ์—ด ์‚ฌ์ด์— ์˜ฎ๊ธธ ์ˆ˜๋„ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  

๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๊ธฐ๋Šฅ์€ Pangea home dnd npm ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์ข‹์Šต๋‹ˆ๋‹ค.
1
2
3
4
5
6
7
8
9
I want you to create the app as similar as possible to the one shown in this screenshot.
It's essentially a kanban clone.

It should have the ability 
* to add new cards (tickets) in each column, 
* have the ability to change the order of those tickets within a single column, 
* and even move those cards between columns.

Feel free to use the Pangea home dnd npm package for drag-and-drop functionality.

ํ”ผ๋“œ๋ฐฑ ํ†ตํ•ฉ

AI์˜ ์ถœ๋ ฅ์„ ๊ฒ€ํ† ํ•˜๊ณ  ๊ฐœ์„ ์„ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•˜์„ธ์š”. (๋ฉ€ํ‹ฐํ„ด)

1
2
3
๋กœ๊ทธ์ธ ์–‘์‹์ด ์ข‹์•„ ๋ณด์ด์ง€๋งŒ ์ด๋ฉ”์ผ ํ•„๋“œ์— ์œ ํšจํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ํฌํ•จ๋˜๋„๋ก ํ•˜๋Š” ๊ฒ€์ฆ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

The login form looks good, but please add validation for the email field to ensure it contains a valid email address.

์ ‘๊ทผ์„ฑ ๊ฐ•์กฐ

์ ‘๊ทผ์„ฑ ํ‘œ์ค€(adheres to accessibility standards)๊ณผ ํ˜„๋Œ€์  ๋ชจ๋ฒ” ์‚ฌ๋ก€(modern best practices)๋ฅผ ์ค€์ˆ˜ํ•˜๋Š” ์ฝ”๋“œ ์ƒ์„ฑ์„ ์žฅ๋ คํ•˜์„ธ์š”. ์ด๋Š” ์ถœ๋ ฅ์ด ๊ธฐ๋Šฅ์ ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๊ณ  ์ ‘๊ทผ์„ฑ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿค— ์ ‘๊ทผ์„ฑ ํ‘œ์ค€(adheres to accessibility standards)์ด๋ž€?
์œ„ ๋ฌธ์žฅ์—์„œ ๋งํ•˜๋Š” โ€œcode that adheres to accessibility standardsโ€๋Š”, ์ฝ”๋“œ๊ฐ€ ๊ณต์‹ ์ ‘๊ทผ์„ฑ ํ‘œ์ค€(๋Œ€ํ‘œ์ ์œผ๋กœ WCAG 2.2, WAI-ARIA ๋“ฑ)๊ณผ ๋ฒ•ยท๊ฐ€์ด๋“œ๋ผ์ธ(์˜ˆ: ADA, EN 301 549)์„ ์ค€์ˆ˜ํ•˜๋„๋ก ์ž‘์„ฑ๋œ ์ƒํƒœ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.
=> ์ฆ‰, ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์‹ ์ฒดยท์ธ์ง€ยทํ™˜๊ฒฝ์  ์ œ์•ฝ๊ณผ ์ƒ๊ด€์—†์ด ํ‚ค๋ณด๋“œยท์Šคํฌ๋ฆฐ๋ฆฌ๋”ยท๊ณ ๋ฐฐ์œจยท๊ณ ๋Œ€๋น„ยท์ž๋ง‰ ๋“ฑ ๋ณด์กฐ ์ˆ˜๋‹จ์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ  ์ดํ•ดยท์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ชจ๋“  ์„ค๊ณ„ยท๊ตฌํ˜„ ์›์น™์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

1
2
3
4
์ ์ ˆํ•œ ARIA ๋ผ๋ฒจ๊ณผ ํ‚ค๋ณด๋“œ ํƒ์ƒ‰ ์ง€์›์„ ํฌํ•จํ•˜์—ฌ **์ ‘๊ทผ์„ฑ ๋ชจ๋ฒ” ์‚ฌ๋ก€**๋ฅผ ๋”ฐ๋ฅด๋Š” ๋กœ๊ทธ์ธ ์–‘์‹์šฉ React ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.

Generate a React component for a login form that follows accessibility best practices, 
including appropriate ARIA labels and keyboard navigation support.

๐Ÿค— ARIA ๋ ˆ์ด๋ธ”(Accessible Rich Internet Applications label)์ด๋ž€?
ARIA ๋ ˆ์ด๋ธ”(Accessible Rich Internet Applications label, ํ”ํžˆ aria-label)์€ ์Šคํฌ๋ฆฐ๋ฆฌ๋” ๊ฐ™์€ ๋ณด์กฐ๊ธฐ์ˆ ์— ์ฝํžˆ๋Š” ๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์ด๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.
=> ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, ์‹œ๊ฐ์ ์œผ๋กœ๋Š” ๋ฒ„ํŠผ์ด๋‚˜ ์•„์ด์ฝ˜๋งŒ ๋ณด์ด๋Š”๋ฐ, ํ™”๋ฉด ์ฝ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ๋Š” โ€œ์ด๊ฑด โ€˜๊ฒ€์ƒ‰ ๋ฒ„ํŠผโ€™์ด์•ผโ€๋ผ๊ณ  ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ์ •์˜๋œ ์ปดํฌ๋„ŒํŠธ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ”„๋กœ์ ํŠธ์—์„œ ์ผ๊ด€์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ์ปดํฌ๋„ŒํŠธ ์‚ฌ์šฉ์„ ๋ช…์‹œํ•˜์„ธ์š”.
์ด๋Š” AI๊ฐ€ ํŠน์ • ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜๋„๋ก ์ง€์‹œํ•˜์—ฌ ํ˜ธํ™˜์„ฑ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์˜ ๊ท ์ผํ•œ ๋””์ž์ธ ์–ธ์–ด๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

1
2
3
Tailwind CSS๋กœ ์Šคํƒ€์ผ๋งํ•˜๋Š” shadcn/ui ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”.

Create a responsive navigation bar using the shadcn/ui library with Tailwind CSS for styling.

๋‹ค๊ตญ์–ด ํ”„๋กฌํ”„ํŒ…

๋‹ค๊ตญ์–ด ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ๋Š” ์ฝ”๋“œ ์ฃผ์„๊ณผ ๋ฌธ์„œ ๋ชจ๋‘์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ์–ธ์–ด๋ฅผ ๋ช…์‹œํ•˜์„ธ์š”.
์ด๋Š” ์ƒ์„ฑ๋œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŒ€ ๊ตฌ์„ฑ์›๋“ค์—๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜์—ฌ ํ˜‘์—…์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

1
2
ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์„ ๊ณ„์‚ฐํ•˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”. 
์ฃผ์„๊ณผ ๋ฌธ์„œ๋ฅผ ํ”„๋ž‘์Šค์–ด๋กœ ์ œ๊ณตํ•ด์ฃผ์„ธ์š”.
1
2
Generate a Python script that calculates the Fibonacci sequence. 
Provide comments and documentation in French.

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ํŒŒ์ผ ๊ด€๋ฆฌ ์ •์˜

์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ”„๋กœ์ ํŠธ ๋‚ด ์–ด๋””์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ช…ํ™•์„ฑ์„ ์ œ๊ณตํ•˜์—ฌ ์ผ๊ด€๋œ ํŒŒ์ผ ์กฐ์ง์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฒด๊ณ„์ ์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ƒ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ•œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ๋ช…ํ™•ํžˆ ๊ฐœ์š”๋กœ ์ œ์‹œํ•˜์„ธ์š”.

1
2
'UserProfile'์ด๋ผ๋Š” ์ƒˆ React ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  'components/user-profile.tsx'๋กœ ์ €์žฅํ•ด์ฃผ์„ธ์š”. 
ํ”„๋กœํ•„ ์‚ฌ์ง„, ์‚ฌ์šฉ์ž๋ช…, ์ž๊ธฐ์†Œ๊ฐœ ์„น์…˜์ด ํฌํ•จ๋˜๋„๋ก ํ•˜์„ธ์š”.
1
2
Create a new React component named 'UserProfile' and save it as 'components/user-profile.tsx'.
Ensure it includes a profile picture, username, and bio section.

์ •ํ™•ํ•œ ํŽธ์ง‘ ์ง€์‹œ์‚ฌํ•ญ ์ œ๊ณต (AI ์ง‘์ค‘์‹œํ‚ค๊ธฐ)

(์ฃผ์˜) ๊ธฐ๋ณธ์ ์œผ๋กœ Lovable AI์—๊ฒŒ ๋ญ”๊ฐ€๋ฅผ ๋ณ€๊ฒฝํ•˜๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด ์ „์ฒด ํŒŒ์ผ์ด๋‚˜ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜๋„ํ•˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์„ ํ”ผํ•˜๋ ค๋ฉด ์–ด๋””์„œ ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ• ์ง€ ๋งค์šฐ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ช…์‹œํ•˜์„ธ์š”.

  • Lovable์˜ โ€œSelect(Edit)โ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๋‚˜ ํŒŒ์ผ์„ ๊ฐ•์กฐํ•œ ๋‹ค์Œ ๊ทธ ์„ ํƒ์— ๋Œ€ํ•ด์„œ๋งŒ ํ”„๋กฌํ”„ํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ํ”„๋กฌํ”„ํŠธ์—์„œ ํŒŒ์ผ/์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ช…๋ช…ํ•˜์„ธ์š”.
1
2
3
`Header` ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ฐ€์ž… ๋ฒ„ํŠผ์˜ ํ…์ŠคํŠธ๋ฅผ 'Get Started'๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”.

_In the _Headercomponent, change the signup buttonโ€™s text to โ€˜Get Startedโ€™ and move it to the left side of the nav bar.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด AI๊ฐ€ Header ์ปดํฌ๋„ŒํŠธ์— ์ง‘์ค‘ํ•˜๊ณ  ๊ทธ ๋ถ€๋ถ„๋งŒ ์กฐ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ”๊พธ์ง€ ๋ง์•„์•ผ ํ•  ๋ถ€๋ถ„์€, AI์—๊ฒŒ ๊ฑด๋“œ๋ฆฌ์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.

1
2
3
ํ—ค๋”์™€ ๊ด€๋ จ ์—†๋Š” ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ๋‚˜ ๋กœ์ง์€ ์ˆ˜์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.

Do not modify any other components or logic unrelated to the header.

์ด๋Ÿฌํ•œ ๊ด€ํ–‰(โ€œDiff & Selectโ€ ์ ‘๊ทผ๋ฒ•์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ธฐ๋„ ํ•จ)์€ ์ตœ์†Œํ•œ์˜ ๋ชฉํ‘œํ™”๋œ ๋ณ€๊ฒฝ์„ ๋ณด์žฅํ•˜์—ฌ ๋” ๋น ๋ฅธ ์‘๋‹ต๊ณผ ๋” ์ ์€ ํšŒ๊ท€์  ๋ฒ„๊ทธ(regression bugs)๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์ž ๊ธˆ (์šฐํšŒ ๋ฐฉ๋ฒ•)

ํ˜„์žฌ Lovable์—๋Š” ๋ช…์‹œ์ ์ธ ํŒŒ์ผ ์ž ๊ธˆ ๊ธฐ๋Šฅ์ด ์—†์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ํ”„๋กฌํ”„ํŠธ ํ‘œํ˜„์„ ํ†ตํ•ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AI๊ฐ€ ์ ˆ๋Œ€ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ์ค‘์š”ํ•œ ํŒŒ์ผ๋“ค(์ž˜ ์ž‘๋™ํ•˜๋Š” ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐ™์€)์ด ์žˆ๋‹ค๋ฉด, ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ์—์„œ ์ง€์‹œ์‚ฌํ•ญ์„ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1
2
3
authentication.js ํŒŒ์ผ์€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์„ธ์š”.

Do not change the authentication.js file.

AI์—๊ฒŒ ์ง€์†์ ์œผ๋กœ ์ž์ œํ•˜๋ผ๊ณ  ๋งํ•จ์œผ๋กœ์จ ์›์น˜ ์•Š๋Š” ํŽธ์ง‘์˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ AI๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ํ•œ ๋ถ€๋ถ„์—์„œ๋งŒ ์ž‘์—…ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ๋ช…์‹œ์ ์œผ๋กœ ์ œํ•œํ•˜์„ธ์š”:

1
2
3
`ProfilePage` ์ปดํฌ๋„ŒํŠธ์—๋งŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ง‘์ค‘ํ•˜๊ณ , ์•ฑ์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ถ€๋ถ„์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์„ธ์š”.

_Focus changes solely on the _ProfilePagecomponent; assume all other parts of the app remain as is.

ํ”„๋กฌํ”„ํŠธ์—์„œ ์ด๋ฅผ ๋ฏธ๋ฆฌ ๋ช…์‹œํ•˜๋ฉด AI๊ฐ€ ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ์ž‘์—…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋””์ž์ธ ๋ฐ UI ์กฐ์ •

Lovable์—์„œ UI ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” ๊ธฐ๋Šฅ์„ ๋ง๊ฐ€๋œจ๋ฆฌ์ง€ ์•Š๋„๋ก ๋ช…ํ™•์„ฑ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค:

  • ์ˆœ์ „ํžˆ ์‹œ๊ฐ์  ๋ณ€๊ฒฝ์„ ์›ํ•œ๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ๋งํ•˜์„ธ์š”.

    • โ€œ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋งŒ๋“ค๊ณ  20% ํฌ๊ฒŒ ํ•˜๋˜, ๊ธฐ๋Šฅ์ด๋‚˜ onClick ๋กœ์ง์€ ์ „ํ˜€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์„ธ์š”.โ€
    • ์ด๋Š” AI๊ฐ€ ์Šคํƒ€์ผ๋งํ•˜๋ฉด์„œ ์‹ค์ˆ˜๋กœ ID๋ฅผ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๋กœ์ง์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ˜์‘์„ฑ(๋””์ž์ธ์„ ๋ชจ๋ฐ”์ผ ์นœํ™”์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ)์˜ ๊ฒฝ์šฐ, AI๋ฅผ ๊ณ„ํš์„ ํ†ตํ•ด ์•ˆ๋‚ดํ•˜์„ธ์š”.

    • ์˜ˆ๋ฅผ ๋“ค์–ด:
      • โ€œ๋žœ๋”ฉ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋ฐ”์ผ์— ์ตœ์ ํ™”ํ•˜์„ธ์š”: ๋ชจ๋ฐ”์ผ ์šฐ์„  ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋จผ์ € ๊ฐ ์„น์…˜์ด ๋” ์ž‘์€ ํ™”๋ฉด์—์„œ ์–ด๋–ป๊ฒŒ ์žฌ๋ฐฐ์น˜๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ๊ฐœ์š”๋ฅผ ์ž‘์„ฑํ•œ ๋‹ค์Œ ํ•ด๋‹น CSS ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ํ‘œ์ค€ Tailwind ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ(sm, md, lg)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋Š” ํ”ผํ•˜์„ธ์š”. ๊ธฐ๋Šฅ์ƒ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๊ณ  ๋ ˆ์ด์•„์›ƒ๋งŒ ๋ณ€๊ฒฝ๋˜๋„๋ก ํ•˜์„ธ์š”.โ€
    • ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ์ƒ์„ธํ•œ ์ง€์‹œ์‚ฌํ•ญ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋ฐ์Šคํฌํ†ฑ ๋ ˆ์ด์•„์›ƒ์„ ๋ง๊ฐ€๋œจ๋ฆฌ์ง€ ์•Š๊ณ  ๋ชจ๋ฐ”์ผ์— ๋Œ€ํ•œ ์ฒ ์ €ํ•œ ์ ์‘์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์ž์ธ ๋ณ€๊ฒฝ์„ ์—ผ๋‘์— ๋‘๊ณ  ์žˆ๋‹ค๋ฉด, ์›ํ•˜๋Š” ๊ฒฐ๊ณผ์™€ ์ œ์•ฝ์กฐ๊ฑด(โ€œHTML ๊ตฌ์กฐ๋Š” ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ  CSS๋งŒ ์—…๋ฐ์ดํŠธโ€ ๊ฐ™์€)์„ ์„ค๋ช…ํ•˜๋ฉด AI๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์†”๋ฃจ์…˜์— ์ง‘์ค‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. AI ๋””์ž์ธ ๋ณ€๊ฒฝ ํ›„์—๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์—ฌ์ „ํžˆ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ์•ฑ์„ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.

์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง ๋ฐ ์ตœ์ ํ™”

ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ Lovable์˜ AI๋Š” ์„ฑ๋Šฅ์ด๋‚˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌํŒฉํ„ฐ๋ง์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํŒฉํ„ฐ๋ง์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŒ…์€ ๊ณ ๊ธ‰์ด์ง€๋งŒ ๊ฐ€์น˜ ์žˆ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค:

  • ๋™์ž‘ ๋ณ€๊ฒฝ ์—†์Œ์„ ๊ฐ•์กฐํ•˜์„ธ์š”: โ€œ๋ช…ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋˜, ์•ฑ์˜ ๊ธฐ๋Šฅ๊ณผ ์ถœ๋ ฅ์€ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€ ์ด๋Š” AI์—๊ฒŒ ๋ฆฌํŒฉํ„ฐ๋ง์ด ๋ฒ„๊ทธ๋‚˜ ๊ธฐ๋Šฅ ๋ณ€๊ฒฝ์„ ๋„์ž…ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  • ๋จผ์ € ๋ฆฌํŒฉํ„ฐ๋ง ๊ณ„ํš์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: โ€œutils/ ํด๋”๋ฅผ ์Šค์บ”ํ•˜๊ณ  ์ฝ”๋“œ ๊ตฌ์กฐ๋‚˜ ์ค‘๋ณต์—์„œ ๊ฐœ์„ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜์„ธ์š”. ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋‚˜์—ดํ•˜๋˜ ์•„์ง ์ ์šฉํ•˜์ง€๋Š” ๋งˆ์„ธ์š”.โ€ AI๊ฐ€ ๊ฐœ์„ ํ•  ๊ฒƒ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ตฌํ˜„์„ ์œ„ํ•ด ํ”„๋กฌํ”„ํŠธํ•  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๊ทœ๋ชจ ๋ฆฌํŒฉํ„ฐ๋ง์˜ ๊ฒฝ์šฐ ๋‹จ๊ณ„๋ณ„๋กœ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

    • ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์„ ํ”„๋กฌํ”„ํŠธํ•˜๊ณ , ํ…Œ์ŠคํŠธํ•œ ๋‹ค์Œ ์ง„ํ–‰ํ•˜์„ธ์š”. ์ด๋Š” ๋‹จ๊ณ„๋ณ„ ์›์น™๊ณผ ์–ด์šธ๋ฆฝ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด:
      • ๋จผ์ € ์ƒํƒœ ๊ด€๋ฆฌ ๋กœ์ง์„ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ณ , ๋‚˜์ค‘์— API ํ˜ธ์ถœ์„ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌํŒฉํ„ฐ๋ง ํ›„์—๋Š” ๋น ๋ฅธ ์‚ฌํ›„ ํ™•์ธ(post-check)์„ ํ”„๋กฌํ”„ํŠธํ•˜๋Š” ๊ฒƒ์ด ํ˜„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

    • ์˜ˆ์‹œ:
      • โ€œ์ด์ œ ์ฝ”๋“œ๊ฐ€ ๋ฆฌํŒฉํ„ฐ๋ง๋˜์—ˆ์œผ๋ฏ€๋กœ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ด๋ณด์„ธ์š”: UI๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋ณด์ด๊ณ  ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋‚˜ ์ฃผ์š” ํ”Œ๋กœ์šฐ๊ฐ€ ์—ฌ์ „ํžˆ ํ†ต๊ณผํ•˜๋‚˜์š”?โ€
    • AI๊ฐ€ ์ž์ฒด ๊ฒ€์ฆ์„ ํ•˜๊ฑฐ๋‚˜ ์ˆ˜๋™์œผ๋กœ ํ™•์ธํ•  ๊ฒƒ๋“ค์„ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AI ์ง€์›์œผ๋กœ ๋””๋ฒ„๊น…

๋ฒ„๊ทธ๋Š” ๋ถˆ๊ฐ€ํ”ผํ•ฉ๋‹ˆ๋‹ค. Lovable์—๋Š” ๋น ๋ฅธ ์ˆ˜์ •์„ ์œ„ํ•œ โ€œTry to Fixโ€ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ, ์ง์ ‘ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด AI๋ฅผ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜ ๋กœ๊ทธ๋‚˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ”„๋กฌํ”„ํŠธ(์ด์ƒ์ ์œผ๋กœ๋Š” Chat mode์—์„œ)์— ๋ณต์‚ฌํ•˜๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์ฒญํ•˜์„ธ์š”:

    • ์˜ˆ:
      • โ€œ์—ฌ๊ธฐ ์˜ค๋ฅ˜์™€ ๊ด€๋ จ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ์žˆ์Šต๋‹ˆ๋‹ค - ๋ฌด์—‡์ด ์ด๋ฅผ ์•ผ๊ธฐํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?โ€
        (Hereโ€™s the error and relevant code snippet โ€“ what is causing this and how can we fix it?)
    • ์ƒ์„ธํ•œ ์˜ค๋ฅ˜ ์ปจํ…์ŠคํŠธ๋Š” AI๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํžˆ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋””๋ฒ„๊น…ํ•˜๋ฉด์„œ CLEAR ์›์น™์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

    • ์ฝ”๋“œ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๊ธฐ๋กœ ๋˜์–ด ์žˆ์—ˆ๋Š”์ง€ ๋Œ€ ์‹ค์ œ๋กœ ๋ฌด์—‡์ด ์ผ์–ด๋‚ฌ๋Š”์ง€์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์„ค๋ช…ํ•˜์„ธ์š”.
    • ๋•Œ๋•Œ๋กœ AI์—๊ฒŒ ๋ฒ„๊ทธ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ด์–ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • AI์˜ ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ์ ์‘์  ์›์น™์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

    • ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๋˜๋Š” ์ƒˆ๋กœ์šด ์˜ค๋ฅ˜๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ฑฐ๋‚˜ ๋Œ€์•ˆ์  ์ ‘๊ทผ๋ฒ•์„ ์ œ์•ˆํ•˜๋„๋ก ์š”์ฒญํ•˜์„ธ์š”.
  • Chat Mode๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฒ„๊ทธ๋ฅผ ๋…ผ์˜ํ•˜์„ธ์š”:

    • ์˜ˆ:
      • โ€œ์ˆ˜์ •์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„์— ์ƒํƒœ๊ฐ€ ์—ฌ์ „ํžˆ ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์›์ธ์ด ๋ฌด์—‡์ผ ์ˆ˜ ์žˆ๋‚˜์š”? ๊ฐ€๋Šฅํ•œ ์›์ธ๋“ค์„ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.โ€
        (The fix didnโ€™t work. The state is still undefined at runtime. What else could be wrong? Letโ€™s think through possible causes.)
    • ๊ทธ๋Ÿด๋“ฏํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , ๊ทธ ๋‹ค์Œ Default Mode์—์„œ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • UI ๋ฒ„๊ทธ์˜ ๊ฒฝ์šฐ, ์Šคํฌ๋ฆฐ์ƒท์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ์  ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์˜ˆ:
      • โ€œ์‚ฌ์ด๋“œ๋ฐ”๋Š” ๋ชจ๋ฐ”์ผ์—์„œ ์ˆจ๊ฒจ์ ธ์•ผ ํ•˜๋Š”๋ฐ ์—ฌ์ „ํžˆ ๋ณด์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ CSS๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹คโ€ฆ ์™œ ์‹คํŒจํ•  ์ˆ˜ ์žˆ๋‚˜์š”?โ€
        (The sidebar is supposed to hide on mobile, but itโ€™s still visible. Hereโ€™s the CSSโ€ฆ Why might it be failing?โ€)
    • AI๋Š” ์ถฉ๋ถ„ํ•œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด CSS๋‚˜ ๋ ˆ์ด์•„์›ƒ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜์ • ํ›„์—๋Š” ํ•ญ์ƒ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.

    • ์ˆ˜์ • ํ›„ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค๋ฉด ์—ญ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ…์„ ์‚ฌ์šฉํ•˜์—ฌ AI๊ฐ€ ๊ทผ๋ณธ ์›์ธ์ด ๋ฌด์—‡์ด์—ˆ๊ณ  ๋ฏธ๋ž˜์— ์–ด๋–ป๊ฒŒ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์š”์•ฝํ•˜๋„๋ก ํ•˜์—ฌ ์ง€์‹ ๊ธฐ๋ฐ˜์„ ํ’๋ถ€ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜์„ธ์š”. (๋…ธํ•˜์šฐ ์ถ•์ )

AI๋ฅผ ์–ธ์ œ (๊ทธ๋ฆฌ๊ณ  ์–ธ์ œ ํ•˜์ง€ ๋ง์•„์•ผ ํ• ์ง€) ์ฐธ์—ฌ์‹œํ‚ฌ์ง€

  • ๋งˆ์Šคํ„ฐ ํ”„๋กฌํ”„ํ„ฐ๋Š” ๋•Œ๋•Œ๋กœ ํ”„๋กฌํ”„ํŠธํ•  ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค.

    • ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๊ทน๋„๋กœ ์ž‘๊ฑฐ๋‚˜(๋‹จ์ˆœํ•˜๊ฑฐ๋‚˜) ์ด๋ฏธ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด(์˜ˆ: ํ…์ŠคํŠธ ๋ผ๋ฒจ ๋ณ€๊ฒฝ, ํ•˜๋‚˜์˜ ํŒจ๋”ฉ ๊ฐ’ ์กฐ์ •), ์ฝ”๋“œ ์—๋””ํ„ฐ์—์„œ ์ˆ˜๋™์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์†Œํ•œ ์ž‘์—…์— AI์— ๊ณผ๋„ํ•˜๊ฒŒ ์˜์กดํ•˜๋ฉด ์†๋„๊ฐ€ ๋А๋ ค์ง€๊ณ  ํ”„๋กฌํ”„ํŠธ ํ• ๋‹น๋Ÿ‰์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AI๊ฐ€ ๊ฐ€์น˜๋ฅผ ๋”ํ•˜๋Š” ๊ณณ์—์„œ ์‚ฌ์šฉํ•˜์„ธ์š”.
    • ๋ณต์žกํ•œ ๋กœ์ง, ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ƒ์„ฑ, ๋‹ค๋‹จ๊ณ„ ์ž‘์—…, ๋˜๋Š” ํ™•์‹ ์ด ์„œ์ง€ ์•Š๋Š” ๊ฒƒ๋“ค. ๋” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
  • ์ž์‹ ์˜ ์ง€์‹์ด๋‚˜ ๋น ๋ฅธ ๊ฒ€์ƒ‰(๋˜๋Š” Lovable ์™ธ๋ถ€์—์„œ ChatGPT์—๊ฒŒ ์งˆ๋ฌธ)์„ ์‚ฌ์šฉํ•˜์—ฌ ์•Œ์•„๋‚ด์„ธ์š”.

    • ํŠนํžˆ AI๊ฐ€ ์˜คํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์†Œ๋ชจํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—์š”.
    • ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ํ™œ์šฉ: ๋ธŒ๋ผ์šฐ์ € DevTools ์ฝ˜์†”์„ ์—ด์–ด ์š”์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ฑฐ๋‚˜ JavaScript ์˜ค๋ฅ˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋””๋ฒ„๊ทธํ•˜์„ธ์š”. ์ˆ˜์ •์„ ์‹๋ณ„ํ•˜๋ฉด ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ์‹œ:

    • ๋ฒ„ํŠผ์ด ์ž˜๋ชป๋œ ์ƒ‰์ƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•„์ฐจ๋ ธ๋‹ค๋ฉด, AI์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ์˜๋„๋œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์ด ๋ณ€๊ฒฝํ•  ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค CSS ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฐ˜๋ฉด์— ์ฒ˜์Œ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ด๋Š” AI์—๊ฒŒ ์™„๋ฒฝํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค - ๋ฌด์—‡๊ณผ ์™œ๋ฅผ ์„ค๋ช…ํ•˜๋ฉด AI๊ฐ€ ์ฝ”๋“œ๋กœ ์–ด๋–ป๊ฒŒ ํ• ์ง€ ์•Œ์•„๋ƒ…๋‹ˆ๋‹ค.
  • Lovable์˜ AI๋Š” ์–ด์‹œ์Šคํ„ดํŠธ ๊ฐœ๋ฐœ์ž์™€ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์„ธ์š”.

    • ๋ช…ํ™•ํ•œ ์ž‘์—…๊ณผ ๊ฐ๋…์„ ์ œ๊ณตํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐœ๋ฐœ์„ ๊ทน์ ์œผ๋กœ ๊ฐ€์†ํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž‘์—…์„ ๊ฒ€ํ† ํ•˜๊ณ  ์ง€์‹œํ•˜๋Š” ๋ฆฌ๋“œ๋Š” ์—ฌ์ „ํžˆ ๋‹น์‹ ์ž…๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๋„๊ตฌ์—์„œ ์ด๋Ÿฌํ•œ ์ „๋žต ์ ์šฉ

์œ„์˜ ํ”„๋กฌํ”„ํŒ… ์›์น™๋“ค์€ Lovable์˜ ์ฑ„ํŒ…๋ฟ๋งŒ ์•„๋‹ˆ๋ผ AI๋‚˜ ์ž๋™ํ™” ๋„๊ตฌ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์–ด๋””์„œ๋“  ์ ์šฉ๋ฉ๋‹ˆ๋‹ค:

Lovable์˜ Builder์—์„œ

https://lovable.dev/

์ฃผ๋กœ Lovable ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ด๋Ÿฌํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ฐœ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  1. ๊ด‘๋ฒ”์œ„ํ•œ ํ”„๋กœ์ ํŠธ ํ”„๋กฌํ”„ํŠธ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ฐ˜๋ณตํ•˜์„ธ์š”.
  2. ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋…ผ์˜ํ•˜๊ฑฐ๋‚˜ ๋””๋ฒ„๊ทธํ•ด์•ผ ํ•  ๋•Œ๋Š” Chat-Only ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

Make.com์ด๋‚˜ n8n๊ณผ ํ•จ๊ป˜ (์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™”)

์ด๋Ÿฐ ํ”Œ๋žซํผ์€ ์ผ๋ฐ˜ ๋Œ€ํ™”์ฒด ํ”„๋กฌํ”„ํŠธ์™€ ๋ฐฉ์‹์ด ์กฐ๊ธˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž๋™ํ™” ์„ค๊ณ„์—๋Š” ์—ฌ์ „ํžˆ ๋ช…ํ™•ํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ AI ์ง€์‹œ๋ฌธ์ด ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

https://www.make.com/en

https://n8n.io/workflows/

์˜ˆ๋ฅผ ๋“ค์–ด, Lovable์—๊ฒŒ ํ†ตํ•ฉ ๋กœ์ง ์ƒ์„ฑ์„ ์ง€์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
โ€œํผ ์ œ์ถœ ์‹œ, Slack ์•Œ๋ฆผ์„ ์œ„ํ•ด Make.com ์›นํ›…์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ผ.โ€

When a form is submitted, send the data to a Make.com webhook for Slack notification.

Lovable์€ ์›นํ›…๊ณผ์˜ ์—ฐ๊ณ„๋ฅผ ํ†ตํ•ด ์ž๋™ํ™” ๊ตฌ์ถ•์„ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์ด ์ด๋ฉ”์ผ ๋ฐœ์†ก์ด๋‚˜ CRM ์—…๋ฐ์ดํŠธ์ฒ˜๋Ÿผ ์™ธ๋ถ€ ์ž‘์—…์„ ์œ„์ž„ํ•ด์•ผ ํ•  ๋•Œ, Lovable์ด Make ๋˜๋Š” n8n์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ”„๋กฌํ”„ํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1
2
3
โ€œ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ๊ฐ€์ž…ํ•˜๋ฉด, Salesforce์— ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” Make.com ์›Œํฌํ”Œ๋กœ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋ผ.โ€

After a user signs up in the app, trigger a Make.com workflow that creates a record in Salesforce.

์ด ๊ฒฝ์šฐ Lovable์€ ํ•ด๋‹น ์›นํ›…/API ํ˜ธ์ถœ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ช…ํ™•ํ•œ ๋‹จ๊ณ„์™€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ตฌ์กฐํ™”ํ•ด ๋‘๋ฉด, AI๊ฐ€ Lovable๊ณผ ์™ธ๋ถ€ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.

์—ฃ์ง€ ์ผ€์ด์Šค ๋ฐ ์™ธ๋ถ€ ์„œ๋น„์Šค์™€์˜ ํ†ตํ•ฉ

Lovable์€ ๋งŽ์€ ์„œ๋น„์Šค(Stripe, GitHub, Supabase ๋“ฑ)์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ํ”„๋กฌํ”„ํŒ…์—์„œ๋Š” ํ†ตํ•ฉ ์„ธ๋ถ€์‚ฌํ•ญ์„ Context/Constraints์˜ ์ผ๋ถ€๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด,

1
2
3
๊ฒฐ์ œ๋ฅผ ์œ„ํ•ด ์–‘์‹์„ Stripe(ํ…Œ์ŠคํŠธ ๋ชจ๋“œ)์— ์—ฐ๊ฒฐํ•˜์„ธ์š”. ์„ฑ๊ณต ์‹œ /thank-you๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜์„ธ์š”.

Connect the form to Stripe (test mode) for payments. On success, redirect to /thank-you.

์™ธ๋ถ€ ์„œ๋น„์Šค๊ฐ€ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. n8n(์ž์ฒด ํ˜ธ์ŠคํŒ… ์ž๋™ํ™”) ์‚ฌ์šฉ์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค - ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

1
2
3
4
5
์–‘์‹ ์ œ์ถœ ํ›„ n8n ์›นํ›… URL๋กœ POST ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , 
ํ™•์ธ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์„ธ์š”.

Send a POST request to the n8n webhook URL after form submission, 
and wait for its response to show a confirmation message.

์—ฌ๊ธฐ์„œ ๋ช…ํ™•์„ฑ์ด ํ•ต์‹ฌ์ด๋ฏ€๋กœ AI๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ํ˜ธ์ถœ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

TL;DR

  • ๊ฐ•๋ ฅํ•œ ํ”„๋กฌํ”„ํŒ…์€ ๋ช…ํ™•์„ฑ, ๊ตฌ์กฐ, ์ปจํ…์ŠคํŠธ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • Lovable์—๊ฒŒ ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ•˜๋ผ๊ณ  ๋งํ•˜๋“  Make.com ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์กฐ์œจํ•˜๋“ , ๋ชฉํ‘œ๋Š” ์›ํ•˜๋Š” ๊ฒƒ์˜ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ํ™•์‹ ์ด ์„œ์ง€ ์•Š์œผ๋ฉด ๊ตฌ์กฐํ™”๋œ ํ”„๋กฌํ”„ํŠธ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ์ž์‹ ๊ฐ์„ ์–ป์œผ๋ฉด์„œ ๋” ๋Œ€ํ™”ํ˜• ์Šคํƒ€์ผ๋กœ ๋ฐœ์ „์‹œํ‚ค์„ธ์š”.
  • ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์ƒํ˜ธ์ž‘์šฉ์—์„œ ๊ฐœ์„ ํ•˜๊ณ  ๋ฐฐ์šฐ์„ธ์š”.
  • ์—ฐ์Šต์„ ํ†ตํ•ด AI๋ฅผ ๊ฐœ๋ฐœํŒ€์˜ ํ™•์žฅ์ฒ˜๋Ÿผ ์•ˆ๋‚ดํ•  ๊ฒƒ์ด๊ณ  - ํ•„์š”ํ•œ ์ •ํ™•ํ•œ ์ถœ๋ ฅ์„ ์–ป๋Š” ๊ฒƒ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋А๊ปด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์ด์ œ Lovable์˜ AI์— ๋งž์ถ˜ ๋ช…ํ™•ํ•˜๊ณ  ํšจ๊ณผ์ ์ธ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํ™•์‹คํ•œ ์ดํ•ด๋ฅผ ๊ฐ–๊ฒŒ ๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์ธ CLEAR ์›์น™๋ถ€ํ„ฐ few-shot ์˜ˆ์‹œ์™€ ๋ฉ”ํƒ€ ํ”„๋กฌํ”„ํŒ… ๊ฐ™์€ ๊ณ ๊ธ‰ ์ „๋žต๊นŒ์ง€, ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•๋“ค์€ AI๋กœ๋ถ€ํ„ฐ ์ •ํ™•ํžˆ ํ•„์š”ํ•œ ๊ฒƒ์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก - ๊ทธ ์ด์ƒ๋„ ๊ทธ ์ดํ•˜๋„ ์•„๋‹Œ - ํž˜์„ ์‹ค์–ด์ค๋‹ˆ๋‹ค. ์š”์ฒญ์„ ๊ตฌ์กฐํ™”ํ•˜๊ณ , ์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ณ , ํ™˜๊ฐ๊ณผ ๊ฐ™์€ ํ•จ์ •์„ ํ”ผํ•˜๊ณ , Lovable ํŠนํ™” ๊ธฐ๋Šฅ๋“ค(Knowledge Base, Chat mode ๋“ฑ)์„ ํ™œ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ์ˆ˜์ค€์˜ ํ”„๋กฌํ”„ํŒ…์€ ๊ฒŒ์ž„ ์ฒด์ธ์ €์ž…๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ ์ˆ˜์ค€์˜ ํ”„๋กฌํ”„ํŒ…์€ AI๋ฅผ ๊ธฐ๋ฏน์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํŒ€์›์œผ๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค. ์—ฐ์Šต์„ ํ†ตํ•ด ๋” ๋น ๋ฅด๊ฒŒ ์•ฑ์„ ๊ตฌ์ถ•ํ•˜๊ณ , ์ขŒ์ ˆ๊ฐ ์—†์ด ๋””๋ฒ„๊ทธํ•˜๊ณ , ๋‹จ์ˆœํžˆ ์˜ฌ๋ฐ”๋ฅธ ์งˆ๋ฌธ์„ ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์ฐฝ์˜์ ์ธ ์†”๋ฃจ์…˜์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์ง€์‹œ์‚ฌํ•ญ์—์„œ ์Šค๋งˆํŠธํ•˜๊ณ , ๊ฐ„๊ฒฐํ•˜๊ณ , ์ง์ ‘์ ์ด๊ณ , ์ ์‘์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค - ๋งˆ์น˜ ์ˆ™๋ จ๋œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ํŒ€๊ณผ ์†Œํ†ตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ง์ด์ฃ .

๋งˆ์ง€๋ง‰์œผ๋กœ, ๊ฐ ์ƒํ˜ธ์ž‘์šฉ์—์„œ ํ•ญ์ƒ ๋ฐฐ์šฐ์„ธ์š”(๊ทธ ์„ฑ์ฐฐ์  ์Šต๊ด€).

๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ/์‘๋‹ต์€ ๊ธฐ๋ฒ•์„ ๋”์šฑ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ํ”ผ๋“œ๋ฐฑ์ž…๋‹ˆ๋‹ค. Lovable์—์„œ ๊ณ„์† ๊ตฌ์ถ•ํ•˜๋ฉด์„œ AI๊ฐ€ ํ›Œ๋ฅญํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ง๊ฐ์„ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์ž์‹ ์˜ ๋…์ฐฝ์„ฑ๊ณผ ๊ฒฐํ•ฉํ•˜๋ฉด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค.

ํฐ ์•„์ด๋””์–ด์— ์ง‘์ค‘ํ•˜์„ธ์š”

๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ๋ ค์ฃผ๋ฉด Lovable์˜ AI๊ฐ€ ์‹คํ–‰ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜์„ธ์š”.

ํ–‰๋ณตํ•œ ํ”„๋กฌํ”„ํŒ…๊ณผ ํ–‰๋ณตํ•œ ๊ตฌ์ถ•์„!
์˜ค๋Š˜๋„ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ’Œ



-->