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

PDCA55: ์™ธ๋ถ€ Go ์š”์ฒญ ๋‘ ๊ฐœ์˜ ์‹ค์ œ ํ”„๋กœํ•„ ๋น„๊ต

English

humanize์˜ ์ „์ฒด int64 ์„œ์ˆ˜ API์™€ UUID์˜ ์—„๊ฒฉํ•œ ์†Œ๋ฌธ์ž ํŒŒ์„œ, ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ์š”์ฒญ ๋‘ ๊ฐœ๋ฅผ Sol6 low์™€ Luna low์— ๊ฐ๊ฐ ํ•œ ๋ฒˆ์”ฉ ๋งก๊ฒผ์Šต๋‹ˆ๋‹ค. humanize๋Š” ๋‘ ํ›„๋ณด ๋ชจ๋‘ ์ˆ˜์šฉ๋๊ณ , UUID๋Š” Sol6 ํ›„๋ณด๊ฐ€ ์ˆ˜์šฉ๋˜๊ณ  Luna ํ›„๋ณด๊ฐ€ ๊ฑฐ์ ˆ๋์Šต๋‹ˆ๋‹ค. ๋„ค CLI๋Š” ๋ชจ๋‘ ์ •์ƒ ์ข…๋ฃŒํ–ˆ๊ณ  ์ „์ฒด ๊ธฐ๋ณธ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ๊ณผ ์š”๊ตฌ๋ฅผ ์ถฉ์กฑํ•˜๋Š” ๊ฒƒ์€ ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค.

๋„ค ํ”„๋กœํ•„ ์‹œ๋„๋‚˜ humanize 6๊ฐœยทUUID 218๊ฐœ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๊ณ ์œ  ์š”์ฒญ ์ˆ˜์— ๋”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ์š”์ฒญ์˜ ํ•œ ๋ฒˆ์”ฉ ๊ด€์ธก์œผ๋กœ ๋ชจ๋ธ ์„œ์—ด์ด๋‚˜ ๊ธˆ์•ก ์ ˆ๊ฐ์„ ๊ฒฐ๋ก  ๋‚ด๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ธฐ ์ „์— ๊ณ ์ •ํ•œ ์กฐ๊ฑด

humanize ๊ณ„ํš๊ณผ UUID ๊ณ„ํš์€ ์›์ฒœ revision์ด ๋‹ฌ๋ผ ๋ณ„๋„๋กœ ๋งŒ๋“ค๊ณ , ์ „์ฒด ์˜ˆ์‚ฐ์ด ๋„ค ์Šฌ๋กฏ์„ ๋ฌถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ„ํš์€ ์ปค๋ฐ‹ fe7f3c68df1b299d04a9115081c52fd4d81afd9b์— ๋จผ์ € ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆœ์„œ๋Š” humanize/Sol6 โ†’ UUID/Luna โ†’ humanize/Luna โ†’ UUID/Sol6, ๋™์‹œ ์‹คํ–‰ 1๊ฐœ, ๋ชจ๋ธ ์‹คํ–‰ 120์ดˆ์™€ ๋ณ„๋„ ๋…๋ฆฝ ๊ฒ€์‚ฌ 45์ดˆ ํ•œ๋„์ž…๋‹ˆ๋‹ค. ์‹คํ–‰๊ธฐ์˜ ์žฌ์‹œ๋„ยทresumeยทfallback์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

2๋ฒˆ๊ณผ 3๋ฒˆ ์‚ฌ์ด์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ํœด์‹๊ณผ ์ฝ๊ธฐ ์ „์šฉ upstream ๊ฒ€ํ† ๊ฐ€ ์žˆ์—ˆ๊ณ , ๋ช…์‹œ์  ์žฌ๊ฐœ ํ›„ ๋‚จ์€ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํœด์‹์€ ์‹คํŒจ ์Šฌ๋กฏ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์ƒˆ ledger๋ฅผ ๋งŒ๋“œ๋Š” ๊ทผ๊ฑฐ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ„๊ฒฉ๊ณผ ์š”์ฒญ๋ณ„ ๊ด€์ธก ํ•˜๋‚˜๋ผ๋Š” ์กฐ๊ฑด ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„ ํ†ต์ œ๋œ ์ผ๋ฐ˜ ๋ฒค์น˜๋งˆํฌ๋กœ ํ•ด์„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ตœ์ข… receipt๋Š” ์˜ˆ์•ฝ 4๊ฐœยทdurable ์‹œ์ž‘ marker 4๊ฐœยท์ข…๋ฃŒ receipt 4๊ฐœยท์‹œ์ž‘ ์ƒํƒœ ๋ฏธํ™•์ธ 0๊ฐœ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‚ฐ์€ ์†Œ์ง„๋๊ณ  ํ™œ์„ฑ ์‹คํ–‰์€ ์—†์Šต๋‹ˆ๋‹ค. ๋„ค ์‹คํ–‰ ๋ชจ๋‘ ์ž์‹ ํ”„๋กœ์„ธ์Šค ๊ทธ๋ฃน ์ •๋ฆฌ์™€ ๋ณต์‚ฌ ์ธ์ฆ์˜ ์ œ๊ฑฐ ์ƒํƒœ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„ค ์Šฌ๋กฏ์˜ ํ™˜๋ถˆ์€ ์—†์Šต๋‹ˆ๋‹ค. ์ด cap์€ ๋™์ผํ•œ private durable ledger ํ•˜๋‚˜์— ์ ์šฉํ•˜๋ฉฐ ํ˜ธ์ŠคํŠธยท๊ณ„์ • ์ „์ฒด๋‚˜ ๊ณต๊ธ‰์ž ๋‚ด๋ถ€ ํ˜ธ์ถœยท์žฌ์‹œ๋„ ํšŸ์ˆ˜์˜ ํ•œ๋„๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

์‹คํ–‰๊ธฐ๋Š” CI๋ฅผ ํ†ต๊ณผํ•œ ๊ฒ€ํ†  head c8d1cf66413b696b7c0872c01df8155e3cca29d4์™€ tree๊ฐ€ ๊ฐ™์€ merge e30da75c5d1ea381924ac5d54e8bcbb9a2f462c8์—์„œ ๊นจ๋—ํ•˜๊ฒŒ ๋นŒ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹œ CI๋Š” framework ๊ฒ€์‚ฌ์ž…๋‹ˆ๋‹ค. ๋„ค ์‹ค์ œ ์ฝ”๋”ฉ ์‹คํ–‰์€ ๋กœ์ปฌ Mac์˜ Codex CLI๋ฅผ ํ†ตํ•ด ์ง„ํ–‰ํ–ˆ๊ณ , ๊ธฐ์กด ChatGPT ๋กœ๊ทธ์ธ๋งŒ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ API ํ‚คยท์œ ๋ฃŒ cloud ์ž‘์—…ยทendpoint๋Š” ๋งŒ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ์— ์ „๋‹ฌํ•œ ์š”๊ตฌ์™€ Go ์กฐ๊ฑด

์ด๋ฒˆ v2์˜ ์‹ค์ œ stdin์€ ๊ณ ์ •๋œ ์ „์ฒด Spec.Prompt์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ํŒŒ์ผ, legacy ๋ณด์กด, ํ—ˆ์šฉ ํ˜•์‹๊ณผ ๊ฒ€์ฆ๊ธฐ์˜ ์ง€์› ๋ฒ”์œ„๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. humanize๋Š” 3,150 bytes, UUID๋Š” 5,745 bytes์ด๋ฉฐ ๊ณ„ํš์˜ Prompt SHA์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. v2๋Š” ์ด๋ฏธ ์ค€๋น„ํ•œ ๋‘ ๋…ผ๋ฆฌ ์š”์ฒญ์˜ ์„ค๋ช…ยทํ‰๊ฐ€ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ๋ฒ„์ „ ID ๋‘ ๊ฐœ๊ฐ€ ์ƒˆ ๋…ผ๋ฆฌ ์š”์ฒญ ๋‘ ๊ฐœ๋ฅผ ๋งŒ๋“  ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ, ์ด๋ฒˆ์— ๋‘ ์š”์ฒญ์„ ์ฒ˜์Œ ์‹ค์ œ๋กœ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์›์ฒœ ์š”์ฒญ ๊ณ ์ • revision ์›๋ณธ ์–ธ์–ด Go ์‹คํ–‰ ํŒŒ์ผ ๊ณ„์•ฝ์˜ ๋ฒ”์œ„
humanize ์ „์ฒด int64 ์„œ์ˆ˜ a1b4e66b9a6d890e9e15e7091cf16c8032367d6e Go 1.21 Go 1.27.1 ์ƒˆ API์˜ ์Œ์ˆ˜ยท๋๊ฐ’ยทsuffix์™€ ๊ธฐ์กด Ordinal ๋ณด์กด
UUID ์†Œ๋ฌธ์ž ํŒŒ์„œ 2d3c2a9cc518326daf99a383f07c4d3c44317e4d directive๊ฐ€ ์—†์–ด ์•”๋ฌต์  Go 1.16 Go 1.27.1 ์†Œ๋ฌธ์ž 36-byte ๋ฌธ๋ฒ•, ์˜ค๋ฅ˜ ์‹œ zero UUID, ๊ธฐ์กด API์™€ ์ƒํƒœ ๋ณด์กด

๋…๋ฆฝ ๊ฒ€์‚ฌ๊ธฐ๋Š” ์›๋ณธ go.mod bytes์™€ ๋ชจ๋“ˆยทrecipe SHA๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›„๋ณด ๋ชจ๋“ˆ ์„ค์ •๊ณผ ํ›„๋ณด๊ฐ€ ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ๋Š” ์„ฑ๊ณต ๊ทผ๊ฑฐ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. UUID๋Š” ๊ณ ์ • ์›๋ณธ ๋˜๋Š” trusted formatter prefix ๋’ค์— ํ•จ์ˆ˜ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ œํ•œ๋œ ํ˜•ํƒœ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ helperยท๋ณ„์นญ์„ ํ†ตํ•œ ํ˜ธ์ถœยท๋™์‹œ์„ฑยท์ „์—ญ ๋ณ€๊ฒฝ ๋“ฑ ์ง€์› ๋ฐ– ํ˜•ํƒœ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ถœ๋ ฅ์ด๋ผ๋„ verifier_unknown์ด๋ฉฐ ํ–‰๋™ ์‹คํŒจ๋กœ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ‰๊ฐ€ ์กฐ๊ฑด ์„ค๋ช…

์›๋ณธ MITยทBSD-3 LICENSE๋Š” ๋ณ„๋„๋กœ ๊ฒ€์ฆํ•ด ๊ณ ์ • ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›„๋ณด LICENSE ๋‚ด์šฉ์€ ์„ฑ๊ณต ๋ผ๋ฒจ์˜ ํ‰๊ฐ€ ๋Œ€์ƒ์ด ์•„๋‹ˆ๋ฉฐ accepted๊ฐ€ ํ›„์† ๋ฐฐํฌ์˜ attribution ์ค€์ˆ˜๋ฅผ ์ธ์ฆํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ํ•œํ•œ ๊ณ„์•ฝ ํ†ต๊ณผ๋ฅผ ์ „์ฒด upstream ์ •ํ™•์„ฑ์ด๋‚˜ ๋ชจ๋ธ ํ•™์Šตยท๊ฐ€์ค‘์น˜ ๋ฐฐํฌ ๊ถŒ๋ฆฌ๋กœ ํ™•๋Œ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ๊ด€์ธก

์ˆœ์„œ ์š”์ฒญ ์š”์ฒญ ํ”„๋กœํ•„ ๋ชจ๋ธ ์‹คํ–‰ ms ๋ณ„๋„ ๊ฒ€์‚ฌ ms ์ž…๋ ฅ ์ž…๋ ฅ ์ค‘ ์บ์‹œ ์ถœ๋ ฅ ์ถœ๋ ฅ ์ค‘ reasoning ๋…๋ฆฝ ๊ฒฐ๊ณผ
1 humanize Sol6 low 76,404 4,170 59,824 44,928 1,005 83 ์ˆ˜์šฉยทterminal pass 6๊ฐœ
2 UUID Luna low 98,471 5,852 152,941 129,536 2,126 0 ๊ฑฐ์ ˆยทpass ์ˆ˜ ๋ฏธ์ง‘๊ณ„
3 humanize Luna low 20,836 4,646 45,866 39,936 649 0 ์ˆ˜์šฉยทterminal pass 6๊ฐœ
4 UUID Sol6 low 43,474 5,421 82,301 66,304 1,347 231 ์ˆ˜์šฉยทterminal pass 218๊ฐœ

ํ•ฉ๊ณ„ ์ž…๋ ฅ 340,932์— ์บ์‹œ 280,704๊ฐ€ ํฌํ•จ๋˜๊ณ  ์ถœ๋ ฅ 5,127์— reasoning 314๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋ถ€๋ถ„์ง‘ํ•ฉ์ด๋ฏ€๋กœ ๋‹ค์‹œ ๋”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์‹คํ–‰ ํ•ฉ๊ณ„ 239,185 ms์™€ ๋ณ„๋„ ๊ฒ€์‚ฌ 20,089 ms๋Š” ๋ถ€๋ชจ ์ค€๋น„ยท์‚ฌ์ „ Laya ๊ด€์ธกยทํœด์‹ ์‹œ๊ฐ„์„ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

๊ณต๊ฐœ ์ˆ˜์น˜์™€ ํ•ด์‹œ๋Š” ๋„ค ์‹œ๋„ ๊ธฐ๋ก์˜ raw bytes์™€ receipt์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๊ธฐ๋ก์€ 2๋ฒˆ, 3๋ฒˆ, 4๋ฒˆ์ž…๋‹ˆ๋‹ค. ์š”์ฒญ ํ”„๋กœํ•„์€ ๋ช…์‹œ๋˜์ง€๋งŒ ๊ณต๊ธ‰์ž๊ฐ€ ์ฆ๋ช…ํ•œ ์‹ค์ œ ๋ชจ๋ธ ์ •์ฒด๋Š” ๋„ค ์‹คํ–‰ ๋ชจ๋‘ unknown์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ ์›๋ฌธ traceยท์ธ์ฆยท๊ฐœ์ธ ์ฝ”๋“œยท๋กœ์ปฌ ๊ฒฝ๋กœยท๊ฐ€์ค‘์น˜๋Š” ๊ณต๊ฐœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

UUID Luna ํ›„๋ณด๊ฐ€ ๊ฑฐ์ ˆ๋œ ์ด์œ 

์ข…๋ฃŒ ํ›„ ์†Œ์Šค๋งŒ ๊ฒ€ํ† ํ•œ ๊ฒฐ๊ณผ, ์˜ฌ๋ฐ”๋ฅธ nonzero prefix ๋’ค์— ์ž˜๋ชป๋œ hex๋‚˜ ๋’ค์ชฝ separator๊ฐ€ ๋‚˜์˜ค๋ฉด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ผ๋ถ€ ์ฑ„์›Œ์ง„ UUID๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์— ๊ณต๊ฐœํ•œ ์š”๊ตฌ๋Š” ๋ชจ๋“  ์˜ค๋ฅ˜์—์„œ zero UUID๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์œ„๋ฐ˜์ž…๋‹ˆ๋‹ค. ์ด ๋ถ„์„์„ ์œ„ํ•ด ๋ชจ๋ธ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํ›„๋ณด๋ฅผ ๊ณ ์ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฎ์–ด์“ฐ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์›๋ณธ verifier์˜ independent_tests: 0์€ ๋…๋ฆฝ go test๊ฐ€ ๋น„์ •์ƒ ์ข…๋ฃŒํ–ˆ์„ ๋•Œ terminal pass ์ง‘๊ณ„ ์ „์— ๋ฐ˜ํ™˜ํ•˜๋Š” ์นด์šดํ„ฐ์ž…๋‹ˆ๋‹ค. ๊ฒ€์‚ฌ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ 218๊ฐœ๊ฐ€ ๋ชจ๋‘ ์‹คํŒจํ–ˆ๋‹ค๋Š” ๋œป์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์ง‘๊ณ„์—์„œ๋Š” pass ์ˆ˜๋ฅผ null๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ ๊ฒ€์‚ฌยท์ง€์› ํ˜•ํƒœยทํฌ๋งท gate๋ฅผ ํ†ต๊ณผํ•œ ๋’ค ํ–‰๋™ ๊ฒ€์‚ฌ๊ฐ€ ๊ฑฐ์ ˆํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

์ฝ”๋”ฉ ์ „์— ๊ด€์ธกํ•œ Laya

์‚ฌ์ „ ์˜ˆ์ธก์€ ์ปค๋ฐ‹ 1b87612d7848ada919356c9dbe5f1e04f2993ea8์— ๋จผ์ € ๊ณ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด Prompt bytes๋ฅผ ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•˜๊ณ  ๊ธฐ์กด INT8 base, CPU ํ•œ ์Šค๋ ˆ๋“œ, ์ž„๊ณ„๊ฐ’ 0.9, 512-token ํ•œ๋„๋ฅผ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์š”์ฒญ ์ „์ฒด ์ž…๋ ฅ bytes standard ์ ์ˆ˜ ์ž…๋ ฅ ์ž˜๋ฆผยท๋ณด๋ฅ˜ cold ํ”„๋กœ์„ธ์Šค ms ์•ฑ ๊ด€์ธก ms ์ตœ๋Œ€ RSS bytes
humanize 3,150 0.502708097 ๋ชจ๋‘ true 1,595 1,551.182 1,544,044,544
UUID 5,745 0.477323446 ๋ชจ๋‘ true 1,337 1,304.806 1,581,891,584

๋‘ ์ž…๋ ฅ ๋ชจ๋‘ ์งˆ๋ฌธยทํ—ค๋”ยท์„ ํƒ์ง€๊นŒ์ง€ ํฌํ•จํ•œ ์ „์ฒด 512-token ํ•œ๋„์—์„œ ์ž˜๋ ธ๊ณ  Laya๋Š” ๋ณด๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •์ƒ strong/Astra๋ฅผ ์œ ์ง€ํ•˜์ง€๋งŒ ์ด๋ฒˆ ์‹ค์ œ ๋น„๊ต๋Š” ๋ณ„๋„๋กœ ๊ณ ์ •ํ•œ Sol6/Luna ์ˆœ์„œ์ž…๋‹ˆ๋‹ค. Astra๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์‹ค์ œ ๋ผ์šฐํŒ… ์ •์ฑ…์„ ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ SHA๊ฐ€ ์ „์ฒด Prompt์™€ ๊ฐ™์•„๋„ encoder๊ฐ€ ์ „์ฒด ๋‚ด์šฉ์„ ์ฝ์—ˆ๋‹ค๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์ ์ˆ˜๋Š” ๋ณด์ •๋œ ์ฝ”๋”ฉ ์„ฑ๊ณต ํ™•๋ฅ ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์•ฝ 1.54/1.58 GB์˜ ์ตœ๋Œ€ RSS์™€ ์‹œ๊ฐ„์€ native ๋กœ๋”ฉ์„ ํฌํ•จํ•œ cold CPU ์ „์ฒด ํ”„๋กœ์„ธ์Šค ๊ด€์ธก์ž…๋‹ˆ๋‹ค. Go heapยทGPU ๋ฉ”๋ชจ๋ฆฌยทremote ์ฝ”๋”ฉ ๋ชจ๋ธ ์ž์›ยทwarm ์ง€์—ฐ๊ณผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ด€์ธก์€ ์ดˆ์ €์ž์› ๋ชฉํ‘œ ๋‹ฌ์„ฑ์„ ๋ณด์—ฌ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

upstream ๊ฒ€ํ† ์™€ ๋‹ค์Œ ๋ฐฉํ–ฅ

๊ณ ์ • Laya์˜ router preset์€ ๋‚œ์ด๋„ยท๋„๋ฉ”์ธยท๋„๊ตฌ ํ•„์š”ยท๋ฏผ๊ฐ์„ฑ์„ ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ์˜ˆ์ œ๋Š” ์ˆ˜์ž‘์—… ์ž…๋ ฅ 3๊ฐœ์— threshold ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. model-routing benchmark๋Š” 399๊ฐœ ์ž…๋ ฅ์˜ ๋„๋ฉ”์ธ ๋ถ„๋ฅ˜์ด๋ฉฐ ํŠน์ • Codex ํ”„๋กœํ•„์˜ ์™„๋ฃŒยท์‚ฌ์šฉ๋Ÿ‰ ์ •๋‹ต์ด ์•„๋‹™๋‹ˆ๋‹ค.

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

๊ทœ๋ชจ์™€ ์ ๊ฒฉ์„ฑ

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

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

24๊ฐœ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์‹œํ—˜ ๋‹ค์Œ์—๋Š” ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ์—์„œ ๋…๋ฆฝ ๊ฒ€์‚ฌ๋ฅผ ๊ฐ–์ถ˜ ๊ฐœ๋ฐœ ์š”์ฒญ 120๊ฐœ ์ด์ƒ, ํ•™์Šต ์‹ ํ˜ธ ๊ฒ€ํ†  240๊ฐœ ์ด์ƒ์œผ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„๋กœ ํ™•๋ณดํ•œ ์ฃผ์žฅ ์˜์—ญ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ๋ณดํ˜ธ๋œ ์ตœ์ข… ์š”์ฒญ 2,400๊ฐœ ์ด์ƒ์ด ์ตœ์ข… ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋“ค์€ ์•„์ง ๋‹ฌ์„ฑํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทœ๋ชจ ์„ค๋ช…๊ณผ ํ™•๋ณด ๊ณ„ํš์— ๋”ฐ๋ผ ์ž๋ฃŒ์™€ ๊ทธ๋ฃน์„ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๊ธฐ์— ํ•™์Šตยท๋ณด์ •ยท์ƒˆ ๋ชจ๋ธ ๋ฐฐํฌยทprotected final ์ฑ„์ ์€ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.