Short Claim Usage 56 KO - teamswyg/laya-tools GitHub Wiki
English ยท ์ด์ ์ค๋น ๊ณํ ยท ์คํ ๊ณํ
riido-shortclaim์ ์งง์ ์๊ตฌ์ ํ๋ณด ์ค๋ช
์ ๋ฐ์ ์ด๋ ํ๋ณด๋ถํฐ ๋
๋ฆฝ์ ์ผ๋ก ํ์ธํ ์ง ์ ์ํ๋ Go ๋๊ตฌ๋ค. ๋ชจ๋ ํ๋ณด๋ฅผ ๋จ๊ธฐ๋ฉฐ, ์์
์๋ฃยท์ ๋ตยท์คํ ๊ถํ์ ํ์ ํ์ง ์๋๋ค. Laya ์ธ์ฝ๋๋ ํ์ต๋ ๊ฐ์ค์น๋ฅผ ์ฌ์ฉํ์ง ์๋ ๋ณ๋ ์คํ์ด๋ค.
์ฌ๋์ โ๋ง๋ฃ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ฉด์ ์์๋ฅผ ๋ณด์กดํ๋คโ๋ ์๊ตฌ์ ํ๋ณด๋ค์ ์งง์ ์ค๋ช ์ ๋ฃ์ ์ ์๋ค. ์์ด์ ํธ๋ ๋ฐํ๋ ํ๋ณด ID ์์๋๋ก ์ค์ ์ฝ๋์ ๊ฒ์ฌ๋ฅผ ํ์ธํ ์ ์๋ค. ์ค๋ช ์ด ์ค์ ์ฝ๋๋ฅผ ์ถฉ์คํ ๋ํ๋ด๋์ง๋ ์ด ๋๊ตฌ๊ฐ ๋ณด์ฅํ์ง ์๋๋ค. ์ ์ฒด ์ฝ๋๋ฅผ ๋ชฐ๋ ์์ฝํ๊ฑฐ๋ LLM์ ํธ์ถํ์ง ์๋๋ค.
์ ์ฅ์์์ Go1.27.1๋ก ๋ค์์ ์คํํ๋ค. Python, ๋ชจ๋ธ ๋ค์ด๋ก๋, ์ธ๋ถ API ํค ์์ด ๋น๋ยท์คํ๋๋ค.
CGO_ENABLED=0 go build -trimpath -o bin/riido-shortclaim ./cmd/riido-shortclaim
./bin/riido-shortclaim --baseline lexical_ordered < examples/shortclaim/order.json์ถ๋ ฅ์ verification_order๋ ํ๋ณด ID์ ์ ์๋ค. status๋ ํญ์ unverified_heuristic์ด๋ฉฐ ์ ์๋ ์ฑ๊ณต ํ๋ฅ ์ด ์๋๋ค. ๋์ ๋ฐ์ ์ด๋ ๋ถ์ ์ ์ดํดํ์ง ๋ชปํ ์ดํ ๊ธฐ์ค์ด ์๋ชป๋ ์์๋ฅผ ์ ์ํ ์ ์์ผ๋ฏ๋ก ์ค์ ํ์ธ์ด ํ์ํ๋ค. input_sha256๋ ์์ฒญยทํ๋ณดยท์์ยท๋ฉํ๋ฐ์ดํฐ์ ๊ธธ์ด๋ฅผ ๊ตฌ๋ถํ ์
๋ ฅ ์๋ณ์ฉ digest๋ค. ์๋ฌธ๊ณผ provenance๋ฅผ ๊ฒฐ๊ณผ์ ๋ํ์ดํ์ง ์์ง๋ง ํ๋ณด ID๋ ์ถ๋ ฅํ๋ฏ๋ก ๊ณต๊ฐํ ์ ์๋ ID๋ฅผ ์ฌ์ฉํ๋ค.
์์ฒญ๊ณผ ๊ฐ ํ๋ณด๋ UTF-8 ์ต๋512๋ฐ์ดํธ, ์ ๊ทํ ํ ์ต๋512๋ฐ์ดํธยท32๋จ์ด์ด๋ฉฐ ํ๋ณด๋18๊ฐ๋ค. JSON ํ ๊ฑด์12KiB ์ดํ, ID๋164๋ฐ์ดํธ, provenance๋1~128๋ฐ์ดํธ์ ํ์ ๋ ASCII ์๋ณ์๋ค. schema๋ riido-short-behavior-claim-v1์ด๋ค. ์ค๋ณต ํคยท์ ์ ์๋ ํคยท์๋ชป๋ ์ ๋์ฝ๋ยท๊ธธ์ด ์ด๊ณผยท์ ์ ์๋ schema๋ ๊ณ ์ ์ค๋ฅ ์ฝ๋์ ์คํจ ์ข
๋ฃ๋ก ๊ฑฐ์ ํ๋ค. ์
๋ ฅ์ ์๋ฅด์ง ์๋๋ค. ์ด๋ ์ค๋น ๊ณํ์ fallback ์ ์์ ๊ตฌ์ฒดํํ ์ค์ ์
๋ ฅ ๊ณ์ฝ์ด๋ค.
๊ฐ JSON ๊ฐ์ฒด๋ฅผ ํ ์ค๋ก ์ ์กํ๊ณ --stream์ ์ฌ์ฉํ๋ค. ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๋ฏ๋ก ๋งค๋ฒ ํ๋ก์ธ์ค๋ฅผ ์์ํ ํ์๊ฐ ์๋ค. ์๋ชป๋ ๋ ์ฝ๋๋ฅผ ๋ง๋๋ฉด ์ข
๋ฃํ๊ณ ๊ทธ ๋ค ๋ ์ฝ๋๋ ์ฒ๋ฆฌํ์ง ์๋๋ค. ์
๋ ฅ์ ๋ซ์ผ๋ฉด ์ ์ ์ข
๋ฃํ๋ค. ์คํ ๊ฒฐ๊ณผ ์บ์๋ ์์ผ๋ฉฐ ๋งค๋ฒ ์ค์ ๊ณ์ฐํ๋ค.
./bin/riido-shortclaim --stream --baseline bm25 < public-requests.jsonlpublic-requests.jsonl์ ๊ฐ์ ์
๋ ฅ schema๋ก ์ง์ ์ค๋นํ ํ์ผ ์ด๋ฆ์ด๋ค. ์ฌ๋์ด ์ ํํด์ ์คํํ๋ preview์ด๋ฉฐ ๊ธฐ์กด riidolaya ๋ผ์ฐํ
์ด๋ Codex ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๊พธ์ง ์๋๋ค. Go ์ ํ๋ฆฌ์ผ์ด์
์ pkg/shortclaim.Load, Validate, Rank๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐํ๋ Prepared๋ฅผ ์์ ํ๊ฑฐ๋ ์ง์ ๊ตฌ์ฑํ ์ ์์ด Rank๋ ๋ค์ ๊ฒ์ฆํ๋ค. ๋ชจ๋ธ๋ณ ์น์ธ์ด๋ ์๋ ์์
์คํ ์ธํฐํ์ด์ค๋ ์๋ค.
| ์ต์ | ์๋ฏธ์ ๋ฒ์ |
|---|---|
fixed_order |
์๋ ์์ ๊ทธ๋๋ก |
bm25 |
ํ๋ณด ๋ด๋ถ ๋จ์ด ๋น๋ยท๋ฌธ์ ๋น๋๋ก ์ผ์น๋๋ฅผ ๊ณ์ฐ |
lexical_ordered |
๋จ์ด์ ์์๋ฅผ ์ ์งํ ์ฐ์ ๋ ๋จ์ด์ ์ผ์น |
narrow_rule |
์์ชฝ์ด behavior-v1:์ ๊ณต๊ฐ๋ ์ข์ ๋ฌธ๋ฒ์ ์์ ํ ๋ฐ๋ฅผ ๋๋ง ๊ท์น ๋น๊ต. ํ ํ๋ณด๋ผ๋ ๋ฌธ๋ฒ ๋ฐ์ด๋ฉด ์์ฒญ ์ ์ฒด๋ฅผ BM25๋ก ์ฒ๋ฆฌ |
./bin/riido-shortclaim --baseline narrow_rule < examples/shortclaim/rule.json๊ท์น์1~4๊ฐ if [not] ์ด๋ฆ [๋น๊ต์ฐ์ฐ ์ด๋ฆ] then [not] ๋์ [๋์] else [not] ๋์ [๋์] ์ ์ ์ฒ๋ฆฌํ๋ค. ๋น๊ต์ฐ์ฐ < <= > >= == !=์๋ ์ฃผ๋ณ ๊ณต๋ฐฑ์ด ํ์ํ๋ค. ๋์์ keep/remove/accept/reject/preserve/reverse๋ค. ์กฐ๊ฑด ๋ถ์ ์ ๋ถ๊ธฐ ๊ตํ์ผ๋ก ๋น๊ตํ๊ณ ๋์ ๋ถ์ ์ ์ ํํ flag๋ก ๋ณด์กดํ๋ค. ์ ์์ยทํผ์ฐ์ฐ์ ์์๋ฅผ ์ ์งํ๋ค. ์ผ๋ฐ ๋ฌธ์ฅยท์ฝ๋์ ์๋ฏธ๋ฅผ ์ถ๋ก ํ๊ฑฐ๋ ๋์์ดยท๋ฐ๋๋งยท๋
ผ๋ฆฌ์ ํจ์๋ฅผ ์ผ๋ฐํํ์ง ์๋๋ค. ์ค์ ์์ฐ์ด ๊ฐ๋ฐ ์๋ฃ๋ฅผ ๊ท์น์ ๋ง์ถฐ ๋ฐ๊พธ์ง ์์๋ค.
์์ฒญ๋น ๊ณ ์ ํ๋ณด ๋ฐฐ์ด8๊ฐ์ ๋จ์ด ๋ฐฐ์ด32๊ฐ๋ฅผ ์ฌ์ฉํ๋ค. ํ ํฐ์ ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ, ์์ ์ ์ ๋ฐฐ์ด๊ณผ ์์ ์ ๋ ฌ๋ก ์ฒ๋ฆฌํ๋ค. ๊ณต์ ์บ์ยท๊ณต์ ๊ฐ๋ณ ์ํยท๊ณต์ lockยทruntime map์ด ์๋ค. ๋ฉํ๋ฐ์ดํฐ์ ์ ๋ต์ ํน์ง์์ ๋ถ๋ฆฌํ๋ค. ์ ์ฒด ์์คํ ์ด ECS/SoA๋ SIMD๋ผ๋ ์ฃผ์ฅ์ ํ์ง ์๋๋ค. ์ด ํฌ๊ธฐ์์๋ ๊ณ ์ ๋ฐฐ์ด๋ก ๊ฒ์ฌํ ์ ์๋ ๋น์ฉ์ ๋จผ์ ์ธก์ ํ๋ค.
--benchmark๋ ๊ณต๊ฐ๋8ํ๋ณด ์์ ์์ ์
๋ ฅ ์ค๋น, ์์ ๊ณ์ฐ, ์
๋ ฅ digest, ์ง๋ ฌํ, ์ ์ฒด Go ํธ์ถ์ ์ธก์ ํ๋ค. ์์ ๋จ๊ณ๋ ์ฌ๊ฒ์ฆยทํน์งยท์ ์ยท์ ๋ ฌ์ด ํฉ์ณ์ง ๊ฐ์ด๋ฉฐ ๊ฐ๊ฐ์ ๋
๋ฆฝ ํ์ด๋ฐ์ผ๋ก ์ค์ธํ์ง ์๋๋ค. cmd/riido-shortperf๋ ์ฌ์ ๊ณ ์ ๊ณํ์ ํ์ธํ ๋ค OS ์ ์ฒด ํ๋ก์ธ์ค RSSยทCPUยทcold ์์์ ๊ธฐ๋กํ๋ค. ์ธก์ ๋ช
๋ น๊ณผ ๊ฒฐ๊ณผ๋ ํ์ ๊ฒฐ๊ณผ ๋ฌธ์์์ ์ ๊ณตํ๋ค.
--cpuprofile์ ์ ์ง๋ณด์์ฉ ๋ก์ปฌ ์ ์ฉ์ด๋ค. ์์ ํ๋กํ์ผ์ ๊ฐ์ธ ๊ฒฝ๋ก์ stack ์ ๋ณด๊ฐ ํฌํจ๋ ์ ์์ผ๋ฏ๋ก Git์ด๋ Hub์ ์ฌ๋ฆฌ์ง ์๋๋ค. Go HeapAlloc์ ์์ง ํ์ํ์ง ์์ ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ฉฐ OS peak RSS์ ๋ค๋ฅด๋ค. ์ด ์คํ์ CPU๋ง ์ฌ์ฉํ๊ณ GPUยทORTยท์ธ์ฝ๋๋ ์ฌ์ฉํ์ง ์๋๋ค.
48๊ฐ ๊ฐ๋ฐ ์์ฒญ์48๊ฐ ๋ ๋ฆฝ ํ๋ณธ์ด ์๋๋ค. ๊ณต์ ํ๋ณดยท์ํยท์์คยทํต์ฌ ํ ํ๋ฆฟ์ ์ ์ด์ ์ผ๋ก ๋ฌถ๊ณ ์์ฐ์ด ์ถฉ์ค์ฑ๊ณผ ์ ํ Go truth table์ ๋ฐ๋ก ํ์ธํ๋ค. ์ด ๋๊ตฌ์ ๋น ๋ฅธ ์คํ์ ์๋ฏธ ์ ํ๋ยทLLM ์ฌ์ฉ๋ ์ ๊ฐ์ ์ ์ฆํ์ง ์์ผ๋ฉฐ ๋๋ฉ์ธ๋ณ ์ต์ข 2,400์์ฒญ ๋ชฉํ๋ ๋์ ํ์ง ์๋๋ค.