์ฝ๋๋ GitHub LAMDiceBotยทdeguriยทCrazyArcadeCopy์, ์ฑ์ lamdice.com๊ณผ deguri.ai.kr์์ ๋ณผ ์ ์๋ค.
๋ ๋ง์ ๊ธ์ radarlog.kr์์.
AI ๋ฅผ ๋ถ์๋๋ ๋ด์ด ๋ ๋ชปํด์ก๋ค.
์ฒ์น์จ 67% ์์ 53%. 2,840๋ฒ ํธ์ถ์ ์คํจ๋ 1๋ฒ, ๋น์ฉ์ $0.054. ๋์ ๊ฑฐ์ ์ ๋ค์๋ค. ํจ๊ณผ๋ ์์๋ค.
์ด๊ฒ ๋ ๋ฒ์งธ ์คํจ์๋ค. ์ฒซ ๋ฒ์งธ๋ AI ๊ฐ ์กฐ์ข ํ๋ ๊ณต์ด ๋ฒฝ์ ๋ผ์ด์ ์ ๋ด๋ ค์๊ณ , ์ธ ๋ฒ์งธ์์์ผ "์ด๊ฑด ๋๋ค" ์ถ์ ์๋ฆฌ๋ฅผ ์ฐพ์๋ค.
๊ฒ์ ์ธ ๊ฐ์ ๊ฐ์ ๋ชจ๋ธ์ ๋ถ์ฌ ๋ณธ ๊ธฐ๋ก์ด๋ค.
์ ํํ Jev ์๋
์์์ ์ฐ๋ ๋ ๋ฐ์์ด์๋ค. "jev ai ๋ฅผ ๊ฒ์์ ์ ๋ชฉ" ๊ธ์ด 725 ์กฐํ, "jev ๋ก ๊ฒ์ AI" ๊ธ์ด 2์๊ฐ ๋ง์ 445. ๊ฒ์ ๊ธฐ๋ฅ๋ง ์๊ฐํ ๊ธ์ 100 ์ ๋ชป ๋์๋ค.
์ฌ๋๋ค์ AI ๊ฐ ํ๋จํ๋ ๊ฒ ํ๋ฉด์ ๋ณด์ด๋ ์ชฝ์ ๋ฐ์ํ๋ค.
Jev ๋ TypeSafe ์ ๋ชจ๋ธ์ธ๋ฐ, ๊ธ์ ์ฐ๋ LLM ์ด ์๋๋ค. ์ํ(state)์ ํ์ ์ด ์ ํด์ง ์ง๋ฌธ์ ๋ณด๋ด๋ฉด ์ ํ์ง ์์ ํ๋ฅ ๋ง ๋์์จ๋ค.
choice ๋ "์ด ์ค ์ด๋ ๊ฒ", score ๋ "์ด๋ ๋จ๊ณ", noul ์ "์ฐธ์ธ๊ฐ". ํ์ฑํ ๊ฒ ์๊ณ ์ฝ๋๊ฐ ๋ฐ๋ก if ๋ก ๋ฐ๋๋ค.
curl -s https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"jev-latest",
"state":"Help! My payouts have been failing for 3 days.",
"questions":{"is_urgent":{"type":"noul","instructions":"Does this convey urgency?"}}}'
๋์์ค๋ ๊ฑด "noul": 0.95 ํ ์ค์ด๋ค. ๊ธด๊ธํ ํ๋ฅ 95%.
๊ฐ๊ฒฉ์ด ๊ฒฐ์ ํ์๋ค. ์ ๋ ฅ 100๋ง ํ ํฐ๋น $0.042, ์ถ๋ ฅ์ ๋ฌด๋ฃ. ํ ๋ฒ ๋ถ๋ฅด๋ ๋ฐ 1์ ์ํ์ด๋ผ ํ๋ง๋ค ์๋ฐฑ ๋ฒ ๋ถ๋ฌ๋ ๋ถ๋ด์ด ์๋ค. ์๋ต์ ๊ณต์ ๋ฌธ์๊ฐ "์ฝ 100ms", ๋ด ์ค์ธก์ 205~285ms.
๊ฒ์ ํ๋ก๊ทธ๋๋จธ ๋์๋ ์ํ ๋จธ์ ์ ๊ฝ๋ ๋ถ๊ธฐ ํ๋๋ก ๋ณด์๋ค. ๊ทธ๋์ ๊ฐ์ฅ ์ค์๊ฐ์ธ ๊ฒ๋ถํฐ ๋ถ์ฌ ๋ดค๋ค. ๊ฑฐ๊ธฐ์ ์ฒซ ๋ฒ์งธ ์คํจ๊ฐ ๋์๋ค.
1์ฐจ: ํ์์ดํ ๋ด โ ๊ณต์ด ๋ฒฝ์ ๋ผ์๋ค
๋ฐ๊ตฌ๋ฆฌ ๋จ๋ ํ์ ํ์์ดํ์ ํฝ์ ๋๋ฌผ ๊ณต์ด ์ธ๋์ ๊ตด๋ฌ ๋ด๋ ค์ค๋ ๋ชจ๋๋ค. ์กฐ์์ ๊ธฐ์ธ๊ธฐ์ ์ ํ๋ฟ, ๋ ์๋ฆฌํํ ์กํ๋ฉด ์๊ฐ์ ์๋๋ค.
์ฌ๊ธฐ์ Jev ๋ฅผ ์กฐ์ข
์ฌ๋ก ์ํ๋ค. 120ms ๋ง๋ค ์ํ๋ฅผ ์์ด ๋ฌธ์ฅ์ผ๋ก ๋ณด๋ด๊ณ , ๊ธฐ์ธ๊ธฐ ์ฌ์ฏ ๊ฐ ์ค ํ๋(choice)์ ์ ํํ ์ง(noul)๋ฅผ ๋ฐ์๋ค.
์ฒซ ํ๋ถํฐ ๊ณต์ด ์ค๋ฅธ์ชฝ ๋ฒฝ์ ๋ถ์ด์ ์ ๋ด๋ ค์๋ค.
์์ธ์ ๋ณด๊ธฐ ๋ฌธ๊ตฌ์๋ค. ๊ตฌ๋ฅด๊ธฐ์ ๊ฑท๊ธฐ์์ ๊ธฐ์ธ๊ธฐ์ ๋ป์ด ๋ค๋ฅธ๋ฐ, ๊ฑท๊ธฐ์ฉ ์ค๋ช "ํต๋ก์์ ๊ฐ์ฅ ๋น ๋ฆ"์ด ๊ตฌ๋ฅด๊ธฐ ๋ณด๊ธฐ์ ์์ฌ ์์๋ค.
Jev ๋ ๊ทธ๊ฑธ ๋ฌธ์ ๊ทธ๋๋ก ์ฝ๊ณ hard_right ๋ง ๊ณจ๋๋ค.
// Before โ ๊ฑท๊ธฐ์ฉ ์ค๋ช
์ด ๊ตฌ๋ฅด๊ธฐ ๋ณด๊ธฐ์ ์์
hard_right: "fastest in the corridor"
// After โ ๋ชจ๋๋ณ๋ก ์ค๋ช
์ ๋๋๊ณ , ์ฌ์ค๋ง ์ ๋๋ค
rolling.hard_right: "tilt hard toward the right wall"
walking.hard_right: "walk right along the corridor"
"๊ฐ์ฅ ๋น ๋ฆ" ๊ฐ์ ํ๊ฐ ๋ฑ๋ง์ด ์ ํ์ ๋๊ณ ๊ฐ๋ค. ์ค๋ช ์ ๋ชจ๋๋ณ๋ก ๋๋๊ณ , ์ํ์ "์ต๊ทผ 2์ด ๊ฑฐ์ ์ ๋ด๋ ค๊ฐ(๋ผ์์ ๊ฒ)"์ ๋ฃ์ด์์ผ ๋ฒฝ์์ ๋จ์ด์ก๋ค.
๊ณ ์น๊ณ ๋์ 5์๋ ํ๊ท 51.7์ด. ๊ทธ๋ฐ๋ฐ ๊ฐ๋งํ ๋๋ฉด 58.1์ด, ๋ ์๋ฆฌ ์ฌ ๋๋ง ์ ํํ๋ ๊ท์น ํ ์ค์ด๋ฉด 44.3์ด์๋ค.
AI ๊ฐ ๊ท์น ํ ์ค์ ๋ชป ์ด๊ฒผ๋ค. ๋ ์๋ฆฌํํ ๋ ๋งค ํ ์กํ๋ค.
์์ฒญ์ 120ms ๋ง๋ค ๊ฐ๋๋ฐ ์๋ต์ด 205ms ๋ค. ๋ต์ด ์ค๋ฉด ์ด๋ฏธ ๋ค์ ์ํฉ์ด๋ค. ๊ฒ๋ค๊ฐ Jev ๋ ํ์ด๋ฐ ์์น์ ์ฝํด์, ๋ ์๋ฆฌ๊ฐ ์ก๊ธฐ 1.2~0.85์ด ์ ์ ๋ฏธ๋ฆฌ ๋ฐ๊ณ ์ฌ์ฌ์ฉ ๋๊ธฐ์ ๊ฑธ๋ ธ๋ค.
๊ทธ๋์ ์ญํ ์ ๋ฐ๊ฟจ๋ค. ์ฝ๋๊ฐ ๊ธฐ์ธ๊ธฐร์ ํ ํ๋ณด๋ฅผ 1.5์ด ์๊น์ง ๋ฏธ๋ฆฌ ๊ตด๋ ค ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ก ์ ์ด ์ฃผ๊ณ , Jev ๋ ๊ทธ ์ค์์ ๊ณ ๋ฅด๊ธฐ๋ง ํ๋ค.
candidate A: reaches the next section, eagle still far away
candidate B: hits the right wall and nearly stops
candidate C: jumps early, lands in the mud
18.56์ด. ๋ ์๋ฆฌ๋ฅผ ์ ๋ถ ํผํ๋ค. ๊ฐ์ ํ๋ณด๋ฅผ ์ฝ๋ ์ ์๋ก ๊ณ ๋ฅด๋ฉด 20.86์ด, ์ด์ ์ค ์ฌ๋ 1์๊ฐ 31.1์ด(9๋ช ). ๋น์ฉ์ ํ ํ์ ์๋ฐฑ ๋ฒ ๋ฌผ์ด์ ์ฝ 1์ผํธ.
์ฌ๋ ๋ญํน์ ์๋ํ ๊ฑด Jev ๊ฐ ์๋๋ผ ๋ฏธ๋ฆฌ ๊ตด๋ฆฌ๊ธฐ๋ค. Jev ๋ ์ฝ๋ ์ ์๋ณด๋ค 2์ด ๋จ์ง ๋์์ ๋ฟ์ด๋ค. ํ๋ณด ํ๊ฐ๋ ๋๋ค, ์กฐ์ข ์ ์ ๋๋ค.
2์ฐจ: ํฌ์ ๋ด ์ ์ โ ์์ฝ ํจ๊ณผ์ ์์ ๋ปํ๋ค
๋ ๋ฒ์งธ๋ ํฌ๋ ์ด์ง ์์ผ์ด๋๋ฅผ ๋ฐ๋ผ ๋ง๋ ๋ฌผํ์ ๊ฒ์์ด๋ค. ๋ด์ 0.1์ด๋ง๋ค ์ํ ์ง๋๋ฅผ ๋ค์ ๊ทธ๋ ค์ ์์ง์ด๊ณ , ์ด๋ฏธ ๊ฝค ์ํ๋ค.
Jev ํํ ๋ ์ ์ ๋ง ๋งก๊ฒผ๋ค. 1.5์ด๋ง๋ค ์ํฉ์ ๋ฌธ์ฅ์ผ๋ก ๋ณด๋ด๊ณ ์ฌ๋ฅยท์์ดํ ยทํ๋ฐ ์ ์ค ํ๋๋ฅผ ๋ฐ๋๋ค. ์ํ๋ 2,000์, ํ๋ณด ์ค๋ช ์ 200์๋ก ์๋๋ค.
์ค๊ณํ๋ ๋ ์ API ํค๊ฐ ์์ด์ Jev ๋ฅผ ํ ๋ฒ๋ ๋ชป ๋ถ๋ ๋ค. ๊ทธ๋ฐ๋ฐ๋ "์ฝ๋ ์ ์ ์ ํ" ๊ตฐ ์น๋ฅ ์ด 80%.
ํ ๋ณด๋ ์ฒซ ํ๋จ์ 7ms ๋ฏธ๋ฃฌ ๊ฒ๋ง์ผ๋ก ๊ธฐ์กด ๋ด ์น๋ฅ ์ด 1.7% ์์ 38.3% ๋ก ๋ฐ์๋ค. 14ms ๋ฉด 93.3%.
์ ๊ทธ๋ฐ์ง๋ ์์ง ๋ชจ๋ฅธ๋ค. ์ ์ ์ด ์๋๋ผ ํ์ด๋ฐ ๋ช ms ๊ฐ ์น๋ฅ ์ ํ๋ ๊ฒ๋ง ๋ถ๋ช ํ๋ค.
์์ฝ ํญ์ ๋จผ์ ์ฌ์ง ์์ผ๋ฉด ์ด๋ค ์ซ์๋ ๋ฏฟ์ ์ ์๋ค.
๋ํ ๋ค ํค๋ฅผ ๋ฐ์ ์ค์ธกํ๋ค. 3๋งตร10์๋, ๊ณ ์ ๋ด ์ฒ์น์จ 67% ์์ 53%. 2,840๋ฒ ํธ์ถ์ ์คํจ 1๋ฒ, ์๋ต ์ค์๊ฐ 285ms, ์
๋ ฅ 128.9๋ง ํ ํฐ, $0.054.
67% โ 53%
2,840๋ฒ ํธ์ถ. $0.054. 14%p ํ๋ฝ.
โ14%p ๋ ์์ฝ ํญ 10%p ์์ด๋ผ "ํ์คํ ๋์๋ค"๊ณ ๋ ๋ชป ํ๋ค. ํ์ง๋ง ๋์์ง ์ฆ๊ฑฐ๋ ์๋ค. Jev ๊ฐ ์ ์ค ์๊พธ "์์ดํ "์ ๊ณจ๋ผ ๋ด์ ์ฌ๋ฅ์์ ๋ผ์ด ๋๊ณ ์์๋ค.
์ฝ๋๋ 0.1์ด๋ง๋ค ์ํ ์ง๋๋ฅผ ๋ณด๋๋ฐ Jev ๋ 1.5์ด๋ง๋ค ๋ฌธ์ฅ ๋ช ์ค๋ง ๋ณธ๋ค. ์ ๋ณด๊ฐ ์ ์ ์ชฝ์ด ์ด๊ธธ ์ ์๋ค. ์ฝ๋๊ฐ ์ด๋ฏธ ์ํ๋ ๊ฒฐ์ ์ AI ๋ฅผ ์น์ ๊ฒ ์๋ชป์ด์๋ค.
๊ทธ๋์ ์๋ฆฌ๋ฅผ ์ฎ๊ฒผ๋ค. ์ ์๊ฐ ์๋๋ผ ๊ฐ๋
์ด๋ค. 30์ด๋ง๋ค ๋์ด๋๋ฅผ up/keep/down ์ผ๋ก, ๋ด ์ฑํฅ์ choice ๋ก, 10์ด๋ง๋ค ์์ ํ๋๋ฅผ ๋ฐ๋๋ค.
ํฑ ๋จ์ ๊ฒฐ์ ์ ์ฝ๋๊ฐ ๊ทธ๋๋ก ์ฅ๋ค. ์ด๊ฑด ์ง๊ธ ์ด์ ์ค์ด๋ค.
3์ฐจ: ๋ฐ๊ตฌ๋ฆฌ ํ์ด๋ผ์ดํธ โ ๋๋ค, ๊ทผ๋ฐ ๋ ์ฅ๋ฉด๋ง ๊ณจ๋๋ค
์ธ ๋ฒ์งธ๋ ์ค์๊ฐ์ด ์๋๋ผ ์ด๋ฏธ ๋๋ ๊ฒฝ์ฃผ๋ค.
๊ฒฝ์ฃผ๊ฐ ๋๋๋ฉด ์๋ฒ๊ฐ 6์ด์ง๋ฆฌ ํ์ด๋ผ์ดํธ ํ๋ณด๋ฅผ ๋ง๋ ๋ค. ์ญ์ , ๋ ์๋ฆฌ ๋ฉ์น, ๊ตฌ๋ฉ, ์งํ, ๋ฎ์ , ๋ชธ์ธ์, ์ ์ .
ํ๋ณด๋ง๋ค ์ฌ์ค์ ์ซ์๋ก ๋ชจ์ ๊ฒ์ฌํ ๋ค ์์ด ๋ฌธ์ฅ์ผ๋ก ๋ค์ ์ด๋ค. ์ฐธ๊ฐ์ ์ด๋ฆ, ๋ฐฉ ์ด๋ฆ, ์ขํ๋ ์ ๋ณด๋ธ๋ค. ์๋ฒ๊ณผ ๋๋ฌผ๊ณผ ์ฌ๊ฑด๋ง.
๊ทธ๊ฑธ choice ํ๋๋ก ๋ฌป๋๋ค.
{
"model": "jev-latest",
"state": {
"task": "Choose the best 6-second highlight of a finished race.",
"race": "8 pixel animals rolled down a hill. The rabbit led most of the way...",
"what_makes_it_fun": "The moment the outcome flips is the core. Everyone already saw the finish."
},
"questions": {
"pick": {
"type": "choice",
"instructions": "Which clip would be the most fun to watch?",
"criteria": {
"c1": "the leader was snatched by the eagle",
"c2": "nothing special happened"
}
}
}
}
{
"model": "jev-1.13.0",
"answers": {
"pick": {
"type": "choice",
"choice": "c1",
"probabilities": { "c1": 0.88, "c2": 0.12 },
"confidence": 0.76
}
},
"usage": { "input_tokens": 318, "output_tokens": 34 }
}
๋๋ค. ๊ฒฐ๊ณผ ์นด๋์ ๊ทธ ์ฅ๋ฉด์ด GIF ๋ก ๋ฌ๋ค.
๊ทธ๋ฐ๋ฐ 20ํ ๋๋ ค ๋ณด๋ 18ํ์ด ๋ ์ฅ๋ฉด์ด์๋ค.
ํ๋ณด ๋ฌธ์ฅ์ "very end of the race" ๊ฐ์ ์์น ๋จ์๊ฐ ์์๋ค. 1์ฐจ์ "๊ฐ์ฅ ๋น ๋ฆ"๊ณผ ๋๊ฐ์ ํจ์ ์ด๋ค.
// Before โ ์์น ๋จ์๊ฐ ์ ํ์ ๋์ด๊ฐ๋ค
"the rabbit took the lead at the very end of the race"
// After โ ์์น๋ฅผ ๋งํ์ง ์๋๋ค
"the rabbit overtook the leader after trailing for most of the race"
์์น๋ฅผ ์ง์ฐ๊ณ , ์ฝ๋๊ฐ "๊ฒฐ์ ์ ๊ณ๊ธฐ" ํ๋ณด๋ฅผ ํญ์ ํ๋ ๋ฃ๊ฒ ํ๋ค. ๊ทธ ๋ค๋ก๋ ์ ์ ์ด์๋ ํ์์๋ง ๊ฒฐ์ ์ฅ๋ฉด์ ๊ณ ๋ฅธ๋ค.
์จ ๋ณธ ์ฌ๋๋ค์ ๊ฒฐ์ ๋๋ ์๊ฐ๋งํผ ์ ์ ์ด ์ฌ๋ฐ๋ค๊ณ ํ๋ค. ๊ทธ๋์ ๋ถ์ด ๊ฐ ์๊ฐ๊ณผ ๊ณจ์ธ ์ฐจ์ด๋ ํ๋ณด์ ๋ฃ์๋ค.
๋จ ์ซ์๊ฐ ์๋๋ผ ๋ฑ๋ง๋ก. neckSec: 4 ๋์ "stayed neck and neck for several seconds". Jev ๋ ์์น ๋น๊ต์ ์ฝํ๋ค.
๋ฐ์๋ ํ์ต์ ์ด๋ค. ๊ฒฐ๊ณผ ์นด๋์ ๐/๐ ๋ฅผ ์ฌ์ค๋ณ ์ข์์ ๋น์จ๋ก ๋ชจ์ ์ฝ๋ ์ ์ ๊ฐ์ค์น๋ฅผ 0.5~2๋ฐฐ๋ก ์กฐ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ 5ํ์ 1ํ์ ์ฝ๋ ์ ์๋ก๋ง ๊ณจ๋ผ Jev ๊ฐ ์ ๋ง ๋์์ง ๊ณ์ ๋น๊ตํ๋ค.
๋ค๋ฅธ ํ๋ก์ ํธ์ ๊ฐ์ ธ๊ฐ ๊ฒ
์ธ ์ ์ฅ์์ ํธ์ถ ์ฝ๋๋ฅผ ํจ์ ํ๋๋ก ์ค์๋ค. ํค ์์, ์คํจ, ์๊ฐ ์ด๊ณผ, ์๋ฑํ ๋ต์ ์ ๋ถ null. ๋ถ๋ฅด๋ ์ชฝ์ด ์ฝ๋ ๊ท์น์ผ๋ก ๋์ ํ๋ค.
const JEV_TIMEOUT_MS = 3000;
async function askJev(state, questions) {
const key = process.env.TYPESAFE_API_KEY;
if (!key) return null;
try {
const res = await fetch('https://api.typesafe.ai/v1/systemone', {
method: 'POST',
headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ model: 'jev-latest', state, questions }),
signal: AbortSignal.timeout(JEV_TIMEOUT_MS)
});
const body = await res.json().catch(() => null);
if (!res.ok || !body || !body.answers) return null;
return body.answers;
} catch (err) {
console.warn('[jev] ์คํจ:', err && err.name);
return null;
}
}
const answers = await askJev(state, { pick });
const pick = answers && ['c1', 'c2'].includes(answers.pick.choice)
? answers.pick.choice
: codeFallback();
choice ๊ฐ ๋ด๊ฐ ์ค ์ต์
์ธ์ง ๋ค์ ๊ฒ์ฌํ๊ณ , ํ์์์์ 2~3.5์ด. ์ค์๊ฐ ๊ฒฝ๋ก๋ฉด ์ฌ์๋ ์์ด ๋ฐ๋ก fallback ์ด๋ค.
์์น์ ์ธ ๋ฒ์ด ์ ๋ถ ๊ฐ์ ๊ฑธ ๊ฐ๋ฆฌ์ผฐ๋ค. ํ๋ฆ์ ์ฝ๋๊ฐ ์ฅ๊ณ Jev ๋ ์ข์ ํ๋จ ํ๋๋ง. ์ซ์๋ ์ฝ๋๊ฐ ๊ณ์ฐํ๊ณ Jev ์๋ ๋ฑ๋ง๋ก.
์ง๋ฌธ ํ๋์ ํ๋จ ํ๋, ์ฌ๋ฌ ์ง๋ฌธ์ ํ ์์ฒญ์ ๋ฌถ๋๋ค. ๋ณ๋ ฌ๋ก ํ๊ฐ๋๋ ์๊ฐ์ ๊ทธ๋๋ก๊ณ ๋น์ฉ์ ํ ํฐ๋งํผ๋ง ๋ ๋ค.
ํค๋ ์๋ฒ ํ๊ฒฝ๋ณ์์์๋ง ์ฝ๊ณ , ์ํ์ ๋๋ค. ์์ผ๋น ๋์ ์์ฒญ 1๊ฐ, ๋ถ๋น 60ํ, ํ์ด๋ผ์ดํธ๋ ํ๋น 1ํ. 'Jev' ๋ฐฐ์ง๋ ์ค์ ๋ก Jev ๊ฐ ๋ตํ์ ๋๋ง ๋ถ์ธ๋ค.
๊ทธ๋ฆฌ๊ณ ๋น๊ต ์คํ์ ์์ฝ๊ตฐ๋ถํฐ. 7ms ๊ฐ ์น๋ฅ ์ 1.7% ์์ 38.3% ๋ก ๋ฐ๊พธ๋ ์ธ๊ณ์์, ๋์กฐ๊ตฐ ์๋ ์ซ์๋ ์ซ์๊ฐ ์๋๋ค.
์ธ ๋ฒ ๋ค ๊ฐ์ ์ง๋ฌธ์ด์๋ค. ์ด ๊ฒฐ์ ์ ์ฝ๋๊ฐ ์ด๋ฏธ ์ํ๊ณ ์๋. ๊ทธ๋ ๋ค๋ฉด AI ๋ ์ ์น๋๋ค.
์ฝ๋๊ฐ ๋ชป ํ๋ "์ด ์ค ๋ญ๊ฐ ๋ ๋ณผ๋งํ๊ฐ"๋ ์ด๋ฏธ ์ผ์ด๋ ์ผ์ ๋ฌผ์ ๋ ๊ฐ์ฅ ์ ๋ง์๋ค.
"AI ๋ ์ ์๊ฐ ์๋๋ผ ๊ฐ๋ ์๋ฆฌ์ ์ํ๋ผ. ๋๋ ๊ฒฝ๊ธฐ๋ฅผ ๋ณด๋ ์๋ฆฌ๋ฉด ๋ ์ข๋ค."













