Task Results 53 KO - teamswyg/laya-tools GitHub Wiki

PDCA 53: ํ–‰๋™ ๋ณ€๊ฒฝ์˜ ๋ฐ˜๋ณต ์‹คํ–‰๊ณผ ๊ณต๊ฐœ Go ์›์ฒœ ํ™•๋Œ€

English ยท ๋ด‰์ธํ•œ ๊ณ„ํš ยท ์‚ฌ์ „ Laya ๊ด€์ธก ยท ์ „์ฒด ์ˆ˜์น˜

์ƒˆ ํ–‰๋™ ์š”์ฒญ repo-keyword-language-guard ํ•˜๋‚˜๋ฅผ ๋‘ ์š”์ฒญ ํ”„๋กœํ•„๋กœ ๊ฐ๊ฐ ๋‘ ๋ฒˆ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ๊ณ ์ •ํ•œ ๋„ค CLI ์‹œ๋„ ๋ชจ๋‘ ๋…๋ฆฝ ์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ–ˆ๊ณ , ์ •์ƒ ์ข…๋ฃŒ์™€ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ–ˆ๋‹ค. ์ƒˆ ์š”์ฒญ์€ 1๊ฐœ์ด๋ฉฐ ์‹คํ–‰ 4๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค. ํ•ต์‹ฌ ์†Œ์Šค ๋ณ€๊ฒฝ์€ ๋„ค ๋ฒˆ ๋ชจ๋‘ ๊ฐ™์€ bytes์˜€๋‹ค. ๊ฒ€์ฆํ•œ ํ‚ค์›Œ๋“œ ๋ณดํ˜ธ ๋ณ€๊ฒฝ์„ ์‹ค์ œ ์ €์žฅ์†Œ ์„ ํƒ ์ฝ”๋“œ์—๋„ ๋ฐ˜์˜ํ•œ๋‹ค.

๋ˆ„์  ์‹ค์ œ ์ฝ”๋”ฉ ์ž๋ฃŒ๋Š” ๊ณ ์œ  ๊ฐœ๋ฐœ ์š”์ฒญ 4๊ฐœยท์†Œ์œ ํ•œ ์‹คํ–‰ ๊ธฐ๋ก 12๊ฐœยท๋‘ ์ฝ”๋“œ ๊ฐ€์กฑยทํ•œ ์ €์žฅ์†Œ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์›์ฒœ์˜ ๊ฐœ๋ฐœ ์š”์ฒญ 120๊ฐœ๋‚˜ ๋„๋ฉ”์ธ๋ณ„ ๋ณดํ˜ธ ์ตœ์ข… ํ‰๊ฐ€ 2,400๊ฐœ๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹ˆ๋‹ค.

Plan

๊ณ„ํš SHA 2205505aeaf03e331ff1d3872c2aee6fe11a1f9668c3c7574f0d30f41cdb2390์„ ๊ฒฐ๊ณผ ์ „ commit ebd1507c957e8ac3991a2e71cf58eeb5b8f8f8f4์— ๊ณ ์ •ํ–ˆ๋‹ค. ์š”์ฒญ ์ˆœ์„œ๋Š” Luna / Sol6 / Sol6 / Luna, ๋™์‹œ ์‹คํ–‰ 1๊ฐœ, ๋ณธ ์‹คํ–‰ 120์ดˆยท๋…๋ฆฝ ๊ฒ€์‚ฌ 45์ดˆ, ์‹คํ–‰๊ธฐ ์žฌ์‹œ๋„ยท์žฌ๊ฐœยท๋Œ€์ฒด ์—†์Œ์ด๋‹ค. ๊ฐ™์€ ์š”์ฒญ์˜ ๋ฐ˜๋ณต์€ ๋ณ€๋™์„ฑ ๊ด€์ฐฐ์„ ์œ„ํ•œ ์‚ฌ์ „ ์„ ํƒ์ด๋‹ค.

์‹คํ–‰๊ธฐ๋Š” CI๊ฐ€ ํ†ต๊ณผํ•œ ๋ณ€๊ฒฝ ์—†๋Š” main ee72334166e2962b0821d5198a50fdd13f92ab29์˜ ๊นจ๋—ํ•œ -trimpath ๋นŒ๋“œ๋‹ค. Go metadata์˜ ํ•ด๋‹น revision๊ณผ vcs.modified=false, ๋ฐ”์ด๋„ˆ๋ฆฌ SHA 5b801da856ed824a11372a9fb705901f3624f09bd1b52283c46efe28a3420c6c๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ๊ณต๊ฐœ ์ž‘์—…์€ ๋ณ„๋„ revision 146b02b9c37e6d90a11386050ccfdffc036c113e์™€ ์ด์ „์— ๊ฒŒ์‹œํ•œ version1 ๊ณ„์•ฝ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ฒˆ์— ์ค€๋น„ํ•˜๋Š” ์ƒˆ ํŒŒ์‹ฑ ๊ณ„์•ฝ์ด๋‚˜ ์›์ฒœ ๋ชฉ๋ก์€ ์ด ๋„ค ์‹œ๋„์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค.

์„ค์ •ยท์บ์‹œ ์—†๋Š” ์ž„์‹œ ๋กœ๊ทธ์ธ ๊ณต๊ฐ„์˜ ์ฝ๊ธฐ ์ „์šฉ CLI ์นดํƒˆ๋กœ๊ทธ ์กฐํšŒ๋กœ ๋‘ ํ”„๋กœํ•„์˜ low๋ฅผ ํ™•์ธํ–ˆ๋‹ค. CLIยทGo ์‹คํ–‰ ํŒŒ์ผ์˜ ์ด์ „ ๊ณ ์ •๊ฐ’์€ ๊ฐ™์•˜๋‹ค. ์นดํƒˆ๋กœ๊ทธ๋Š” ์ ‘๊ทผ๊ถŒ์ด๋‚˜ ์‹ค์ œ ๋ฐฑ์—”๋“œ ๋ชจ๋ธ์˜ ์ฆ๋ช…์ด ์•„๋‹ˆ๋ฉฐ, ๋ชจ๋“  observed_model์€ ์—ฌ์ „ํžˆ unknown์ด๋‹ค. ๊ธฐ์กด ChatGPT ๋กœ๊ทธ์ธ์„ ์‚ฌ์šฉํ–ˆ๊ณ  API ํ‚ค ์š”๊ธˆยท์ƒˆ endpointยทํด๋ผ์šฐ๋“œ ํ•™์Šตยท๊ตฌ๋งค ํฌ๋ ˆ๋”ง์€ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜๋‹ค. ๊ธˆ์•กยท๊ตฌ๋… ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๋‚ด๋ถ€ ํ˜ธ์ถœยท์žฌ์‹œ๋„ ์ˆ˜๋Š” ๋ฏธํ™•์ธ์ด๋‹ค.

์ž‘์—… ๊ฒฐ๊ณผ ์ „ Laya

๊ธฐ์กด ํ›„๋ณด ๋ชฉ๋ก์˜ ์ž‘์„ฑ์ž ๋‚œ์ด๋„ ๊ฐ€์„ค์€ fast์˜€๋‹ค. ๋ณ„๋„ ๋ด‰์ธํ•œ ๊ณ„ํš53์€ ๊ฒฐ๊ณผ์™€ Laya ๊ด€์ธก ์ „์— standard๋ฅผ ์ œ์•ˆํ–ˆ๋‹ค. ๋‘˜ ๋‹ค ์ž‘์„ฑ์ž์˜ ๊ฐ€์„ค์ด๋ฉฐ ์ •๋‹ต์œผ๋กœ ์žฌ๋ถ„๋ฅ˜ํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ •ํ™•ํ•œ ์ž‘์—… prompt๋ฅผ ๊ณ ์ • Laya INT8 baseยทCPU 1์Šค๋ ˆ๋“œยท์ž„๊ณ„๊ฐ’0.9๋กœ ํ•œ ๋ฒˆ ์‹คํ–‰ํ–ˆ๋‹ค. ์ œ์•ˆ์€ standard, ์ตœ๋Œ€ ์ ์ˆ˜๋Š” 0.6692456483์œผ๋กœ ๋ณด๋ฅ˜ํ–ˆ๋‹ค. strong ๊ฒฐ๊ณผ์˜ ๋ชจ๋ธ ์ด๋ฆ„ Astra๋Š” ์„ค์ •์ƒ์˜ fallback์ด๋ฉฐ ์‹ค์ œ Astra ์ฝ”๋”ฉ ์‹คํ–‰์€ ์—†๋‹ค. ์ƒˆ fast/Lunaยทstandard/Sol6ยทstrong/Astra ๋งคํ•‘์€ ์ด ์ƒˆ ๊ด€์ธก์—๋งŒ ์ ์šฉํ•œ๋‹ค. ์ด์ „ ์˜ˆ์ธก๊ณผ ๊ทธ 6.1 Sol ๋งคํ•‘์€ ๊ทธ๋Œ€๋กœ ๋ณด์กดํ•œ๋‹ค.

์ „์ฒด ํ”„๋กœ์„ธ์Šค ๊ด€์ธก์€ 1,273ms, ์•ฑ ๋ณด๊ณ  ms๋Š” 860.411ms, OS ์ตœ๋Œ€ RSS๋Š” 1,503,657,984bytes(์•ฝ1.50GB/1.40GiB), ์ตœ๋Œ€ memory footprint๋Š” 1,473,218,696bytes๋‹ค. ํ•œ ๋ฒˆ์˜ cold ๊ด€์ธก์œผ๋กœ native ๋กœ๋”ฉ์„ ํฌํ•จํ•˜๋ฉฐ warm ์š”์ฒญ ์ง€์—ฐยทGo heapยทGPU ๋ฉ”๋ชจ๋ฆฌยท์›๊ฒฉ ์ฝ”๋”ฉ ๋ชจ๋ธ ์ž์›์ด ์•„๋‹ˆ๋‹ค. ์ดˆ์ €์ž์› ๋ชฉํ‘œ ๋‹ฌ์„ฑ ๊ทผ๊ฑฐ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋ชจ๋ธยทruntimeยท๊ท€์† ๋ฌธ์„œ 11ํŒŒ์ผ์„ ๋ณ€๊ฒฝ ์—†๋Š” manifest์™€ ๋Œ€์กฐํ–ˆ๋‹ค.

๋ผ์šฐํ„ฐ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๊ณ ์ • ๊ณต๊ฐœ Git source archive์˜ -trimpath -buildvcs=false ๋นŒ๋“œ์ด๋ฉฐ VCS metadata๊ฐ€ ์—†๋‹ค. ๊นจ๋—ํ•œ VCS ์‹คํ–‰๊ธฐ ๋นŒ๋“œ์™€ ๊ตฌ๋ณ„ํ•œ๋‹ค. ์˜ˆ์ธก ํŒŒ์ผ์€ ์ฝ”๋”ฉ ๊ฒฐ๊ณผ ์ „ commit 469dc8ffcf72d55046a8bb0ec498a50e94ada099์— ๊ณ ์ •ํ–ˆ๋‹ค. confidence๋Š” ๋ณด์ •๋œ ์ฝ”๋”ฉ ์„ฑ๊ณต ํ™•๋ฅ ์ด ์•„๋‹ˆ๋‹ค.

Do / Check

์ˆœ์„œ ์š”์ฒญ ํ”„๋กœํ•„ ๋ณธ ์‹คํ–‰ ms ๋…๋ฆฝ ๊ฒ€์‚ฌ ms ์ž…๋ ฅ ๊ทธ์ค‘ ์บ์‹œ ์ถœ๋ ฅ ๊ทธ์ค‘ reasoning
1 Luna low 36,006 4,108 79,359 61,184 1,131 0
2 Sol6 low 38,435 4,105 80,278 64,256 1,112 9
3 Sol6 low 58,658 4,254 115,974 104,192 1,646 67
4 Luna low 38,788 4,391 64,194 50,944 1,001 0

๋„ค ์‹œ๋„ ๋ชจ๋‘ ํ›„๋ณด ๋ฒ”์œ„ ์ˆ˜์šฉยทexit0ยท์™„์ „ ์บก์ฒ˜ยทํ”„๋กœ์„ธ์Šค ๊ทธ๋ฃน ํšŒ์ˆ˜ยท๋ณต์‚ฌํ•œ ์ธ์ฆ ์ œ๊ฑฐ๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ๊ธฐ๋ณธ CLI ์‚ฌ์šฉ๋Ÿ‰ ํ•ฉ๊ณ„๋Š” ์ž…๋ ฅ339,805ยท๊ทธ์ค‘ ์บ์‹œ280,576ยท์ถœ๋ ฅ4,890ยท๊ทธ์ค‘ reasoning76์ด๋‹ค. ์บ์‹œ์™€ reasoning์„ ์ค‘๋ณต ํ•ฉ์‚ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ณธ ์‹คํ–‰ ํ•ฉ๊ณ„171,887ms์™€ ๋…๋ฆฝ ๊ฒ€์‚ฌ16,858ms๋Š” ๋ถ€๋ชจ ์ค€๋น„ ๋“ฑ์„ ์ œ์™ธํ•œ ๋ณ„๋„ ์‹œ๊ฐ„์ด๋‹ค. ๊ธˆ์•กยท๊ตฌ๋… ์ž”๋Ÿ‰์€ ์ด ํ† ํฐ ํ•ฉ๊ณ„๋กœ ์ถ”์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ชจ๋ธ์ด ๋ณ€๊ฒฝํ•œ ํ…Œ์ŠคํŠธ ํŒŒ์ผ๋„ ํ•ด์‹œ๋กœ ๋ณด์กดํ–ˆ์ง€๋งŒ ์ˆ˜์šฉ ๊ทผ๊ฑฐ๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค. ์„ ์–ธํ•œ mutable ์†Œ์Šค๋งŒ ๊ณ ์ • ์›๋ณธ ํ…Œ์ŠคํŠธ์™€ ๋…๋ฆฝ ๊ณ„์•ฝ์œผ๋กœ ๊ฒ€์‚ฌํ–ˆ๋‹ค. ํ›„๋ณด์˜ ๋‹ค๋ฅธ ํŒŒ์ผยท๋Ÿฐํƒ€์ž„ ์บ์‹œยท์ถ”๊ฐ€ ํŒŒ์ผ์€ ๋ฏธํ‰๊ฐ€๋‹ค. ๊ฐ ๊ณต๊ฐœ ์ข…๋ฃŒ JSON์€ ๋น„๊ณต๊ฐœ ์˜์† record.json๊ณผ byte-identical์ด์—ˆ๋‹ค. ์›์‹œ traceยท์ธ์ฆยท์ ˆ๋Œ€ ๋กœ์ปฌ ๊ฒฝ๋กœยท๋ชจ๋ธ ๋ณธ์ฒด๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š”๋‹ค.

Sol์˜ ๋‘ ๋ฒˆ์€ ๋ชจ๋‘ ์ˆ˜์šฉ๋์ง€๋งŒ ์‹คํ–‰38.435/58.658์ดˆ, ์ž…๋ ฅ80,278/115,974๋กœ ๋‹ฌ๋ž๋‹ค. Luna๋Š”36.006/38.788์ดˆ, ์ž…๋ ฅ79,359/64,194์˜€๋‹ค. ๋‘ ๊ด€์ธก์œผ๋กœ ๋ถ„ํฌยท์ผ๋ฐ˜ ์„ฑ๋Šฅ์„ ์ถ”์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค. Luna์˜ ์ด ์ž…๋ ฅ์€ ๋” ์ ์ง€๋งŒ, ์บ์‹œ๋ฅผ ์ œ์™ธํ•œ ์ž…๋ ฅ์€ Luna31,425ยทSol27,804๋กœ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€๋‹ค. ์ด ์ž…๋ ฅ ํ•˜๋‚˜๋กœ ์–ด๋А ํ”„๋กœํ•„์˜ ์‹ค์ œ ๋น„์šฉ์ด ๋‚ฎ๋‹ค๊ณ  ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋‹ค.

Act

์ฒซ ์™„๋ฃŒยท์ˆ˜์šฉ ํ›„๋ณด์˜ router.go SHA e0d9ddb2373604e41b35e151e7b593174dbdc005410ab5132567f15285d7883b์™€ ๊ฐ™์€ ๋ณ€๊ฒฝ์„ runtime์— ๋ฐ˜์˜ํ–ˆ๋‹ค. ์‹ค์ œ ๊ธฐ์ค€ ์†Œ์Šค์™€ ๋Œ€์กฐํ–ˆ๊ณ , ๊ฒŒ์‹œํ•œ ๋…๋ฆฝ ๊ณ„์•ฝ์„ ํ•จ์ˆ˜ ์ด๋ฆ„๋งŒ ๋ฐ”๊ฟ” runtime ํšŒ๊ท€ ๊ฒ€์‚ฌ๋กœ ๊ฐ€์ ธ์™”๋‹ค. ํ›„๋ณด๊ฐ€ ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ๋Š” ๊ฐ€์ ธ์˜ค์ง€ ์•Š์•˜๋‹ค. ์„ ํƒ๋œ ํ›„๋ณด์˜ ํ‚ค์›Œ๋“œ๋งŒ ๊ฒ€์‚ฌํ•˜๋ฉฐ nil-Judgeยท๊ธฐ์กด ์ฟผ๋ฆฌ ๋ณดํ˜ธยทlexical fallback์„ ์œ ์ง€ํ•œ๋‹ค. ํ• ๋‹นยท๊ณต์œ  ์ƒํƒœยทlock์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜๊ณ  ๊ธฐ์กด8ํ›„๋ณดร—32ํ‚ค์›Œ๋“œร—128byte ํ•œ๋„ ์•ˆ์—์„œ ์ˆœํšŒํ•œ๋‹ค.

๊ณต๊ฐœ Go ํ™•๋ณด ์กฐ์‚ฌ๋Š” 8๊ฐœ ์ €์žฅ์†Œ์—์„œ ์ง์ ‘ ์ž‘์„ฑํ•œ ํ–‰๋™ ์š”์ฒญ ํ›„๋ณด120๊ฐœ๋ฅผ ์›์ฒœ revisionยท์‹ค์ œ ํŒŒ์ผยท๋ผ์ด์„ ์Šค ๊ทผ๊ฑฐ์— ์—ฐ๊ฒฐํ•œ๋‹ค. ์ด๋Š” ์‹คํ–‰ ์ ๊ฒฉ ์š”์ฒญ120๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋…๋ฆฝ ์™„๋ฃŒ ๊ฒ€์‚ฌยท๋‹ซํžŒ ์†Œ์Šค ๋ฒ”์œ„ยทํŒŒ์ผ๋ณ„ ๊ท€์†ยท์˜์กด์„ฑยท๊ฒฉ๋ฆฌยท์‹คํ–‰ ์˜ˆ์‚ฐ์€ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ ๊ฒ€์ฆํ•ด์•ผ ํ•˜๋ฉฐ ํ•™์Šต ๋ผ๋ฒจ๊ณผ final ์ ๊ฒฉ์„ฑ์€ ์—†๋‹ค. ํ…œํ”Œ๋ฆฟยท๊ณต์œ  ์ฝ”๋“œยท๋ถ€๋ชจ/์ž์‹ยทfork ๊ด€๊ณ„๋Š” ๋ถ„ํ•  ์‹œ ์—ฐ๊ฒฐํ•œ๋‹ค.

๋ณ„๋„ ์ƒˆ ํŒŒ์‹ฑ ์ž‘์—…์€ JSONL event ์ตœ์ƒ์œ„ ํ‚ค์˜ ์ค‘๋ณตยท64๊ฐœ ๊ฐœ์ˆ˜ยท128byte ๊ธธ์ด ๊ฒฝ๊ณ„๋ฅผ ๊ฒ€์ฆํ•˜๋Š” versioned ๊ณ„์•ฝ์ด๋‹ค. ๊ฒŒ์‹œ ์ „ ๋…๋ฆฝ ๊ฒ€ํ† ์—์„œ type ์•ž์˜ ํ‚ค ์ƒ๋žต, startup ๋‚ด๋ถ€ ํ‚ค์˜ ๊ณผ๋„ํ•œ ์ œํ•œ, ๊ธฐ์กด usage ์˜ค๋ฅ˜ ์ข…๋ฅ˜ ๋ณ€๊ฒฝ, unknown ํ‚ค ์ด๋ฆ„ ๋ณด์กด, JSON ์ถœ๋ ฅ๋งŒ ์ˆจ๊ธด ์ด๋ฆ„ ๋ณด์กด, ๋น„๋ฌธ์ž์—ด unknown ๊ฐ’ ๋ณด์กด์˜ ์—ฌ์„ฏ false acceptance๋ฅผ ์žฌํ˜„ํ•ด ๊ณ„์•ฝ์„ ๋ณด๊ฐ•ํ–ˆ๋‹ค. ์ž‘์„ฑํ•œ ์ž˜๋ชป๋œ ๊ตฌํ˜„17์ข…์„ ๊ฑฐ์ ˆํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ๊ตฌํ˜„์„ ์ˆ˜์šฉํ–ˆ๋‹ค. ์ตœ์ข… ๋…๋ฆฝ ์žฌ๊ฒ€์‚ฌ์—์„œ๋„ privacy ์˜ค๋ฅ˜3์ข… ๊ฑฐ์ ˆยท๊ฐ™์€ ์˜ฌ๋ฐ”๋ฅธ ๊ตฌํ˜„ ์ˆ˜์šฉ์„ ํ™•์ธํ–ˆ๋‹ค. ๋ณต์ˆ˜ ์˜ค๋ฅ˜๊ฐ€ ์„ž์ธ ์ž…๋ ฅ์˜ ์˜ค๋ฅ˜ ์šฐ์„ ์ˆœ์œ„๋Š” ํ‰๊ฐ€ ๋ฒ”์œ„ ๋ฐ–์ด๋‹ค. ์ƒˆ ํŒŒ์‹ฑ ์ž‘์—…์˜ ์‹ค์ œ ๋ชจ๋ธ ์‹œ๋„๋Š”0๊ฐœ์ด๋ฉฐ ๊ธฐ์กด์— ๋ด‰์ธํ•œ ๊ณ„์•ฝยท์ด๋ฒˆ ๋„ค ์‹คํ–‰์€ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ์ด ๊ฒ€์ฆ์šฉ ๊ตฌํ˜„๋“ค์€ ๋ชจ๋ธ ์‹คํ–‰ ๊ฒฐ๊ณผ๋‚˜ ๋ณ„๋„ golden ์š”์ฒญ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.

์ƒˆ fittingยท๋ณด์ •ยท๊ฐ€์ค‘์น˜ ๋ฐฐํฌยทCodex ์ •์ฑ… ํ™œ์„ฑํ™”๋Š” ํ•˜์ง€ ์•Š์•˜๋‹ค. ๊ฒ€์ƒ‰์šฉ ๋ณดํ˜ธ final2,402๊ฐœ๋„ ๊ณ„์† ๋ฏธํ‰๊ฐ€๋‹ค. ๋‹ค์Œ ์‹ค์ œ ์‹คํ–‰์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์š”์ฒญยท์ €์žฅ์†Œยท๊ฐ€์กฑ๊ณผ ์„ฑ๊ณต/์‹คํŒจ ์ฐจ์ด๋ฅผ ํ™•๋ณดํ•ด์•ผ ํ•œ๋‹ค. ์ด ํ•œ ์š”์ฒญ์—์„œ ๋‘ ํ”„๋กœํ•„์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•œ ๊ฒƒ๋งŒ์œผ๋กœ ํ•™์Šต ์‹ ํ˜ธ๋‚˜ ์ ˆ๊ฐ ์ •์ฑ…์„ ์™„์„ฑํ–ˆ๋‹ค๊ณ  ํŒ๋‹จํ•˜์ง€ ์•Š๋Š”๋‹ค.