์ฝ๋์ฒ๋ผ ๋์ํ๋ โ์์คํ ํ๋กฌํํธโ ๊ฐ์ด๋
์ฝ๋์ฒ๋ผ ๋์ํ๋ โ์์คํ ํ๋กฌํํธโ ๊ฐ์ด๋ ๊ด๋ จ
โ์ ๊น... GPT๋ก ์ด ์ ๋ ์์ค์ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ?โ ChatGPT๋ Claude๋ก ๊ฐ๋จํ ํ๋กํ ํ์ ์ ๋ง๋ค์ด๋ณด๋ ์๊ฐ์ ๊นจ๋ฌ์์ ์์ ์ ์์ต๋๋ค. ์์คํ ํ๋กฌํํธ(System Prompt)๋ง ์ ์ง๋ฉด ๋ณต์กํ ์ฝ๋ ์์ด๋ ๊ฝค ๊ทธ๋ด๋ฏํ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์๊ฒ ๋ค๋ ๊ฐ๋ฅ์ฑ์ด ๋ณด์์ฃ . ์ค์ ๋ก ๋ฉฐ์น ๋์ ์์คํ ํ๋กฌํํธ๋ฅผ ๊ผผ๊ผผํ ๋ค๋ฌ์์ต๋๋ค. ๋ง์น ํ๋ก๊ทธ๋๋ฐํ๋ฏ if-then ๊ท์น์ ์ ์ํ๊ณ , ์ฌ๊ธฐ์ ๋๋ฉ์ธ ํนํ๋ ์ง์๋ค์ ํ๋์ฉ ์ถ๊ฐํ์ต๋๋ค. ๊ต๋ณด๋ฌธ๊ณ ์์ ์ฐพ์ ์ ๊ณต ์์ ์ ์ ๋ฌธ ์ง์๋ถํฐ ๋ง์ผํ ๋ฒ ์คํธ์ ๋ฌ์ ์ธ์ฌ์ดํธ๊น์ง, ์กฐ๊ธ์ฉ ์์คํ ํ๋กฌํํธ์ ๋ น์ฌ๋ด๋ฉฐ ํ ์คํธํด ๋ณด๋ ๋๋ผ์ธ ์ ๋๋ก ํ๋ฅญํ ๊ฒฐ๊ณผ๊ฐ ๋์์ฃ . ์ฒ์์ ๋ชจ๋ ๊ฒ ์๋ฒฝํด ๋ณด์์ต๋๋ค. AI๋ ์ ํํ ์๋ํ ๋๋ก ๋์ํ๊ณ , ๋ง์น ์ ์ง์ธ ์ฝ๋์ฒ๋ผ ์ผ๊ด๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์คฌ์ผ๋๊น์.
ํ์ง๋ง ๋ํ๊ฐ ์กฐ๊ธ๋ง ๊ธธ์ด์ ธ๋ ๋ฌธ์ ๊ฐ ์์๋์ต๋๋ค. ๋ถ๋ช ํ๋กฌํํธ์ โ์ ๋๋ก ํ์ง ๋ง ๊ฒโ์ด๋ผ๊ณ ๋ช ์ํ ํ๋์ AI๊ฐ ๋ฒ์ ์ด ํ๊ธฐ ์์ํ๊ณ , ๋ ํฐ ๋ฌธ์ ๋ ์ด๊ฒ ์ ๋ฐ์ํ๋์ง ๋๋ฒ๊น ํ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฑฐ์์ฃ . ์ด๋ GPT๋ Claude๋ฅผ ํ์ฉํด ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์ง๋ฉดํ๋ ๊ฐ์ฅ ํฐ ๋๊ด์ ๋๋ค. ์์คํ ํ๋กฌํํธ๊ฐ ๋ณต์กํด์ง์๋ก AI์ ํ๋์ ๋์ฑ ์์ธกํ๊ธฐ ์ด๋ ค์์ง๊ณ , โ๋ฐ๋์โ๋ผ๊ณ ๊ฐ์กฐํ ๊ท์น์กฐ์ฐจ ์ข ์ข ๋ฌด์๋๊ธฐ ์์ํฉ๋๋ค.
์ ๊ฐ ์ํ LLAMIํ์์๋ ๋๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ํฅ๋ฏธ๋ก์ด ๊ฐ๋ฅ์ฑ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๊ฒ๋ ์ฐ๋ฆฌ๊ฐ ๋งค์ผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์์์. ๋ณต์กํ ํ๋ก๊ทธ๋จ์ ๋ชจ๋๋ก ๋๋๋ฏ, ์์คํ ํ๋กฌํํธ๋ ์ฌ๋ฌ ๊ฐ์ ํนํ๋ ์์ด์ ํธ๋ก ๋ถํ ํ๋ฉด ์ด๋จ๊น? ํ๊ณ ๋ง์ด์ฃ . ์ด๋ฒ ๊ธ์์๋ ์์คํ ํ๋กฌํํธ๋ฅผ ์ฌ๋ฌ AI ์์ด์ ํธ๊ฐ ๋ถ์ฐ ์ฒ๋ฆฌํ๋ ์ํคํ ์ฒ๋ฅผ ์๊ฐํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ด ์ ๊ทผ๋ฒ์ผ๋ก ์ฐ๋ฆฌ๋ ์์คํ ํ๋กฌํํธ ์ง์ ์ฌํญ ์ดํ๋ฅ ์ 90% ์ด์์ผ๋ก ๋์ด์ฌ๋ ธ๊ณ , ์ง์ ํ ์๋ฏธ์ โ์ฝ๋์ฒ๋ผ ๋์ํ๋โ LLM ์๋น์ค๋ฅผ ๊ตฌํํ ์ ์์์ต๋๋ค.
์์คํ ํ๋กฌํํธ์ ์งํ: ๋งค์ง ํ๋กฌํํธ์์ ํ๋ ์ง์์ด๋ก
์์คํ ํ๋กฌํํธ๋ ํฅ๋ฏธ๋ก์ด ์งํ ๊ณผ์ ์ ๊ฑฐ์ณ์์ต๋๋ค. ์ด๊ธฐ์ ์์คํ ํ๋กฌํํธ๋ ๋จ์ํ์ต๋๋ค. โ์ฐจ๋ถํ ์๊ฐํ์ธ์โ, โ๋จ๊ณ๋ณ๋ก ์ ๊ทผํ์ธ์โ์ ๊ฐ์ โ๋งค์ง ํ๋กฌํํธโ๋ง์ผ๋ก๋ LLM์ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์์ฃ . ๋ง์น ์ฃผ๋์ด ๊ฐ๋ฐ์์๊ฒ โ์นจ์ฐฉํ๊ฒ ์๊ฐํด ๋ด.โ๋ผ๊ณ ์กฐ์ธํ๋ ๊ฒ์ฒ๋ผ, ๊ฐ๋จํ ์ง์๋ง์ผ๋ก๋ ๋๋ผ์ด ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์์ต๋๋ค.
ํ์ง๋ง GPT-4, Claude์ ๊ฐ์ ๊ณ ์ฑ๋ฅ LLM์ด ๋ฑ์ฅํ๋ฉด์ ์ํฉ์ด ๋ฌ๋ผ์ก์ต๋๋ค. ์ด์ ์์คํ ํ๋กฌํํธ๋ ๋จ์ํ ์ญํ ๋ถ์ฌ๊ฐ ์๋, ์ ๋ฌธ๊ฐ ํ๋ฅด์๋๋ฅผ ์ ์ํ๋ ๋๊ตฌ๊ฐ ๋์์ต๋๋ค. ๊ฐ๋ฐ์๋ค์ ์์คํ ํ๋กฌํํธ์ ๋๋ฉ์ธ ์ ๋ฌธ ์ง์์ ๋ น์ฌ๋๊ณ , ํน์ ์ํฉ์์ ํน์ ํ ๋ฐฉ์์ผ๋ก ์๋ตํ๋๋ก ์ ๊ตํ ๊ท์น์ ์ ์ํ์ต๋๋ค. ๋ ๋์๊ฐ ์์คํ ํ๋กฌํํธ๋ ์ด์ ์๋น์ค์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ๋ด๋ โ์ปจํ ์ด๋โ๊ฐ ๋์์ต๋๋ค. โ๋๋ ๋ง์ผํ ์ ๋ฌธ๊ฐ์ผโ๋ผ๋ ๋จ์ํ ์ญํ ๋ถ์ฌ๋ฅผ ๋์ด, โ์ด๋ฐ ์ํฉ์์๋ ์ด๋ ๊ฒ ์๋ตํ๊ณ , ์ ๋ฐ ๊ฒฝ์ฐ์๋ ์ ๋ ๊ฒ ํ๋ํดโ๋ผ๋ ๊ตฌ์ฒด์ ์ธ ํ๋ ์ง์์ด๋ค์ ์งํฉ์ด ๋ ๊ฒ์ด์ฃ .
์์คํ ํ๋กฌํํธ์ ๋๋ ๋ง
LLM์ ์ฑ๋ฅ์ด ํฅ์๋ ์๋ก ์ฐ๋ฆฌ๋ ํฅ๋ฏธ๋ก์ด ๋๋ ๋ง์ ์ง๋ฉดํ์ต๋๋ค. ๋ ๋๋ํด์ง AI์ ๋ ๋ณต์กํ ์ผ์ ๋งก๊ธฐ๊ณ ์ถ์ด์ก๊ณ , ์ด๋ ์์ฐ์ค๋ฝ๊ฒ ์์คํ ํ๋กฌํํธ์ ๋ณต์ก๋ ์ฆ๊ฐ๋ก ์ด์ด์ก์ต๋๋ค. ์ฒ์์๋ ์ด๊ฒ์ด ๋น์ฐํ ๊ณผ์ ์ฒ๋ผ ๋ณด์์ต๋๋ค. AI๊ฐ ๋ ๋๋ํด์ก์ผ๋, ๋ ๋ณต์กํ ์ง์ ์ฌํญ๋ ์ ์ํํ ๊ฒ์ด๋ผ ๊ธฐ๋ํ์ผ๋๊น์.
ํ์ง๋ง ํ์ค์ ๋ฌ๋์ต๋๋ค. ์๋ก์ด ์๊ตฌ์ฌํญ์ด ์ถ๊ฐ๋ ๋๋ง๋ค ์์คํ ํ๋กฌํํธ๋ ๋น๋ํด์ก๊ณ , ํ๋กฌํํธ๊ฐ ๊ธธ์ด์ง์๋ก AI๋ ์ค์ํ ์ง์ ์ฌํญ์กฐ์ฐจ ๋์น๊ธฐ ์์ํ์ต๋๋ค. ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด โ์ ๋๋กโ, โ๋ฐ๋์โ ๊ฐ์ ๊ฐ๋ ฅํ ์ ์ฝ์ ๊ฑธ๊ธฐ ์์ํ์ฃ .
ํ์ง๋ง ์ด๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๋ณ์์ต๋๋ค. ๋ชจ๋ ๊ท์น์ด โ์ ๋๋กโ์ โ๋ฐ๋์โ๋ก ์ฑ์์ง์, ์์ด๋ฌ๋ํ๊ฒ๋ AI๋ ์ด๋ค ๊ท์น๋ ์ ๋๋ก ๋ฐ๋ฅด์ง ์๊ฒ ๋์์ต๋๋ค. ๋ง์น ๋ชจ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ๊ฐ์กฐํ๋ค ๋ณด๋, ์ ์ ๋ฌด์์ด ์ง์ง ์ค์ํ์ง ์ ์ ์๊ฒ ๋ ๊ฒ์ฒ๋ผ์. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๋ฐ์ ์ธ ์ง์ ์ฌํญ ์ดํ๋ฅ ์ ๋์ฑ ์ ํ๋์์ฃ .
RAG์ ํ๊ณ: ์ ๋ณด ๊ฒ์๋ง์ผ๋ก ๋ถ์กฑํ๋ค
์ฒซ ๋ฒ์งธ ํด๊ฒฐ ์๋๋ RAG(Retrieval-Augmented Generation)์์ต๋๋ค. โ์์คํ ํ๋กฌํํธ๊ฐ ๋๋ฌด ๊ธธ์ด์ง๋, ํ์ํ ๋๋ง๋ค ๊ด๋ จ ์ง์ ์ฌํญ์ ๊ฒ์ํด์ ์ฐธ์กฐํ๋ฉด ๋์ง ์์๊น?โ๋ผ๋ ๋ฐ์์ด์์ฃ . ํ์ง๋ง ์ด๋ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ์ฑ ์ด ๋์ง ๋ชปํ์ต๋๋ค. ์์คํ ํ๋กฌํํธ๋ ์ด์ ๋ ์ด์ ๋จ์ํ ์ ๋ณด์ ๋ชจ์์ด ์๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. โ๊ณ ๊ฐ์ด ํ๋ฅผ ๋ด๋ฉด ๋จผ์ ๊ณต๊ฐ์ ํํํ๊ณ , ํด๊ฒฐ์ฑ ์ ์ ์ํ๋, ์ ๋๋ก ๋ณ๋ช ํ์ง ๋ง ๊ฒ.โ๊ณผ ๊ฐ์ ํ๋ ์ง์์ด๋ค์ ๋จ์ํ ๊ฒ์ํ์ฌ, ์ฐธ์กฐํ ์ฑ์ง์ ๊ฒ์ด ์๋์์ต๋๋ค.
๋๊ตฐ๋ค๋ ์ด๋ฌํ ํ๋ ์ง์์ด๋ค์ ์๋ก ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋์ด ์์์ต๋๋ค. ๋ง์น ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ๋ฌ ํด๋์ค๊ฐ ์ํธ์์ฉํ๋ฏ, ์์คํ ํ๋กฌํํธ์ ๊ฐ ๊ท์น๋ค๋ ์๋ก ์ฐ๊ด๋์ด ์์์ฃ . ์ด๋ฐ ๋ณต์กํ ์ํธ์์ฉ์ ๋จ์ํ ์ ๋ณด ๊ฒ์์ผ๋ก๋ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
๋ชจ๋ ์ฝ๋๋ฅผ main()
ํจ์์ ์์ฑํ์๊ฒ ์ต๋๊น?
๋ฌธ๋ ์ด๋ฐ ์๊ฐ์ด ๋ค์์ต๋๋ค. โ์ฐ๋ฆฌ๊ฐ ์ง๊ธ ํ๋ ์ผ์ด ๋ชจ๋ ์ฝ๋๋ฅผ main()
ํจ์์ ์์ฑํ๋ ๊ฒ๊ณผ ๋ค๋ฅผ ๋ฐ ์์๊น?โ ์ฝ๋๋ฅผ ๋ชจ๋ main()
ํจ์์ ์์ฑํ๋ ๊ฒ์ ์ผ๋ง๋ ๋นํจ์จ์ ์ธ ์ผ์ผ๊น์? ๋ณต์กํ ๋ก์ง์ ํ๋์ ํจ์์ ์ฑ์ฌ๋ฃ์ผ๋ฉด, ์๋ฌด๋ฆฌ ์ ์ ๋ฆฌํด๋ ๊ฒฐ๊ตญ์ ํ๊ตญ์ ๋ง์ดํ๊ฒ ๋ฉ๋๋ค. ์ฐ๋ฆฌ ํ์ ์์คํ
ํ๋กฌํํธ๋ ์ ํํ ๊ฐ์ ์ํฉ์ด์์ต๋๋ค.
์ด๋ ๋ง์ดํฌ๋ก์ํํธ์ AutoGen ํ๋ก์ ํธ๋ฅผ ๋ณด๋ฉฐ ํฅ๋ฏธ๋ก์ด ๊ฐ๋ฅ์ฑ์ ๋ฐ๊ฒฌํ์ต๋๋ค. LLM์ด ์๋ก ๋ํํ๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ชจ์ต์, ๋ง์น ํจ์๋ค์ด ์๋ก ํธ์ถํ๋ฉฐ ๋ณต์กํ ๋ก์ง์ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๋น์ทํด ๋ณด์์ต๋๋ค. โ๋ณต์กํ ๋ก์ง์ ์ฌ๋ฌ ํจ์๋ก ๋๋๋ฏ, ์์คํ ํ๋กฌํํธ๋ ์ฌ๋ฌ LLM์ ๋๋์ด ์ฒ๋ฆฌํ๋ฉด ์ด๋จ๊น?โ LLAMIํ์ ์ด ๋จ์ํ ์ง๋ฌธ์์ ์์ํด, ์์คํ ํ๋กฌํํธ์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด์ ๊ทธ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๊ฐ๋ฅ์ฑ
๋ง์ดํฌ๋ก์ํํธ์ AutoGen ํ๋ก์ ํธ๋ AI ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ๊ณ , ์ฌ๋ฌ ์์ด์ ํธ ๊ฐ์ ํ๋ ฅ์ ์ด์งํ๊ธฐ ์ํ ์คํ์์ค ํ๋ก๊ทธ๋๋ฐ ํ๋ ์์ํฌ์ ๋๋ค. ์ด ํ๋ ์์ํฌ์ ๊ฐ์ฅ ํฐ ํน์ง์ ์ฌ๋ฌ LLM์ด ์๋ก ๋ํํ๋ฉฐ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๋ ์ ์ ๋๋ค. ๊ฐ ์์ด์ ํธ๋ ๋ค๋ฅธ ์์ด์ ํธ์ ๋ํํ๊ณ , ํ์ํ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ฉฐ, ์์จ์ ๋๋ ์ธ๊ฐ๊ณผ์ ํ์ ์ ํตํด ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๋ฉํฐ ์์ด์ ํธ ์ ๊ทผ๋ฒ์ ์ฐ๊ตฌํ๋ฉด์, ์ฐ๋ฆฌ ํ์ ํ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋ฐ๋ก ์์ ๋ก์ด ์ ๋ฌธ๊ฐ๋ค์ ํ์๋ฅผ ๋์ด ์ฒด๊ณ์ ์ธ ์กฐ์ง ์์คํ ์ผ๋ก LLM์ ํต์ ์ ์ ์ฝํ๋ฉด, ์์คํ ํ๋กฌํํธ๋ฅผ ๋ถ์ ํ ์ ์์ง ์์๊น๋ ์๊ฐ์ด์์ฃ . ์ด๋ฅผ ์ํด ์์คํ ํ๋กฌํํธ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ๋ช ํํ โ์ง๋ฌดโ๋ก ๋๋๊ธฐ ์์ํ์ต๋๋ค. ๊ฐ AI ์์ด์ ํธ๋ ๋ ์ด์ ์์ ๋ก์ด ์ ๋ฌธ๊ฐ๊ฐ ์๋, ๊ฑฐ๋ํ ์์คํ ํ๋กฌํํธ์ ํน์ ๋ถ๋ถ์ ์๋ฒฝํ๊ฒ ์ํํ๋ โ์ ๋ฌธ ์ง์โ์ด ๋์์ต๋๋ค.
๋งฅ๋ฝ ๊ณผ๋ถํ์ ํด๊ฒฐ
์์คํ ํ๋กฌํํธ๊ฐ ๋ณต์กํด์ง์๋ก LLM์ ๋ ๋ง์ ๋งฅ๋ฝ์ ์ดํดํ๊ณ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ๋ง์น ํ ์ฌ๋์๊ฒ ๋๋ฌด ๋ง์ ์ ๋ฌด๋ฅผ ๋ถ์ฌํ์ ๋ ์ ๋ฌด ํจ์จ์ด ๋จ์ด์ง๋ ๊ฒ์ฒ๋ผ, LLM๋ ์ฒ๋ฆฌํด์ผ ํ ๋งฅ๋ฝ์ด ๋ง์์ง์๋ก ์ฑ๋ฅ์ด ์ ํ๋๋ ํ์์ ๋ณด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฅผ โ๋งฅ๋ฝ์ ๊ณผ๋ถํโ ํ์์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ ํนํ ์ฅ๊ธฐ์ ์ธ ๋ํ์์ ๋๋๋ฌ์ก๋๋ฐ์. ๋ํ๊ฐ ๊ธธ์ด์ง์๋ก LLM์ ์ด๊ธฐ์ ์ฃผ์ด์ง ์์คํ ํ๋กฌํํธ์ ์ง์ ์ฌํญ์ ์ ์ฐจ ์์ด๋ฒ๋ฆฌ๋ ๊ฒฝํฅ์ ๋ณด์๊ณ , ์ด๋ ์๋น์ค์ ์ผ๊ด์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ํฌ๊ฒ ์ ํดํ์ต๋๋ค.
ํ๋กฌํํธ์ ๋ถ์ฐ ์ฒ๋ฆฌ๋ ์ด ๋ฌธ์ ์ ๋ํ ์ฐ๋ฆฌ์ ํด๋ต์ด์์ต๋๋ค. ๊ฐ ์์ด์ ํธ๊ฐ ์ ์ฒด ๋งฅ๋ฝ์ ์ผ๋ถ๋ง์ ๋ด๋นํจ์ผ๋ก์จ, ๊ฐ๋ณ ์์ด์ ํธ์ ์ธ์ง ๋ถํ๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์์์ฃ . ์ด๋ ๋ง์น ๋ณต์กํ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ ํ์ ๋ถ๋ฐฐํ์ฌ, ๊ฐ ํ์ด ์์ ์ ์ ๋ฌธ ์์ญ์๋ง ์ง์คํ ์ ์๊ฒ ํ๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฆฌ์์ต๋๋ค.
ํต์ ๋ ํ์ ์ ์ค๊ณ
์ด ์์คํ ์ ์ง์ ํ ํ์ ์ ํต์ ๋ ํ์ ๊ตฌ์กฐ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ ๋ก์ด ์ํต๋ณด๋ค๋ ๋ช ํํ ๊ท์น๊ณผ ์ฒด๊ณ๊ฐ ๋ ํจ๊ณผ์ ์์ ๋ฐ๊ฒฌํ๋๋ฐ์. ๊ฐ ์์ด์ ํธ๋ ๋ง์น ๊ธฐ์ ์ ๋ถ์์ฒ๋ผ ๋ช ํํ ์ฑ ์๊ณผ ๊ถํ์ ๊ฐ์ง๊ณ , ์ ํด์ง ํ๋กํ ์ฝ์ ๋ฐ๋ผ ์ํตํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ ๋๋ผ์ด ์ด์ ์ ๊ฐ์ ธ์์ต๋๋ค:
- ์ฑ ์์์ฌ์ ๋ช ํํ: ๊ฐ ์์ด์ ํธ์ ์ญํ ๊ณผ ์ฑ ์์ด ๋ช ํํ ์ ์๋ฉ๋๋ค.
- ์์ธก ๊ฐ๋ฅํ ๋์: ์ ํด์ง ๊ท์น์ ๋ฐ๋ฅธ ์ํต์ผ๋ก ์์คํ ์ ๋์์ ์ ํํ ์์ธกํ ์ ์์ต๋๋ค.
- ํจ๊ณผ์ ์ธ ๋๋ฒ๊น : ๋ฌธ์ ๋ฐ์ ์ ์์ธ์ ์ ํํ ์ถ์ ํ ์ ์์ต๋๋ค.
๋จ์ํ ๋ฉํฐ ์์ด์ ํธ๊ฐ ์๋, ์์คํ ํ๋กฌํํธ์ ์ฒด๊ณ์ ๋ถ์ ํ๋ฅผ ํตํด ์ฐ๋ฆฌ๋ LLM ์์คํ ์ ์ ๋ขฐ์ฑ์ ํ ๋จ๊ณ ๋์ด์ฌ๋ฆด ์ ์์์ต๋๋ค.
๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ ๋ฐฉ๋ฒ๊ณผ ์ํคํ ์ฒ ์ค๋ช
์์ ๋งํ๋ฏ ์ฐ๋ฆฌ ํ์ ๋ง์ดํฌ๋ก์ํํธ์ AutoGen์์ ์ ์ํ ๋ฉํฐ ์์ด์ ํธ ์ธํฐํ์ด์ค์์ ๋ง์ ์๊ฐ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ํต์ ์ ๋ผ์ฐํ ์ด๋ผ๋ AutoGen์ ํต์ฌ ์ค๊ณ ์ฒ ํ๊ณผ๋ ๋ค๋ฅธ ๊ธธ์ ํํ์ฃ . ๊ทธ๋์ ์์คํ ์ ๊ทผ๊ฐ์ด ๋๋ ๋ ๊ฐ์ง ํต์ฌ ์ปดํฌ๋ํธ์ธ GroupChatManager์ ConversableAgent๋ฅผ ํตํด ์ด ์ฐจ์ด์ ์ด ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์์คํ ์ ๋ ๊ธฐ๋ฅ
๋จผ์ GroupChatManager๋ ๋ํ์ ๊ธฐ๋ก ๊ด๋ฆฌ์์ด์ ์ ๋ขฐํ ์ ์๋ ๋ฉ์ ์ ์ ๋๋ค. ์ด ์ปดํฌ๋ํธ๋ ๋ชจ๋ ๋ํ์ ๊ธฐ๋ก์ ๋ณด๊ดํ๊ณ , ๊ฐ ์์ด์ ํธ๊ฐ ์ ์์ ์ผ๋ก ํ๋ํ๊ณ ์๋์ง ๋ชจ๋ํฐ๋งํ๋ฉฐ, ๋ฉ์์ง๊ฐ ์ ํํ ์ ๋ฌ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ง์น ํ์ฌ์ ๋ฌธ์๊ด๋ฆฌ ์์คํ ์ด ๋ชจ๋ ์ ๋ฌด ๊ธฐ๋ก์ ์์ ํ๊ฒ ๋ณด๊ดํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
ํํธ, ConversableAgent๋ ๋ชจ๋ ๋ํ ์ฐธ์ฌ์์ ๊ธฐ๋ณธ ์ค๊ณ๋์ ๊ฐ์ต๋๋ค. ์ด ์ธํฐํ์ด์ค๋ ๋๋ผ์ธ ์ ๋๋ก ๋จ์ํ๋ฉฐ, ์ง๋ฌธ์ด ์์ ๋ ์ด๋ป๊ฒ ์๋ตํ ์ง๋ง ์ ์ํ๋ฉด ๋ฉ๋๋ค. ์ด๋ฌํ ๋จ์ํจ์ ๊ฐ๋ ฅํ ํ์ฅ์ฑ์ ๊ฐ์ ธ์ต๋๋ค. ์ฌ์ง์ด ์ธ๊ฐ์ ์ฐธ์ฌ๋ ์ด ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์์ฐ์ค๋ฝ๊ฒ ์ด๋ฃจ์ด์ง๋๋ฐ์. ์ธ๊ฐ์ ์์คํ ์์์ ๋ค๋ฅธ AI ์์ด์ ํธ๋ค๊ณผ ๋๋ฑํ ์ฐธ์ฌ์๊ฐ ๋์ด, ์ง์ ํ ์๋ฏธ์ human-in-the-loop๋ฅผ ์คํํฉ๋๋ค.
์์จ์ฑ๊ณผ ์ฑ ์์ ๋ถ์ฐ
์ฐ๋ฆฌ์ ์ ๊ทผ๋ฒ์ ๊ฐ ์์ด์ ํธ์๊ฒ ๋ ๋ง์ ์์จ์ฑ์ ๋ถ์ฌํฉ๋๋ค. AutoGen์ด GroupChatManager๋ฅผ ํตํด ๋ชจ๋ ์ํต์ ์ค์์์ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ํํ๋ค๋ฉด, LLAMI๋ ๊ฐ ์์ด์ ํธ๊ฐ ์์ ์ ์ด์ ์์ด์ ํธ๋ค์ ์ง์ ์๊ณ ์ํตํ๋ ๋ถ์ฐํ ๊ตฌ์กฐ๋ฅผ ์ฑํํ์ต๋๋ค. ์ด๋ ๋ง์น ํ์ฌ์์ ๊ฐ ๋ถ์๊ฐ ๋ค๋ฅธ ๋ถ์์ ์ง์ ํ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ์จ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด๋ ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ ์์คํ ์ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํฌ๊ฒ ํฅ์์์ผฐ์ผ๋ฉฐ, ๊ฐ ์์ด์ ํธ์ ์์จ์ฑ์ ๋ณด์ฅํ๋ฉด์๋ ์ ์ฒด์ ์ธ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๊ฒ ํ์ต๋๋ค. ์ด์ ์ด ๊ตฌ์กฐ๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ๊ตฌํ๋๋์ง ์ดํด๋ณผ๊ฒ์.
ํต์ฌ ์ปดํฌ๋ํธ์ ๊ตฌํ
class GroupChatManager {
protected history: Message[] = [];
protected agents: Map<string, ConversableAgent> = new Map();
protected async processMessage(message: Message): Promise<Message> {
this.history.push(message);
if (this.shouldEndConversation(message, this.history)) {
return message;
}
const currentAgent = this.agents.get(message.receiver);
if (!currentAgent) {
throw new Error(`Agent ${message.receiver} not found`);
}
const fullPrompt = await this.contextStrategy(this.history, message);
const responseMessage = await currentAgent.answer(
{
sender: message.sender,
receiver: currentAgent.name,
content: fullPrompt,
},
this.history,
);
return this.processMessage(responseMessage);
}
}
GroupChatManager์ ํต์ฌ์ processMessage
๋ฉ์๋์
๋๋ค. ์ฐ์ ๋ฉ์์ง๋ฅผ ํ์คํ ๋ฆฌ์ ๊ธฐ๋กํ๊ณ , ๋ํ๊ฐ ์ข
๋ฃ ์กฐ๊ฑด์ ๋๋ฌํ๋์ง ํ์ธํฉ๋๋ค. ๋ํ๊ฐ ๊ณ์๋ ์ ์๋ค๋ฉด, ์์ ์๋ก ์ง์ ๋ ์์ด์ ํธ๋ฅผ ์ฐพ์ ๋ฉ์์ง๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฃผ๋ชฉํ ์ ์ ๋ํ์ ๋ค์ ๋จ๊ณ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ด GroupChatManager๊ฐ ์๋๋ผ๋ ๊ฒ์
๋๋ค. ํ์ฌ ๋ฉ์์ง์ ์์ ์๋ ์ด๋ฏธ ๋ฉ์์ง์ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ด๋ ์ด์ ์์ด์ ํธ๊ฐ ๊ฒฐ์ ํ ๊ฒ์
๋๋ค.
abstract class ConversableAgent {
abstract readonly name: string;
protected manager!: GroupChatManager;
async answer(message: Message, history: Message[]): Promise<Message> {
const { content, nextReceiver } = await this.processAnswer(
message,
history,
);
return {
sender: this.name,
receiver: nextReceiver,
content,
};
}
protected abstract processAnswer(
message: Message,
history: Message[],
): Promise<{
content: string;
nextReceiver: string;
}>;
}
๊ฐ ์์ด์ ํธ๋ ๋ฉ์์ง์ ๋ํ ์๋ต์ ์์ฑํ ๋, ๋ ๊ฐ์ง ํต์ฌ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค. ์๋ต ๋ด์ฉ(content
)๊ณผ ๋ค์ ๋ํ ์๋(nextReceiver
)์
๋๋ค. ํนํ nextReceiver
๋ฅผ ์ง์ ๊ฒฐ์ ํ๋ค๋ ์ ์ด ์ค์ํฉ๋๋ค. ์ด๋ LLAMI์ ๋ถ์ฐํ ์์ฌ๊ฒฐ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํต์ฌ ๋ฉ์ปค๋์ฆ์
๋๋ค.
Human-in-the-Loop: ์ธ๊ฐ๊ณผ AI์ ์์ฐ์ค๋ฌ์ด ํ์
์ธ๊ฐ ์ญ์ LLM๊ณผ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์์คํ ์ ์์ฐ์ค๋ฌ์ด ์ผ๋ถ๋ก ์ฐธ์ฌํฉ๋๋ค. ์ด๋ UserProxy๋ผ๋ ํน๋ณํ ์์ด์ ํธ์ ์ด์ ์ํธ์์ฉํ๋ UI ์ปดํฌ๋ํธ๋ฅผ ํตํด ๊ตฌํ๋ฉ๋๋ค.
UserProxy: ์ธ๊ฐ ์ฐธ์ฌ์๋ฅผ ์ํ ์ธํฐํ์ด์ค
export class UserProxy extends ConversableAgent {
readonly name = "user";
private resolveInput: ((value: string) => void) | null = null;
private _isMyTurn: boolean = true;
async processAnswer(message: Message): Promise<{
content: string;
nextReceiver: string;
}> {
this.manager.resetTurns();
this.setTurn(true);
return new Promise<{
content: string;
nextReceiver: string;
}>((resolve) => {
this.resolveInput = (input: string) => {
this.setTurn(false);
resolve({ content: input, nextReceiver: "dialogue" });
};
});
}
handleInput(input: string) {
if (this.resolveInput && this._isMyTurn) {
this.resolveInput(input);
this.resolveInput = null;
}
}
}
UserProxy๋ Promise๋ฅผ ์ฌ์ฉํด ๋น๋๊ธฐ์ ์ผ๋ก ์ฌ์ฉ์์ ์ ๋ ฅ์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ค๋ฅธ ์์ด์ ํธ๋ค์ LLM์ด๋ ๊ท์น ๊ธฐ๋ฐ ๋ก์ง์ผ๋ก ์ฆ์ ์๋ต์ ์์ฑํ์ง๋ง, UserProxy๋ ์ค์ ์ธ๊ฐ์ ์ ๋ ฅ์ด ๋ค์ด์ฌ ๋๊น์ง ๋๊ธฐํฉ๋๋ค.
UI์์ ํตํฉ
์ด๋ฌํ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ React ์ปดํฌ๋ํธ์ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ฒฐ๋ฉ๋๋ค.
export const ChatInterface = () => {
const [isUserTurn, setIsUserTurn] = React.useState(true);
const [input, setInput] = useState("");
// UserProxy์ ํด ๋ณ๊ฒฝ ๊ฐ์ง
useEffect(() => {
const unsubscribe = userAgent.onTurnChanged((isMyTurn) => {
setIsUserTurn(isMyTurn);
});
return () => unsubscribe();
}, []);
// ์ฌ์ฉ์ ์
๋ ฅ ์ฒ๋ฆฌ
const handleSubmit = async (e: React.SyntheticEvent) => {
e.preventDefault();
if (!input.trim() || !isUserTurn) return;
const userMessage: Message = {
sender: "user",
receiver: "dialogue",
content: input,
};
setInput("");
if (isFirst.current) {
isFirst.current = false;
await groupChatManager.chatStart(userMessage);
} else {
userAgent.handleInput(input);
}
};
return (
<form onSubmit={handleSubmit}>
<textarea
value={input}
onChange={(e) => setInput(e.target.value)}
placeholder={
isUserTurn ? "๋ฉ์์ง๋ฅผ ์
๋ ฅํ์ธ์..." : "AI๊ฐ ์๋ตํ๋ ์ค์
๋๋ค..."
}
disabled={!isUserTurn}
/>
<Button
type="submit"
disabled={!isUserTurn || !input.trim()}
>
์ ์ก
</Button>
</form>
);
};
์ด ๊ตฌํ์ ๋ฌ๋ฏธ๋ ์์ฐ์ค๋ฌ์์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ์์ ์ ์ฐจ๋ก์ ์ ๋ ฅ์ ์ ๊ณตํ๊ณ , ์์คํ ์ ๋ง์น ๋ค๋ฅธ AI ์์ด์ ํธ์ ๋ํํ๋ฏ ์ด ์ ๋ ฅ์ ์ฒ๋ฆฌํฉ๋๋ค. UI๋ isUserTurn ์ํ๋ฅผ ํตํด ํ์ฌ๊ฐ ์ฌ์ฉ์์ ์ฐจ๋ก์ธ์ง ๋ช ํํ ๋ณด์ฌ์ฃผ๋ฉฐ, ์ฌ์ฉ์์ ์ ๋ ฅ์ handleInput์ ํตํด UserProxy์ ์ ๋ฌ๋ฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ์์ผ๋ก LLAMI๋ ์ธ๊ฐ ์ฐธ์ฌ์๊ฐ ์์คํ ์ ์์ฐ์ค๋ฌ์ด ์ผ๋ถ๊ฐ ๋๊ฒ ํฉ๋๋ค. ์ธ๊ฐ์ ๋ค๋ฅธ AI ์์ด์ ํธ๋ค๊ณผ ๋๋ฑํ ๋ํ ์ฐธ์ฌ์๋ก์, ์์ ์ ์ฐจ๋ก์ ์ ๋ ฅ์ ์ ๊ณตํ๊ณ ๋ํ์ ์ฐธ์ฌํ ์ ์์ฃ . ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ์ถ๊ตฌํ๋ ์ง์ ํ ์๋ฏธ์ human-in-the-loop์ ๋๋ค.
์ค์ ์ ์ฉ ์ฌ๋ก์ ํจ๊ณผ
์ฐ๋ฆฌ ํ์ ๋ฉํฐ ์์ด์ ํธ ์์คํ ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํด AI ์ ๋ชฉ ์์ฑ ํ๋ก์ ํธ๋ฅผ ์งํํ์ต๋๋ค. ๊ธฐ์กด์ ๋จ์ผ ํ๋กฌํํธ ๋ฐฉ์์์๋ 500์ค์ด ๋๋ ๋ฐฉ๋ํ ์์คํ ํ๋กฌํํธ๋ฅผ ํ๋์ LLM์ด ์ฒ๋ฆฌํด์ผ ํ์ง๋ง, ์ด๋ฅผ ๋ค ๊ฐ์ ์ง๋ฌด ์์ด์ ํธ๋ก ๋ถ์ฐํ์ต๋๋ค.
- ์๋น์ค ์๋ด์: ์ฌ์ฉ์์์ ์ฒซ ๋ํ๋ฅผ ์์ํ๊ณ ์ ์ฒด ๋งฅ๋ฝ์ ํ์
- ์ฐฝ์์ ์ฌ๊ณ ์ด์ง์: ์ฌ์ฉ์์ ์๋๋ฅผ ๊ตฌ์ฒดํํ๊ณ ๋ค์ํ ๊ฐ๋ฅ์ฑ ํ์
- ์ ๋ชฉ ์์ฑ๊ธฐ: ํจ๊ณผ์ ์ธ ์ ๋ชฉ์ ์์ฑํ๊ณ ํ๊ฐ ๊ธฐ์ค์ ๋ฐ๋ผ ๊ฒ์ฆ
- ์ฌ์ฉ์ ์์ด์ ํธ: ์ธ๊ฐ ์ฌ์ฉ์์ ์ ๋ ฅ์ ์์คํ ์ ์์ฐ์ค๋ฝ๊ฒ ํตํฉ
๊ฐ ์์ด์ ํธ๋ ์์ ์ ์ง๋ฌด์๋ง ์ง์คํจ์ผ๋ก์จ, ์์คํ ํ๋กฌํํธ ์ง์ ์ฌํญ ์ดํ๋ฅ ์ด 90%๋ฅผ ๋์ด์๋ ๋๋ผ์ด ์ฑ๊ณผ๋ฅผ ๋ฌ์ฑํ์ต๋๋ค. ๋์ฑ ์ค์ํ ๊ฒ์ ์ด ๊ตฌ์กฐ์ ์ง์๊ฐ๋ฅ์ฑ์ ๋๋ค. ์๋ก์ด ํ๋กฌํํ ๊ท์น์ด๋ LLM์ ์๋ต ํ๊ฐ ๊ธฐ์ค์ด ํ์ํ ๋๋ง๋ค ํด๋น ๋ถ๋ถ์ ๋ด๋นํ ์๋ก์ด ์์ด์ ํธ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ค์์ ์ค์ ์ ๋ชฉ ์์ฑ ๊ณผ์ ์ ์์์ ๋๋ค.
๊ฒฐ๋ก
LLM์ ๋น์ฝ์ ์ธ ๋ฐ์ ์ AI ๊ธฐ๋ฐ ์๋น์ค์ ์๋ก์ด ์งํ์ ์ด์์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ธ์ด ๋๋ํด์ง์๋ก ์์คํ ํ๋กฌํํธ๋ ๋์ฑ ๋ณต์กํด์ก๊ณ , ๊ฒฐ๊ตญ ๊ทธ ํจ๊ณผ๊ฐ ์ ์ฐจ ๊ฐ์ํ๋ ํ๊ณ์ ๋ด์ฐฉํ์ต๋๋ค. ๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์คํ ํ๋กฌํํธ๋ฅผ โ์ฝ๋์ฒ๋ผโ ๋ค๋ฃจ๋ ์๋ก์ด ์ ๊ทผ๋ฒ์ด ํ์ํ์ฃ .
๋ง์ดํฌ๋ก์ํํธ์ AutoGen์์ ์๊ฐ์ ๋ฐ์ ์ฐ๋ฆฌ์ ์ ๊ทผ๋ฒ์, ๊ฑฐ๋ํ ์์คํ ํ๋กฌํํธ๋ฅผ ์ฌ๋ฌ ์ ๋ฌธ ์์ด์ ํธ๊ฐ ๋ถ๋ดํ์ฌ ์ฒ๋ฆฌํ๋ ๊ฒ์ด์์ต๋๋ค. ๋ง์น ๋ณต์กํ ์ฝ๋๋ฅผ ์ฌ๋ฌ ํจ์๋ก ๋๋์ด ๊ด๋ฆฌํ๋ฏ์ด, ์์คํ ํ๋กฌํํธ๋ ๋ชจ๋ํํ์ฌ ๊ด๋ฆฌํ ์ ์๋ค๋ ๋ฐ์์ด์์ฃ . ์ด๊ธฐ ์คํ ๊ฒฐ๊ณผ๋ ๊ณ ๋ฌด์ ์ด์์ต๋๋ค. AI ์ ๋ชฉ ์์ฑ๊ธฐ ํ๋ก์ ํธ์์ ์ด ์ ๊ทผ๋ฒ์ 90%๊ฐ ๋๋ ์์คํ ํ๋กฌํํธ ์ดํ๋ฅ ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ๋ ์ฃผ๋ชฉํ ๋งํ ์ ์ ์ด ๊ตฌ์กฐ์ ํ์ฅ์ฑ์ ๋๋ค. ์๋ก์ด ์๊ตฌ์ฌํญ์ด ์๊ธธ ๋๋ง๋ค ๊ด๋ จ ์์ด์ ํธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ์์คํ ์ ๋ฐ์ ์ํฌ ์ ์์์ต๋๋ค.
์ด๋ ์์คํ ํ๋กฌํํธ๋ฅผ ๋ค๋ฃจ๋ ์๋ก์ด ํจ๋ฌ๋ค์์ ์์์ผ ์ ์์ต๋๋ค. ๋ง์น ์ํํธ์จ์ด ๊ณตํ์ ์์น๋ค์ด ๋ณต์กํ ์ฝ๋๋ฅผ ๊ด๋ฆฌ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ฏ์ด, ์ด๋ฌํ ์ ๊ทผ๋ฒ์ด LLM ๊ธฐ๋ฐ ์๋น์ค์ ์ ๋ขฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํ ๋จ๊ณ ๋์ฌ์ค ์ ์์ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์์ง ํด๊ฒฐํด์ผ ํ ๊ณผ์ ๊ฐ ๋ง์ง๋ง, ์ด ์๋ก์ด ๋ฐฉํฅ์ด LLM ๊ธฐ๋ฐ ์๋น์ค์ ๋ฏธ๋๋ฅผ ํ์ธต ๋ ๋ฐ๊ฒ ๋ง๋ค์ด์ค ์ ์์ ๊ฒ๋๋ค.