๋‚ด๊ฐ€ ์ฒ˜์Œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฒฐ์‹ฌํ–ˆ์„ ๋• ๋‚˜์™€์žˆ๋˜ ํ•œ๊ตญ์–ด ์ž๋ฃŒ๋„ ์—†์—ˆ๊ณ 

์˜์–ด ์ž๋ฃ ์žˆ์—ˆ์ง€๋งŒ ๋งŒ์กฑ์Šค๋Ÿฝ์ง„ ๋ชปํ–ˆ์—ˆ์Œ

๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ ์ด๊ฑธ ๋ณด๋Š” ์ด๋“ค์€ ChatGPT ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“œ๋Š” ๋ฐ์— ๋” ์ด์ƒ ๋‚˜๊ฐ™์€ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฒช์ง€ ์•Š๋„๋ก ํ•˜๊ณ ์ž ์ด ๊ธ€์„ ์ž‘์„ฑํ•จ

์ด ๊ธ€์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ œ์ž‘, ๋ฐฐํฌ๊นŒ์ง€ ๋ชจ๋“  ๊ณผ์ •์„ ํฌํ•จํ•ด ๊ฐ€์ด๋“œํ•  ์˜ˆ์ •์ด๋‹ˆ ์ž˜ ๋”ฐ๋ผ์˜ค๊ธธ ๋ฐ”๋žŒ







Chapter 1. ์•„์ด๋””์–ด ๊ตฌ์ƒํ•˜๊ธฐ


์ด๋ฏธ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ๋‹ค๋ฉด ์ด ์ฑ•ํ„ฐ๋Š” ๋„˜์–ด๊ฐ€๋„ ์ข‹์Œ

๋‹น์—ฐํ•œ ์†Œ๋ฆฌ์ง€๋งŒ ๋งŒ๋“ค๊ณ  ์‹ถ์€๊ฒŒ ์—†์œผ๋ฉด ๋ฐฐ์šธ ์˜๋ฏธ๋„ ์—†์ง€


๊ทผ๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์•„์ด๋””์–ด ์งœ๋Š”๊ฒŒ ์‰ฌ์šด ์ผ๋งŒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—

๋”ฐ๋กœ ์ด ์ฑ•ํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ๊ฒฐ์‹ฌํ•จ


๋‚ด๊ฐ€ ๊ฒฝํ—˜ํ•œ ๋ฐ”๋กœ, ์•„์ด๋””์–ด ์งœ๋Š”๊ฒŒ ์–ด๋ ค์šด ์ด์œ ๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€์ž„


1. OpenAI๊ฐ€ ์•ž์œผ๋กœ ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ธฐ๋Šฅ์„ ์ž์ฒด์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Œ

2. ์ฑ„ํŒ…์— ๊ตญํ•œ๋œ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ญ˜ ๋” ๋„ฃ์–ด์•ผ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ์„ ์ง€๊ฐ€ ๋ง‰๋ง‰ํ•จ


๊ทธ๋ž˜์„œ ์•„์ด๋””์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ์— ๋‚ด๊ฐ€ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•์€,

๋‹ค๋ฅธ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์„ ๋‘๋ฃจ๋‘๋ฃจ ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ๊ณณ์—์„œ ๋ถ€์กฑํ•œ ์ ์„ ์ฐพ์•„ ๊ทธ ๊ธฐ๋Šฅ์„ ๋ณด์™„ํ•ด๋ณด๊ธฐ์ž„

์ง€๊ธˆ ์ด ๊ธ€ ์ž‘์„ฑ ๊ธฐ์ค€์œผ๋กœ ์ •์‹์œผ๋กœ ์ถœ์‹œ๋˜์–ด plugin store์— ๋‚˜์™€์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์€ 8*76 + 5 = 701๊ฐœ์ž„

์ด๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ๋ณด๋ž€ ์†Œ๋ฆฐ ์•„๋‹ˆ๊ณ , ์“ธ๋งŒํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ช‡ ๊ฐœ ๊ณ ๋ฅด๋‹ค๋ณด๋ฉด '์•„ ์ด๊ฒŒ ์•ˆ๋˜๋„ค' ํ•˜๋Š”๊ฒŒ ๋‚˜์˜ด


๋‚ด ๊ฒฝํ—˜์„ ์–˜๊ธฐํ•ด์ฃผ์ž๋ฉด, ํ•„์ž๋Š” ํ•œ ์˜์–ด ๋‹คํ๋ฉ˜ํ„ฐ๋ฆฌ ์ฑ„๋„์˜ ์˜์ƒ์„ ํ•œ๊ตญ์–ด๋กœ ๋ฒˆ์—ญํ•˜๋Š” ๋ด‰์‚ฌ๋ฅผ ์ทจ๋ฏธ์‚ผ์•„ ํ•˜๊ณ  ์žˆ์Œ

๊ทผ๋ฐ ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ๊ฐ€์ ธ์™€ ์š”์•ฝํ•ด์ฃผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ๋‹ค๊ณ  ํ•ด์„œ

'๊ทธ๋Ÿผ ์œ ํŠœ๋ธŒ ์˜์ƒ ์ž๋ง‰์„ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ์š”์•ฝํ•˜๊ฒ ๋„ค?' > '๊ทธ๋Ÿผ ๋ฒˆ์—ญ๋„ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์„๊นŒ?'

๋ผ๋Š” ์‚ฌ๊ณ ๊ฐ€ ๋Œ์•„๊ฐ€๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ 


๊ทธ ๊ฒฐ๊ณผ ChatGPT๋Š” ๋‚ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž๋ง‰์„ ๋ฒˆ์—ญํ•ด์„œ ์ค„์ค„์ด ์Š์–ด๋ƒˆ์Œ

๊ทผ๋ฐ ๋ฌธ์ œ๋Š” ์ด์ œ ์ด๊ฑธ ์ž๋ง‰ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”๋ฐ,

์•„๋Š” ์‚ฌ๋žŒ์€ ์•Œ๊ฒ ์ง€๋งŒ, ์ž๋ง‰ ํŒŒ์ผ์€ ๊ทธ ์ž๋ง‰์ด ์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ ํžŒ ํƒ€์ž„ ์Šคํƒฌํ”„๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•จ

๋‹จ์ˆœํžˆ ๋ฒˆ์—ญ๊ธฐ๋กœ ์“ฐ๊ธฐ์—” ๋„ˆ๋ฌด ์•„๊น๋‹ค ์‹ถ์–ด์„œ, ์ž๋ง‰ ๋ฒˆ์—ญ ์ž‘์—… + ํ˜•์‹ํ™” ์ž‘์—…๊นŒ์ง€ ์•Œ์•„์„œ ํ•ด์ฃผ๋ฉด ์–ผ๋งˆ๋‚˜ ์ข‹์„๊นŒ?

๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ฆ


ํ˜„์žฌ ๋‚˜์™€์žˆ๋˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ค‘์— ์ž๋ง‰ ํƒ€์ž„์Šคํƒฌํ”„๊นŒ์ง€ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, '์•„, ์ด๊ฑฐ๊ตฌ๋‚˜!'

์‹ถ์–ด์„œ ๋ฐ”๋กœ ์ž‘์—… ๋“ค์–ด๊ฐ






Chapter 2. ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ž‘๋™ ๋ฐฉ์‹ ์•Œ์•„๋ณด๊ธฐ


์ˆœ์„œ๋Œ€๋กœ ์„ค๋ช…ํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

1. ๋‹น์‹ ์ด ๋งŒ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•ด GPT๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๋ช…์„ ํ•ด ๋†“์€ ํŒŒ์ผ์„ GPT๊ฐ€ ์ฝ๋Š”๋‹ค

  • ์ด๋•Œ, GPT์—๊ฒŒ '๊ทธ ์„ค๋ช…์„ ํ•ด๋†“์€ ํŒŒ์ผ'์„ '์—ฌ๊ธฐ์žˆ์–ด' ํ•˜๊ณ  ์ค„ ์ˆœ ์—†๋‹ค. ์ด ํŒŒ์ผ์„ ์ €์žฅํ•ด ๋†“์€ ๋‹น์‹ ๋งŒ์˜ ์‚ฌ์ดํŠธ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • '๊ทธ ํŒŒ์ผ'์—๋Š” ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์–ด๋–ป๊ฒŒ GPT๊ฐ€ ์“ฐ๋ฉด ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค(ํ•„์ˆ˜)
2. ๊ทธ๋ ‡๊ฒŒ ์ œ์ž‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ plugin store์— ๋“ฑ๋กํ•œ๋‹ค
  • plugin store์— ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ •์‹์œผ๋กœ ๋“ฑ๋ก๋˜๋ ค๋ฉด OpenAI ๊ฐœ๋ฐœ์ž ๊ณ„์ •์ด ์žˆ์–ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค
  • ๊ฐœ๋ฐœ์ž ๊ณ„์ •์€ ์—ฌ๊ธฐ์—์„œ ์ด๋ฆ„, ์ด๋ฉ”์ผ, ์ฃผ์†Œ ์ ๊ณ  How do you want to use plugins? ํ•ญ๋ชฉ์— I am a developer and want to build a plugin์— ์ฒดํฌํ•˜๊ณ  ๋ฌด์Šจ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค๊ณ  ์‹ถ์€์ง€ ์ ๋Š” ๋ž€(What do you want to build a plugin for?)์— ๋ฌด์Šจ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งŒ๋“ค์ง€ ์ ๊ณ  ์ œ์ถœํ•œ ๋‹ค์Œ ํƒ๋ฐฐ ์˜ค๋Š”๊ฑฐ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฑฐ ๋งˆ๋ƒฅ ์ด๋ฉ”์ผ ์กด๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ ํ•˜๋ฉด์„œ OpenAI ๋กœ๋ถ€ํ„ฐ ์˜จ ๋ฉ”์ผ์„ ์†๊ฐ€๋ฝ ์ชฝ์ชฝ ๋นจ๋ฉด์„œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค(์•„๋ž˜ ์‚ฌ์ง„์€ ๋ฏธ๋ž˜์˜ ๋‹น์‹ ์ด ๋ณด๊ฒŒ ๋  ๋ฉ”์ผ)

  • ๊ฐœ๋ฐœ์ž ๊ณ„์ •์„ ๋ฐ›์•˜๋‹ค๋ฉด, ์ด์ œ plugin store์— ์ƒˆ๋กœ์šด ๋ฒ„ํŠผ(Install an unverified plugin, Develop your own plugin)์ด ์ƒ๊ฒผ์„ ๊ฒƒ์ด๋‹ค. Develop your own plugin ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ์ œ์ž‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ์ถœํ•˜์ž(์ด ๊ณผ์ •์ด ์—†์œผ๋ฉด OpenAI๋Š” ๋‹น์‹ ์ด ๋ฌด์Šจ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค. ๊ผญ๊ผญ ์ œ์ถœ๋งˆ๋‹ค, ์—…๋ฐ์ดํŠธ๋งˆ๋‹ค ์žŠ์ง€๋ง๊ณ  ์ œ์ถœํ•˜์ž)

  • OpenAI ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ณ  ์—ฌ๊ธฐ๋กœ ๊ฐ€์„œ ๋งจ ๋ฐ‘์— plugin submission bot์ด๋ผ ์จ์ง„ ์ดˆ๋ก์ƒ‰ ๊ธ€์”จ๋ฅผ ํด๋ฆญํ•œ๋‹ค
  • ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ์ž‘ํ•  ๋•Œ์— ์ง€์ผœ์•ผํ•  ์ˆ˜์น™์„ ๋ชจ๋‘ ์ง€์ผฐ๋Š”๊ฐ€๋ฅผ ์žฌํ™•์ธ ์‹œ์ผœ์ฃผ๋Š” ์„ค๋ฌธ์„ ์™„๋ฃŒํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์ผ์ด ๋„์ฐฉํ•ด ์žˆ์„๊ฒƒ์ด๋‹ค

  • ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฒ€ํ†  ์ค‘, ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์ž‘ ์•ฝ๊ด€์— ์œ„๋ฐฐ๋˜๋Š” ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‹ค๋ฉด, ํ•ด๋‹น ์‚ฌํ•ญ์„ ๊ณ ์ณ๋‹ฌ๋ผ๋Š” ๋‚ด์šฉ์˜ ๋ฉ”์ผ์„ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋ฌด์Šจ ์‚ฌํ•ญ ๋•Œ๋ฌธ์— ๊ฑฐ๋ถ€๋๋Š”์ง€ ์นœ์ ˆํ•˜๊ฒŒ ์•Œ๋ ค์ค€๋‹ค

  • ์•„๋ฌด ๋ฌธ์ œ๊ฐ€ ์—†์ด ๋„˜์–ด๊ฐ„๋‹ค๋ฉด, ๋ณดํ†ต ๋น ๋ฅด๋ฉด 24์‹œ๊ฐ„ ๋‚ด์—, ๋А๋ฆฌ๋ฉด ์ดํ‹€ ์•ˆ์— ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด plugin store์— ์ •์‹์œผ๋กœ ๋“ฑ๋ก๋˜์—ˆ๋‹ค๋Š” ๋ฉ”์ผ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค


3. ์œ ์ €๋“ค์ด ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ plugin store์—์„œ ๋‹ค์šด ๋ฐ›๊ณ  ์‹คํ–‰ ์‹œํ‚จ๋‹ค

4. ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์ด์šฉ๋œ API์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๊ณ , ๊ทธ์— ๋”ฐ๋ผ endpoint๋ฅผ ์ž‘์„ฑํ•ด ๊ด€๋ จ ์ •๋ณด๋ฅผ ์š”๊ตฌํ•œ๋‹ค (๋‚˜์ค‘์— ์„ค๋ช…ํ• ํ…Œ๋‹ˆ ๋ชจ๋ฅด๋ฉด ์ผ๋‹จ ๋„˜์–ด๊ฐ€์ž)

5. ๋‹น์‹ ์˜ API๊ฐ€ ํ˜ธ์ŠคํŒ…๋œ ์›น์‚ฌ์ดํŠธ๊ฐ€ GPT๊ฐ€ ์ ์€ endpoint ๋‚ด์šฉ์— ๋”ฐ๋ผ GPT๊ฐ€ ์š”๊ตฌํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ๋‹ค ์ค€๋‹ค (๋‚˜์ค‘์— ์„ค๋ช…ํ• ํ…Œ๋‹ˆ ๋ชจ๋ฅด๋ฉด ์ผ๋‹จ ๋„˜์–ด๊ฐ€์ž)

6. ๋‹น์‹ ์˜ ์›น์‚ฌ์ดํŠธ์˜ ์‘๋‹ต์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•ด์„œ GPT๊ฐ€ ์ž์—ฐ์–ด๋ฅผ ์ถ”๊ฐ€ํ•ด ์œ ์ €๊ฐ€ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๊ฐ€๊ณตํ•ด ์ „๋‹ฌํ•œ๋‹ค






Chapter 3. ํ•„์š”ํ•œ ๊ฒƒ ์•Œ์•„๋ณด๊ธฐ


ChatGPT ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“œ๋Š”๋ฐ์— ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ๊ฒƒ๋“ค์ด ์žˆ๋‹ค

  1. ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ฝ”๋“œ(์–ธ์–ด ์ƒ๊ด€ ์—†์Œ)
  2. ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ ์‹คํ˜„์— ๋„์›€์„ ์ค„ API(ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ด€๋ จ ์ง€์‹์ด ์—†๋‹ค๋ฉด, ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž์„ธํžˆ ์ฝ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค)
  3. ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ญํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ๊ฐ€๋ฅผ GPT์—๊ฒŒ ์•Œ๋ ค์ค„ ํ…์ŠคํŠธ(ai-plugin.json)
  4. ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์“ฐ์ธ API๋ฅผ GPT๊ฐ€ ์–ด๋–ป๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ค„ ํ…์ŠคํŠธ(openapi.yaml)
  5. ๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์— ์“ฐ์ธ API ์š”์ฒญ์„ GPT์™€ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋‚˜๋งŒ์˜ ์›น์‚ฌ์ดํŠธ(ํ˜ธ์ŠคํŒ… ์„œ๋ฒ„ ํ•„์š”)
  6. OpenAI ๊ฐœ๋ฐœ์ž ๊ณ„์ •(์ œ์ถœ์šฉ์ž„, ์ด๊ฑฐ ์—†์–ด๋„ '์ œ์ž‘'์€ ๊ฐ€๋Šฅํ•จ)
์ฐธ๊ณ  : 99% ํ™•๋ฅ ๋กœ ํ•„์š”ํ•  ๊ฒƒ๋“ค(์ด ๊ธ€์—์„œ ์ด์šฉํ•  ๊ฒƒ๋“ค์ด๊ธฐ๋„ ํ•จ)
  1. git
  2. github ๊ณ„์ •

๋Œ€๋ถ€๋ถ„ ์™œ ์žˆ์–ด์•ผ ํ•  ์ง€ ์ง์ž‘์€ ๊ฐ€๊ฒ ์ง€๋งŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ฒฝํ—˜์ด ์—†๋Š” ๋…์ž๋“ค์—๊ฒ ์ด๊ฒƒ๋งŒ์œผ๋กœ ์ดํ•ดํ•˜๊ธด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค

์ง€๊ธˆ๋ถ€ํ„ฐ ๊ฐ๊ฐ์ด ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž(1๋ฒˆ์€ ์™œ ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ๋„ˆ๋ฌด ๋‹น์—ฐํ•˜๋ฏ€๋กœ, 6๋ฒˆ์€ ์•ž ์ฑ•ํ„ฐ์—์„œ ์„ค๋ช…ํ–ˆ์œผ๋‹ˆ ์ƒ๋žต)


3)

๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ai-plugin.json ํŒŒ์ผ์ด ์š”๊ตฌ๋œ๋‹ค. ์ด๊ฒŒ ์—†์œผ๋ฉด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ œ์ถœ์€ ์ปค๋…• ์ž‘๋™์กฐ์ฐจ ๋ชป ํ•œ๋‹ค

ai-plugin.json ํŒŒ์ผ์ด ํ•˜๋Š” ์ผ์€, ์•ž์—์„œ ๋งํ–ˆ๋“ฏ์ด ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด '๋‚ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ด๋Ÿฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด์•ผ~'๋ฅผ GPT์—๊ฒŒ ๊ฐ€๋ฅด์ณ ์ฃผ๋Š” ์šฉ๋„์ด๋‹ค

๋‹ค์Œ์€ ai-plugin.json ํŒŒ์ผ์˜ ์˜ˆ์‹œ๋‹ค


{

"schema_version": "v1",

"name_for_human": "TODO List",

"name_for_model": "todo",

"description_for_human": "Manage your TODO list. You can add, remove and view your TODOs.",

"description_for_model": "Help the user with managing a TODO list. You can add, remove and view your TODOs.",

"auth": {

"type": "none"

},

"api": {

"type": "openapi",

"url": "http://localhost:3333/openapi.yaml"

},

"logo_url": "http://localhost:3333/logo.png",

"contact_email": "support@example.com",

"legal_info_url": "http://www.example.com/legal"

}


์œ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€

  • name_for_human
  • name_for_model
  • description_for_human
  • description_for_model
  • auth
  • url
  • logo_url
  • contact_email
  • legal_info_url
์ •๋„๋‹ค

์“ฐ๊ณ  ๋†“๊ณ  ๋ณด๋‹ˆ ํ•„์š”์—†๋Š” ๋ถ€๋ถ„์„ ์•Œ๋ ค์ฃผ๋Š”๊ฒŒ ํ›จ ๋‚˜์•˜์„ ๋“ฏ ์‹ถ์ง€๋งŒ ๋„˜์–ด๊ฐ€์ž



๋จผ์ €

name_for_human : ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ, ์ผ๋ฐ˜ ์œ ์ €๋“ค์—๊ฒŒ ๋ณด์ผ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ด๋ฆ„์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ plugin store์—์„œ ๋งˆ์ฃผ์น˜๋Š” ์ด๋ฆ„๋“ค์ด ์—ฌ๊ธฐ์— ์†ํ•œ๋‹ค. ์œ„ ์˜ˆ์‹œ์—์„œ 'Wolfram'์— ํ•ด๋‹นํ•œ๋‹ค


name_for_model : ์ด๊ฒƒ ์—ญ์‹œ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ, ์–ธ์–ด๋ชจ๋ธ(GPT)์—๊ฒŒ ๋ณด์—ฌ์งˆ ์ด๋ฆ„, ์ฆ‰, ChatGPT๊ฐ€ ๋ณด๊ฒŒ ๋  ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์ด๋ฆ„์ด๋ฉฐ, ์ผ๋ฐ˜ ์œ ์ €๋“ค์€ ์ด๊ฑธ ๋ณผ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค


description_for_human : ์œ ์ €๋“ค์—๊ฒŒ ๋ณด์—ฌ์งˆ ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์„ค๋ช…์ด๋‹ค. ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€ ๋ณด์—ฌ์ค„ ์งง์€ ์„ค๋ช…์ด๋‹ค. 'Access computation, math, curated knowledge & real-time data through Wolfram|Alpha and Wolfram Language.' ๊ฐ€ ์ด์— ํ•ด๋‹นํ•œ๋‹ค.


description_for_model : ๋ชจ๋ธ์—๊ฒŒ ๋ณด์—ฌ์งˆ ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์„ค๋ช…์ด๋‹ค. ์‚ฌ์‹ค ์ด๊ฒŒ ๋ฌด์—‡๋ณด๋‹ค๋„ ์ค‘์š”ํ•˜๋‹ˆ ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ๋’ค๋กœ ๋ฏธ๋ค„๋‘๊ฒ ๋‹ค.


auth : ์ธ์ฆ๋ฐฉ์‹์ด๋‹ค. ์ด ๊ธ€์„ ์“ฐ๊ณ  ์žˆ๋Š” ํ˜„์žฌ OpenAI์—์„  ์„œ๋น„์Šค ๋ ˆ๋ฒจ์ธ์ฆ, OAuth๋ฅผ ์ง€์›ํ•œ๋‹ค. ๋ฌด์Šจ ์–˜๊ธด์ง€ ๋ชฐ๋ผ๋„ ์ข‹๋‹ค. ๋งŒ์•ฝ ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์‹ค์ œ ์„ธ๊ณ„์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋ฉด(์˜ˆ๋ฅผ ๋“ค์–ด, ์‡ผํ•‘ ์•ฑ์—์„œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ํ’ˆ๋ชฉ์„ ๋‹ด๋Š” ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค๋ฉด) ๋ฐ˜๋“œ์‹œ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.


url : ๋‹น์‹ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ˜ธ์ŠคํŒ… ๋˜๊ณ  ์žˆ๋Š” ๋ฉ”์ธ ์ฃผ์†Œ ๋งํฌ๋ฅผ ์ ๋Š” ๋ž€์ด๋‹ค. ํ˜ธ์ŠคํŒ… ์ฑ•ํ„ฐ์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.


logo_url : ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋กœ๊ณ ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๊ณ  ์žˆ๋Š” ์ฃผ์†Œ์ด๋‹ค. ์—†์–ด๋„ ๋  ๊ฒƒ ๊ฐ™์ง€๋งŒ ์•„๋‹ˆ๋‹ค.


contact_email : ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ, ๊ฐœ๋ฐœ์ž์ธ ๋‹น์‹ ์˜ ์ด๋ฉ”์ผ์„ ์ ๋Š” ๋ž€์ด๋‹ค. ์ด ์—ญ์‹œ๋„ ์—†์œผ๋ฉด ์•ˆ๋œ๋‹ค.


regal_info_url : ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ฒ•์  ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํ™ˆํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๋ฅผ ์ ๋Š” ๋ž€์ด๋‹ค. ๋˜ํ•œ ์—†์–ด์„  ์•ˆ๋œ๋‹ค.


๊ฐ๊ฐ์˜ ํ•ญ๋ชฉ์„ ์ ๋Š”๋ฐ์—๋Š” ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผํ•  ์ˆ˜์น™์ด ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ถœ์ฒ˜ : https://platform.openai.com/docs/plugins/getting-started/plugin-manifest

name_for_human : ์ตœ๋Œ€ 20์ž(์•ŒํŒŒ๋ฒณ ๊ธฐ์ค€)

name_for_model : ์ตœ๋Œ€ 50์ž, ๋„์–ด์“ฐ๊ธฐ ์—†์ด ๋ฌธ์ž์™€ ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ

description_for_human : ์ตœ๋Œ€ 100์ž

description_for_model : ์ตœ๋Œ€ 8000์ž, ์™œ ์ด๋ ‡๊ฒŒ ๊ธธ๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ๋‚˜์ค‘์— ์„ค๋ช…ํ•จ

logo_url : GIF ํฌ๋งท์˜ ๋กœ๊ณ ๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ, png ํฌ๋งท์œผ๋กœ ํ•ด์•ผ ํ•จ

๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ๋งŒ ์ œ์‹œํ•  ๊ฒƒ

์˜ฌ๋ฐ”๋ฅธ ๋ฌธ๋ฒ•์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ๊ตฌ๋‘๋ฒ•์„ ์ง€ํ‚ฌ ๊ฒƒ

์ด๋ฆ„์ด๋‚˜ ์„ค๋ช…์— plugin, chatgpt, gpt, openai ์™€ ๊ฐ™์€ ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€์„  ์•ˆ ๋จ

์ง€์—ญ ํŠน์ƒ‰์ (geographical limitations)์ธ ๊ธฐ๋Šฅ์ด ์žˆ์„ ๊ฒฝ์šฐ, ์ ์–ด ๋†“์„ ๊ฒƒ


์ด์ œ ์„ค๋ช…์„ ๋ฒผ๋ ค์™”๋˜ description_for_model์„ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค


description_for_model์€ ์ด๋ฆ„๋งŒํผ ๋‹จ์ˆœํ•˜์ง€๋งŒ, ๊ฒฐ์ฝ” ์ž„ํŒฉํŠธ๊ฐ€ ์ ์ง€ ์•Š๋‹ค. ์˜ˆ์‹œ๋กœ, ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ description_for_model์€ 6000์ž๊ฐ€ ๋„˜๋Š”๋‹ค.

description_for_model์€ ๋‹น์‹ ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ณต๊ฐ„์ด๋‹ค.


OpenAI ์˜คํ”ผ์…œ๋กœ, ChatGPT๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์–ธ์ œ ์“ธ์ง€ ์•Œ์•„์„œ ์•Œ์•„๋จน๋Š”๋‹ค๊ณ  ๋‚˜์™€์žˆ๋Š”๋ฐ(Try a version of ChatGPT that knows when and how to use third-party plugins that you enable.), ๋‹ค ๊ฐœ๋ปฅ์ด๋‹ค. ์ด๊ฑฐ๋ณด๊ณ  ์•„๋Š” ๊ฑฐ๋‹ค.


ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹น์‹ ์ด ์ ์„ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค

  • ๋‹น์‹ ์ด ์–ธ์ œ(๋ฌด์Šจ ์ƒํ™ฉ์—) ChatGPT๊ฐ€ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ผ์œผ๋ฉด ํ•˜๋Š”๊ฐ€
  • ChatGPT๊ฐ€ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์–ด๋–ค ์‹์œผ๋กœ ํ™œ์šฉํ–ˆ์œผ๋ฉด ํ•˜๋Š”๊ฐ€

์˜ˆ์‹œ๋กœ, ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ description_for_model field๋ฅผ ๊ณต๊ฐœํ•˜๊ฒ ๋‹ค


Plugin for retrieving YouTube video captions. You can retrieve captions from any YouTube video by providing its URL. You can also use the caption for translating and summarizing the video. You can select which language and type to retrieve, the type has set to manual by default, and retrieve language which user's language used for retrieving request if there's no mention of it. If there's no manually created captions available, retrieve auto generated one. When being asked to translate, try to retrieve English caption, if there's none, list available language and retrieve the easiest one you can translate, then translate it by yourself.


์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ChatGPT์—๊ฒŒ ์š”์ฒญํ–ˆ๋˜ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

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

์œ„์˜ ์š”์ฒญ ์‚ฌํ•ญ๋“ค์€ ํฌ๊ฒŒ 4๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค


1. ์–ธ์ œ ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์“ฐ๋Š”๊ฐ€

  • ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์œ ํŠœ๋ธŒ ์˜์ƒ ๋งํฌ๋กœ๋ถ€ํ„ฐ ์ž๋ง‰์„ ์ถ”์ถœํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉํ•  ๊ฒƒ
2. ์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€
  • ์ž๋ง‰์„ ์ถ”์ถœํ•œ ๋’ค, ๊ทธ ์˜์ƒ์„ ์š”์•ฝ ๋˜๋Š” ๋ฒˆ์—ญํ•ด๋‹ฌ๋ผ๋Š” ์œ ์ €์— ์š”์ฒญ์— ์‘ํ•  ๊ฒƒ
  • ๋ฒˆ์—ญ์„ ํ•ด๋‹ฌ๋ผ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๊ฒฝ์šฐ, ์˜์–ด ์ž๋ง‰์„ ๊ฐ€์ ธ์™€ ๋ฒˆ์—ญ ํ•  ๊ฒƒ. ๋งŒ์•ฝ ์˜์–ด ์ž๋ง‰์ด ์—†๋‹ค๋ฉด, ๋„ˆ๊ฐ€ ๋ฒˆ์—ญํ•˜๊ธฐ ์ œ์ผ ์ž์‹ ์žˆ๋Š” ์ž๋ง‰์„ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ.
3. ์„ธ๋ถ€์ ์œผ๋กœ ์š”๊ตฌํ•˜๋Š” ์œ ์ €์—๊ฒŒ ์–ด๋–ป๊ฒŒ ์‘ํ•˜๋ฉด ๋˜๋Š”๊ฐ€
  • ์ž๋ง‰์„ srt ํฌ๋ฉง(ํƒ€์ž„ ์Šคํƒฌํ”„๊ฐ€ ์žˆ๋Š” ๋ฒ„์ „)์œผ๋กœ ์ถ”์ถœํ•ด๋‹ฌ๋ผ ์š”์ฒญํ•˜๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ•ด์ค„ ๊ฒƒ
4. ๋ญ˜ ์–ด๋–ป๊ฒŒ ํ•ด์ค˜์•ผ ๋งŒ์กฑํ•  ์ง€ ๋ชจ๋ฅด๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ค€ ์œ ์ €๋ฅผ ๋Œ€์ฒ˜ํ•˜๋Š” ๋ฒ•
  • ์ž๋ง‰ ํฌ๋ฉง์— ๋Œ€ํ•ด ์•„๋ฌด ๋ง๋„ ์—†์œผ๋ฉด ๊ทธ๋ƒฅ ๋‚ด์šฉ๋งŒ ์ถ”์ถœํ•  ๊ฒƒ
  • ์œ ์ €๊ฐ€ ์–ด๋–ค ์–ธ์–ด์˜ ์ž๋ง‰์„ ์ถ”์ถœํ•ด๋‹ฌ๋ผ ์ง€์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ์œ ์ €๊ฐ€ ์š”์ฒญ์„ ํ•  ๋•Œ ์ด์šฉํ–ˆ๋˜ ์–ธ์–ด์˜ ์ž๋ง‰์„ ์šฐ์„ ์ ์œผ๋กœ ์ฐพ์•„๋ณผ ๊ฒƒ

description_for_model์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง๋กœ ์‰ฌ์šด ์ผ์ด๋‹ˆ ๊ฑฑ์ • ๋ง์ž.

์˜ˆ์‹œ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ์ด๊ฑธ ์ฝ๋Š” ์ฃผ์ฒด๊ฐ€ GPT์ด๋‹ˆ ๋งŒํผ, ์ด ๋ถ€๋ถ„์€ ์ž์—ฐ์–ด(๊ทธ๋ƒฅ ํ‰์†Œ์— GPT๋ž‘ ๋Œ€ํ™”ํ•˜๋“ฏ์ด)๋กœ ์ž‘์„ฑํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค!






2), 4), 5)

์•ž์œผ๋กœ ์„ค๋ช…ํ•œ ๋‚ด์šฉ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ํ•„์š”ํ•œ 'API'๋ž€ ๋†ˆ์— ๋Œ€ํ•œ ๊ฑฐ๋‹ค

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์‹์ด ์—†๋”๋ผ๋„ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ธ€์„ ์“ฐ๊ฒ ๋‹ค๊ณ  ์ œ๋ชฉ์— ๋–กํ•˜๋‹ˆ ๊ฑธ์–ด๋†จ์œผ๋‹ˆ ์„ค๋ช…์€ ํ•˜๊ฒ ๋‹ค๋งŒ,

๋”ฑ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์ž‘ ์ดํ•ด๋งŒ ๋„์šธ ์ •๋„๋กœ ์•Œ๋ ค์ค„ํ…Œ๋‹ˆ, API์— ๋Œ€ํ•ด ๋” ์ „๋ฌธ์ ์œผ๋กœ ์•Œ์•„๋ณด๊ณ  ์‹ถ์œผ๋ฉด ๋”ด ๋ฐ๋ฅผ ์ฐพ๊ธธ ๋ฐ”๋ž€๋‹ค

๋ผ๋ฉฐ ์ง์ ‘ ์„ค๋ช…ํ•ด๋ณด๋ ค๊ณ  ํ˜ธ๊ธฐ๋กญ๊ฒŒ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ์€์—ฐ์ค‘์— GPTํ•œํ…Œ ๋ฌผ์–ด๋ณด๋‹ˆ ์ •์ž‘ ๋‚ด๊ฐ€ ์ค€๋น„ํ•œ ๋‚ด์šฉ๋ณด๋‹ค ์„ค๋ช…์„ ๋„ˆ๋ฌด ์ž˜ํ•ด์„œ ๊ทธ๋ƒฅ ๋ณต๋ถ™ํ•˜๊ฒ ๋‹ค


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


์ด ์ƒํ™ฉ์—์„œ API(Application Programming Interface)๋Š” ๋ฉ”๋‰ด์™€ ์ฃผ๋ฌธ์„ ๋ฐ›๋Š” ์„œ๋น™ ์ง์›์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ํŠน์ • ์š”๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ฉด, ๊ทธ ์š”์ฒญ์„ ์ฃผ๋ฐฉ์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ , ์ฃผ๋ฐฉ์—์„œ ๋งŒ๋“ค์–ด์ง„ ์Œ์‹์„ ๊ณ ๊ฐ์—๊ฒŒ ๊ฐ€์ ธ๋‹ค์ค๋‹ˆ๋‹ค.


๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ, API๋Š” ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด์— ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” '์ค‘๊ฐœ์ž' ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ํŠน์ • ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•˜๋ฉด, API๋Š” ๊ทธ ์š”์ฒญ์„ ์‹œ์Šคํ…œ์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ณผ์ •์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋”ฐ๋ผ์„œ API๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์„œ๋น„์Šค ์‚ฌ์ด์˜ 'ํ†ต์—ญ์‚ฌ'๋‚˜ '๋ฉ”์‹ ์ €' ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ด๋“ค ์‚ฌ์ด์—์„œ ์ •๋ณด์™€ ๋ช…๋ น์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.


"ํŠน์ • ์š”๋ฆฌ"๋Š” API๋ฅผ ํ†ตํ•ด ์š”์ฒญ๋˜๋Š” ํŠน์ • ๊ธฐ๋Šฅ์ด๋‚˜ ์„œ๋น„์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ ์”จ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์š”์ฒญ, ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์š”์ฒญ, ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์š”์ฒญ ๋“ฑ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


"์ฃผ๋ฐฉ"์€ ์ด๋Ÿฐ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์„œ๋ฒ„, ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค, ๋˜๋Š” ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์š”์•ฝํ•˜๋ฉด, "ํŠน์ • ์š”๋ฆฌ" ์š”์ฒญ์€ ์‚ฌ์šฉ์ž(๋˜๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ)์ด API๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์„œ๋น„์Šค, ๋ฐ์ดํ„ฐ ๋˜๋Š” ์ž‘์—…์„ ๋‚˜ํƒ€๋‚ด๊ณ , "์ฃผ๋ฐฉ"์€ ๊ทธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.





๋‹ค์‹œ ๋‚ด ์„ค๋ช…์œผ๋กœ ๋Œ์•„์™€์„œ,

openapi.yaml์€ ์ด๋Ÿฐ '์š”์ฒญ'์„ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋˜๋Š”์ง€์— ๊ด€ํ•ด ์ ์–ด๋†“์€ GPT๋ฅผ ์œ„ํ•œ ์ผ์ข…์˜ '์„ค๋ช…์„œ'๋‹ค.

OpenAI๊ฐ€ ์ง์ ‘ ๊ณต๊ฐœํ•œ ์˜ˆ์‹œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค


openapi: 3.0.1

info:

title: TODO Plugin

description: A plugin that allows the user to create and manage a TODO list using ChatGPT.

version: 'v1'

servers:

- url: http://localhost:3333

paths:

/todos:

get:

operationId: getTodos

summary: Get the list of todos

responses:

"200":

description: OK

content:

application/json:

schema:

$ref: '#/components/schemas/getTodosResponse'

components:

schemas:

getTodosResponse:

type: object

properties:

todos:

type: array

items:

type: string

description: The list of todos.


๊ด€๋ จ ์ง€์‹์ด ์žˆ๋‹ค๋ฉด ๋ญ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š” ์ง€๋Š” ์•Œ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค

๊ด€๋ จ ์ง€์‹์ด ์—†์–ด๋„ ๊ดœ์ฐฎ๋‹ค! ๋ฏธ๋ฆฌ ์Šคํฌ๋ฅผ ํ•˜์ž๋ฉด, ์–ด์ฐจํ”ผ ์ด๊ฑธ ์ ๋Š” ๊ฒƒ์€ ๋‹น์‹ ์ด ์•„๋‹ ๊ฒƒ์ด๋‹ค...


๋‹น์‹ ์˜ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์šฉ๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

  • ai-plugin.json, openapi.yaml, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋กœ๊ณ  ํŒŒ์ผ ํ˜ธ์ŠคํŒ…
  • API ์š”์ฒญ ๋ฐฑ์•ค๋“œ ์„œ๋ฒ„
์ด๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋˜๋Š” ์ง€๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์ œ์ž‘ ๊ณผ์ •์— ๋‹ด๋„๋ก ํ•˜๊ฒ ๋‹ค
(๋‹ค์Œ ํŽธ์— ์ด์–ด์„œ)