Stored Utility Usage 58 KO - teamswyg/laya-tools GitHub Wiki

์ €์žฅ ์ •๋‹ต ํšจ์šฉ ๋„๊ตฌ ์‚ฌ์šฉ๋ฒ•

English ยท ๊ฒฐ๊ณผ์™€ ํ•ด์„

riido-storedutility๋Š” ์œ ์ง€๋ณด์ˆ˜์ž๊ฐ€ ํ›„๋ณด ํ™•์ธ ์ˆœ์„œ์˜ ๊ฐœ์„  ์—ฌ์ง€๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” Go ๋„๊ตฌ๋‹ค. ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๋‚˜ Python ์—†์ด ๊ณต๊ฐœ ์š”์ฒญยทํ›„๋ณด ์„ค๋ช…์„ ๋„ค ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ์ด๋ฏธ ์ €์žฅ๋œ ์ •๋‹ต๊ณผ ๋น„๊ตํ•œ๋‹ค. ํ›„๋ณด ์ฝ”๋“œ๋‚˜ Laya๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ชจ๋ธ ๋ผ์šฐํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ์‚ฌ๋žŒ์˜ ์Šน์ธ์„ ๋Œ€์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค.

๊ฐ€์žฅ ์‰ฌ์šด ํ™•์ธ

์ €์žฅ์†Œ ๋ฃจํŠธ์—์„œ Go 1.27.1๋กœ ์‹คํ–‰ํ•œ๋‹ค.

go test ./internal/storedaudit ./cmd/riido-storedutility

๊ฒ€์‚ฌ๋Š” ๊ณ ์ • ์ž…๋ ฅยท๊ณ„ํšยท์›๋ณธ ๊ฒฐ๊ณผ์˜ ํ•ด์‹œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋น„ํ•™์Šต ์ˆœ์œ„๋ฅผ ์žฌํ˜„ํ•œ๋‹ค. CI๋„ Linux/macOS์—์„œ ๊ฐ™์€ ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค. ์ด ๋ฐ˜๋ณต์€ ๊ณต์‹ ์‹คํ—˜์ด๋‚˜ ๋…๋ฆฝ ์š”์ฒญ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ณผ๊ฑฐ Darwin ์‹คํ–‰ ํŒŒ์ผ์„ Linux์—์„œ ๋Œ๋ฆฌ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค.

์›๋ฌธ results-58.json์˜ evaluation.metrics๋Š” ๋ฐฉ์‹๋ณ„ ํ•ฉ๊ณ„, group_metrics๋Š” ๊ทธ๋ฃน๋ณ„ ๋น„์šฉ, rows๋Š” ์š”์ฒญ๋ณ„ ์ˆœ์„œยทํ—ˆ์šฉ ํ›„๋ณดยท๋ณด๋ฅ˜ ์ด์œ ๋‹ค. possible_relative_gain์€ ์ •๋‹ต์„ ์•„๋Š” ์ˆœ์„œ๊นŒ์ง€์˜ ์ƒํ•œ์ด๋ฉฐ ๋‹ฌ์„ฑํ•œ ์„ฑ๋Šฅ์ด ์•„๋‹ˆ๋‹ค. training_ready=false์™€ stop_reasons๋ฅผ ํ•จ๊ป˜ ์ฝ๋Š”๋‹ค. narrow_rule์˜ fallback 72/72๋Š” ์ด๋ฒˆ ์ž๋ฃŒ ์ „์ฒด์—์„œ BM25๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

๊ณต์‹ ์ˆ˜์ง‘์„ ๋งŒ๋“  ์ ˆ์ฐจ

์•„๋ž˜๋Š” ์ด๋ฏธ ๋๋‚œ ์ˆ˜์ง‘ ์ ˆ์ฐจ์˜ ์„ค๋ช…์ด๋‹ค. ์‹ค์ œ ์†Œ์Šค์™€ ์ž…๋ ฅ์˜ ์„œ๋กœ ๋‹ค๋ฅธ 40์ž๋ฆฌ commit์ด ํ•„์š”ํ•˜๋‹ค. ๊ณ„ํš ์ƒ์„ฑ๋ถ€ํ„ฐ ํ‰๊ฐ€๊นŒ์ง€ ๊ฐ™์€ ์‹คํ–‰ ํŒŒ์ผ์„ ์œ ์ง€ํ•˜๊ณ , ๊ณ„ํš ํŒŒ์ผ์€ ์ž…๋ ฅ commit์— ๋จผ์ € ๋„ฃ๋Š”๋‹ค.

CGO_ENABLED=0 go build -trimpath -buildvcs=false -p=1 -o PRIVATE_BINARY ./cmd/riido-storedutility
PRIVATE_BINARY plan --repo . --source-commit SOURCE_COMMIT --out NEW_PLAN_FILE
# NEW_PLAN_FILE์˜ ๋ฐ”์ดํŠธ๋ฅผ execution-plan-58.json์— ๋ณต์‚ฌํ•ด ๋ณ„๋„ input commit์— ๊ณ ์ •
PRIVATE_BINARY audit --repo . --input-commit INPUT_COMMIT --out NEW_RESULT_DIRECTORY

PRIVATE_BINARY ๋“ฑ ๋Œ€๋ฌธ์ž ์ด๋ฆ„์€ ์„ค๋ช…์šฉ ์ž๋ฆฌํ‘œ์‹œ์ž๋‹ค. ๊ธฐ์กด ๊ณ„ํš์€ ์‹ค์ œ Darwin arm64 ์‹คํ–‰ ํŒŒ์ผ์˜ ํ•ด์‹œ๊นŒ์ง€ ๊ณ ์ •ํ–ˆ์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ OSยท๋นŒ๋“œ์˜ ํŒŒ์ผ๋กœ ๊ณต์‹ ํ‰๊ฐ€๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. ์ผ๋ฐ˜ ์žฌํ˜„์€ ์œ„์˜ ํšŒ๊ท€ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ƒˆ๋กœ์šด ์‹คํ—˜์€ ์ƒˆ ๋ฒ„์ „์˜ ๊ณ„ํšยท์ž…๋ ฅยท๊ฒฐ๊ณผ๋กœ ์ค€๋น„ํ•˜๋ฉฐ 58 ์›๋ฌธ์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๋Š”๋‹ค.

plan์€ ์›๋ฌธ ์—ฐ๊ฒฐ๋งŒ ๊ฒ€์ฆํ•˜๋ฉฐ ์ˆœ์œ„ ๊ณ„์‚ฐ์€ 0์ด๋‹ค. audit๋Š” ์›์ฒœ 9๊ฐœยทsupport 13๊ฐœยท์ž…๋ ฅ 3๊ฐœยท๊ณ„ํš 1๊ฐœ์˜ ์‹ค์ œ Git ๋ฐ”์ดํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ƒˆ ํด๋”์™€ ๊ฒฐ๊ณผ ํŒŒ์ผ์„ ์˜ˆ์•ฝํ•œ ๋’ค ํ‰๊ฐ€ํ•œ๋‹ค. ์‹คํŒจ ๋ถ€๋ถ„ ๊ธฐ๋ก๋„ ๋ณด์กดํ•œ๋‹ค. ์ถœ๋ ฅ ๊ฒฝ๋กœ ์žฌ์‚ฌ์šฉ ๋ฐฉ์ง€๋Š” ์ „์ฒด ์ปดํ“จํ„ฐ์˜ ์ค‘๋ณต ์‹คํ–‰์„ ๋ง‰๋Š” ์žฅ์น˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๊ณต์‹ 1ํšŒยท์žฌ์‹œ๋„ 0 ์›์žฅ๋„ ๋ณ„๋„๋กœ ํ•„์š”ํ•˜๋‹ค.

๋ชจ๋“  ํ›„๋ณด์™€ fallback์„ ์œ ์ง€ํ•œ๋‹ค. unknown์€ ํ‹€๋ฆผ์ด๋‚˜ ๋‹ต ์—†์Œ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ •๋‹ต์€ scorer์— ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฉฐ ์š”์ฒญ๊ณผ ํ›„๋ณด์˜ ๋ฌธ๊ตฌ๋งŒ ํŠน์ง•์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์ž์› ์„ค์ •๊ณผ ํŒŒ์ผ ์ƒํ•œ์€ ์‚ฌ์ „ ๊ณ„ํš์— ์žˆ๋‹ค. ์‹ค์ œ CPU/GPU ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ์š”๊ธˆ ์ ˆ๊ฐ์„ ์ด ๊ธฐ๋ก์—์„œ ์ถ”์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.