Miya icon Miya-0.2

ํ•œ๊ตญ์–ด ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ AI ํŒ๋‹จ ๋ชจ๋ธ ยท 139M ์ธ์ฝ”๋” ยท 1ํšŒ ์ธ์ฝ”๋”ฉ ~18ms
GitHub: ๋ด‡ ยท ์„œ๋น™ ยท ํ•™์Šต ์ฝ”๋“œ ยท English

๊ฐœ๋ฐœ ์ค‘(WIP) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. 0.2๋Š” ์—ฐ๊ตฌ์šฉ ์Šค๋ƒ…์ƒท์ด๋ฉฐ ์™„์„ฑ๋œ ์—์ด์ „ํŠธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ž์œจ๋ชจ๋“œ๋Š” ์•„์ง ์—†๊ณ , ๋„์›€ ์š”์ฒญ(ask) ๋ณด์ •์ด ๋œ ๋์œผ๋ฉฐ, ์ƒ์กด ํŒ๋‹จ ์ผ๋ถ€๊ฐ€ ์•ฝํ•ฉ๋‹ˆ๋‹ค(ํ•œ๊ณ„). ๊ฐ€์ค‘์น˜ยท๋ผ๋ฒจ ์Šคํ‚ค๋งˆยทAPI๋Š” ๋‹ค์Œ ๋ฒ„์ „์—์„œ ํ˜ธํ™˜ ์—†์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Work in progress. A research snapshot, not a finished agent. Weights, label schema and API may change without notice.

Korean-first Minecraft agent decision model. One encoder pass (~18 ms) gives intent, task type, target item and count spans, method choice, survival priority and inventory tidy decisions. The mineflayer bot only executes. Full English card: README.en.md.

Miya ์บ๋ฆญํ„ฐ ์‹œํŠธ

ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

Miya ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

English version

Miya at a glance

๋ฌด์—‡์„ ํ•˜๋‚˜

Miya๋Š” "๋ชจ๋“  ํŒ๋‹จ์€ ๋ชจ๋ธ์ด ํ•˜๊ณ , ๋ด‡์€ ์‹คํ–‰๋งŒ ํ•œ๋‹ค"๋Š” ์›์น™์œผ๋กœ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ AI์˜ ํŒ๋‹จ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ •๊ทœ์‹์ด๋‚˜ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ํŒ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ ˆ์‹œํ”ผ๋‚˜ ๊ด‘์„ ๋†’์ด ๊ฐ™์€ ์‚ฌ์‹ค์€ planner๊ฐ€ ๊ณ„์‚ฐํ•˜๊ณ , ๋ฌด์—‡์„ ํ• ์ง€๋Š” ๋ชจ๋ธ์ด ๊ณ ๋ฆ…๋‹ˆ๋‹ค.

  • ํ•œ๊ตญ์–ด ๊ตฌ์–ด์ฒด ์ธ์‹: ์ฒ ๊ณก ใ„ฑใ„ฑ(์ฒ  ๊ณก๊ดญ์ด), ์ฒ ๋š(์ฒ  ํˆฌ๊ตฌ), ์ฒ ์…‹(์ฒ  ์„ธํŠธ), ์Œ์Šด์ฒด, ์ธํ„ฐ๋„ท์ฒด
  • ์ง€์ ยท์กฐ์–ธ ๋ถ„๋ฅ˜: ๊ทธ๊ฑฐ๋ก  ํ•œ์ฐธ๊ฑธ๋ฆฌ๊ฒ ๋Š”๋ฐ?, ๊ทธ๊ฑฐ ๋งž์•„?
  • ๋ชจ๋ฅด๋ฉด ๋˜๋ฌป๊ธฐ: ์•„์ดํ…œ ๋งํฌ๊ฐ€ NULL์ด๋ฉด ๋˜๋ฌป๊ณ , ๋‹ต๊นŒ์ง€ ํ•ฉ์ณ ๋‹ค์‹œ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค(๋ฉ€ํ‹ฐํ„ด)
  • ๋ฐฉ๋ฒ• ์„ ํƒ: planner๊ฐ€ ๋งŒ๋“  ํ›„๋ณด ์ค‘ QED ๊ฒฝํ—˜์„ ๋ณด๊ณ  ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค
  • ์ƒ์กด ์šฐ์„ ์ˆœ์œ„: ์ฒด๋ ฅยท๋ฐฐ๊ณ ํ””ยท์œ„ํ˜‘ยท๋ฐคยท์‚ฐ์†Œ๋ฅผ ๋ณด๊ณ  ์ „ํˆฌยท๋„๋งยท๋จน๊ธฐยท์ˆจ๊ธฐยท์žฌ๊ฐœ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค

๊ตฌ์กฐ

์ „์ฒด ์‹œ์Šคํ…œ

ํ”Œ๋ ˆ์ด์–ด ์ฑ„ํŒ… โ”€โ–ถ Paper ์„œ๋ฒ„ โ”€โ–ถ ๋ด‡(TSยทmineflayer) โ”€HTTP JSONโ”€โ–ถ ์„œ๋น™(Python stdlib, :8765)
                                   โ”‚                            โ”œโ”€ Miya ๋ชจ๋ธ (์ด ์ €์žฅ์†Œ, ํŒ๋‹จ)
                                   โ”‚                            โ”œโ”€ planner   (์‚ฌ์‹ค: ๋ ˆ์‹œํ”ผยท์ฑ„๊ตด์‹œ๊ฐ„ยท๋ฐฉ๋ฒ• ํ›„๋ณด)
                                   โ”‚                            โ”œโ”€ mcx.db    (๋งˆํฌ ์ง€์‹: ๊ด‘์„ ๋†’์ดยท์Šคํฐยท๊ฐ€์น˜)
                                   โ””โ”€ ์‹คํ–‰ ๊ฒฐ๊ณผ /qed โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ””โ”€ QED DB    (๊ฒฝํ—˜)
๊ตฌ์„ฑ์š”์†Œ ํ•˜๋Š” ์ผ ํ•˜์ง€ ์•Š๋Š” ์ผ
Miya ๋ชจ๋ธ ๋ฐœํ™” ์ดํ•ด, ๋ฐฉ๋ฒ• ์„ ํƒ, ์ƒ์กด ์šฐ์„ ์ˆœ์œ„, ์ธ๋ฒค ์ •๋ฆฌ ๊ธธ์ฐพ๊ธฐ, ๋ธ”๋Ÿญ ์กฐ์ž‘
planner ๋ชฉํ‘œ + ์ƒํƒœ โ†’ ๋ฐฉ๋ฒ• ํ›„๋ณด(์ตœ๋Œ€ 6๊ฐœ)์™€ ๋‹จ๊ณ„์—ดยท์˜ˆ์ƒ ์‹œ๊ฐ„ยท์œ„ํ—˜ ํ›„๋ณด ์ค‘ ์„ ํƒ
QED DB ํ–‰๋™๊ณผ ๊ฒฐ๊ณผ ๊ธฐ๋ก, ๋‹ค์Œ ํŒ๋‹จ์— ๊ฒฝํ—˜ ํ…์ŠคํŠธ๋กœ ์ฃผ์ž… ๊ทœ์น™์œผ๋กœ ์ฐจ๋‹จ
๋ด‡ ๊ฑท๊ธฐยท์บ๊ธฐยท์ œ์ž‘ยท์ „ํˆฌ ์‹คํ–‰, ๊ฒฐ๊ณผ ๋ณด๊ณ  ํŒ๋‹จ

๋ชจ๋ธ

์ธ์ฝ”๋”. mmBERT 22์ธต, bf16.

  • laya-multilingual์˜ ์ธ์ฝ”๋” ๊ฐ€์ค‘์น˜์—์„œ ํŒŒ์ธํŠœ๋‹ํ–ˆ๊ณ , ํ—ค๋“œ๋Š” ๋ชจ๋‘ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์–ดํœ˜๋ฅผ ๊ฐ€์ง€์น˜๊ธฐํ•ด์„œ 256,000 โ†’ 29,252, ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 312M โ†’ 139M์œผ๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค.
  • ํ† ํฌ๋‚˜์ด์ €๋Š” ์›๋ณธ์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ , ๋ชจ๋ธ ์•ˆ์˜ remap ๋ฒ„ํผ๊ฐ€ id๋ฅผ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์ž…๋ ฅ. GLiNER2์‹ ์Šคํ‚ค๋งˆ ์ž…๋ ฅ์ž…๋‹ˆ๋‹ค. ์งˆ๋ฌธ๊ณผ ๋ณด๊ธฐ๋ฅผ ์ž…๋ ฅ ์•ˆ์— ํ•จ๊ป˜ ๋„ฃ์–ด ํ•œ ๋ฒˆ ์ธ์ฝ”๋”ฉ์œผ๋กœ ๋ชจ๋“  ์ถœ๋ ฅ์„ ๋ƒ…๋‹ˆ๋‹ค.

[CLS] ๋ฐœํ™” [SEP] ์ƒํƒœยทQED [SEP] ([MASK]๋ผ๋ฒจ)ร—n [SEP] (๋ฌธํ•ญ: [MASK]๋ณด๊ธฐโ€ฆ[SEP])ร—m

๊ฐ [MASK] ์œ„์น˜์˜ ๋ฒกํ„ฐ๊ฐ€ ๊ทธ ๋ณด๊ธฐ์˜ ์ ์ˆ˜๊ฐ€ ๋˜๊ณ , ๋ฌธํ•ญ๋ณ„๋กœ softmax๋ฅผ ์ทจํ•ฉ๋‹ˆ๋‹ค. ๋ณด๊ธฐ๊ฐ€ ์ž…๋ ฅ ํ…์ŠคํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— planner ํ›„๋ณด๋‚˜ QED ๊ฒฝํ—˜ ๋ฌธ์žฅ์ด ๋ฐ”๋€Œ์–ด๋„ ํ—ค๋“œ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ—ค๋“œ.

ํ—ค๋“œ ์ถœ๋ ฅ
๋ณด๊ธฐ ์ ์ˆ˜ act(11) ยท task_type(39) ยท query(18) ยท hint(5) ยท prio(9) ยท ๋ฐฉ๋ฒ•(via) ยท tidy(3)
๊ตฌ๊ฐ„ ์ถ”์ถœ ๋Œ€์ƒ ยท ๊ฐœ์ˆ˜ ยท ๋„๊ตฌ ยท ์‚ฌ๋žŒ ยท ์ขŒํ‘œ ยท ์žฅ์†Œ ยท ๊ฑฐ๋ฆฌ (7์ข…, ํญ โ‰ค 8)
์•„์ดํ…œ ๋งํฌ ๊ตฌ๊ฐ„ โ†” ์ด๋ฆ„ bank 1,628๊ฐœ (์•„์ดํ…œ + ๋ชน + ๊ทธ๋ฃนยท์„ธํŠธยท์žฅ์†Œ). bi-encoder + ColBERT late interaction์œผ๋กœ ์ฒ ๋š ๊ฐ™์€ ๋ถ€๋ถ„์ผ์น˜ ์ฒ˜๋ฆฌ. NULL์ด๋ฉด ๋˜๋ฌป๊ธฐ
์ง ๊ฐœ์ˆ˜ โ†” ๋Œ€์ƒยท๋„๊ตฌ ์—ฐ๊ฒฐ (์ฒ  3๊ฐœ๋ž‘ ์„ํƒ„ 5๊ฐœ)
๊ฐ€์น˜ ๋ฐฉ๋ฒ•๋ณ„ log ์†Œ์š”์‹œ๊ฐ„ ยท ์„ฑ๊ณตํ™•๋ฅ 

๋ผ๋ฒจ. ๋ฌธํ•ญ๋ณ„ ๋ผ๋ฒจ์€ schema.json์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธํ•ญ ๋ผ๋ฒจ
act (11) ๋ชฉํ‘œ ์‹คํ–‰, ์งˆ๋ฌธ ๋‹ตํ•˜๊ธฐ, ๋˜๋ฌป๊ธฐ, ๋ฉˆ์ถค, ์žฌ๊ฐœ, ๊ธ์ • ๋Œ€๋‹ต, ๋ถ€์ • ๋Œ€๋‹ต, ์žก๋‹ด, ์š•์„ค, ์œ„ํ—˜ ๊ฒฝ๊ณ , ์ง€์ ยท์กฐ์–ธ
prio (9) ๊ณ„์† ์ง„ํ–‰, ๊ทผ์ ‘ ์ „ํˆฌ, ๋‹ฌ๋ ค์„œ ๋„๋ง, ๋ธ”๋Ÿญ ์Œ“์•„ ๋„๋ง, ๊ตด ํŒŒ๊ณ  ์ˆจ๊ธฐ, ๋จน๊ธฐ, ๋ฉˆ์ถ˜ ์ž‘์—… ์žฌ๊ฐœ, ๋ฌผ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ธฐ, ์ธ๋ฒค ์ •๋ฆฌ
hint (5) slow, wrong, short, danger, done_claim
tidy (3) ์œ ์ง€, ๋ฒ„๋ฆฌ๊ธฐ, ์ƒ์ž์— ๋ณด๊ด€

์ž‘์—… ์ข…๋ฅ˜ (TASK_TYPE)

์ž‘์—… ๋ธ”๋Ÿญ๋งˆ๋‹ค ๊ฐœ๋ณ„ ํƒ€์ž…์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค(๊ณตํ†ต ํƒ€์ž… ์—†์Œ). ๋ชจ๋ธ์ด ๋ฐœํ™”๋ฅผ ์ด ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๋ฅ˜ํ•˜๋ฉด ๋ด‡์ด ํ•ด๋‹น ์‹คํ–‰๊ธฐ๋ฅผ ๋Œ๋ฆฝ๋‹ˆ๋‹ค.

Miya ์ž‘์—… ์ข…๋ฅ˜

planner (์‚ฌ์‹ค) vs ๋ชจ๋ธ (์„ ํƒ)

planner๋Š” ๋‹ค์Œ ์‚ฌ์‹ค๋กœ ๋ฐฉ๋ฒ• ํ›„๋ณด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • ๋ ˆ์‹œํ”ผ ํŠธ๋ฆฌ
  • ์ฑ„๊ตด ์‹œ๊ฐ„(๋„๊ตฌ ํ‹ฐ์–ด๋ณ„)
  • ๊ด‘์„ ์ƒ์„ฑ ๋†’์ด
  • ์—ฐ๋ฃŒ ํšจ์œจ
  • ์ด๋ฏธ ๋†“์€ ์ž‘์—…๋Œ€ยทํ™”๋กœ

์˜ˆ๋ฅผ ๋“ค์–ด "์ฒ ๊ณก ๋งŒ๋“ค์–ด"์—๋Š” [๋‚˜๋ฌด๊ณกโ†’๋Œ๊ณก ๊ฒฝ์œ ], [๋Œ๊ณก ๊ฒฝ์œ , ํ™”๋กœ ์žฌ์‚ฌ์šฉ], [์—ฐ๋ฃŒ ์›๋ชฉ] ๊ฐ™์€ ํ›„๋ณด๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

ํ•™์Šต ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์ถ”์ •์น˜์™€ ๋‹ค๋ฅธ ์ˆจ์€ ์ฐธ๊ฐ’(์ž์› ์—†์Œ, ๋А๋ฆผ, ๋ง‰ํž˜)์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋ธ์€ ์ถ”์ •์น˜๋งŒ ๋ฏฟ์ง€ ์•Š๊ณ , ํ•จ๊ป˜ ์ฃผ์–ด์ง„ QED ๊ฒฝํ—˜ ํ…์ŠคํŠธ๋ฅผ ์ฝ๊ณ  ํŒ๋‹จํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

QED โ€” Quasi-Evolutionary Diary

ํ–‰๋™๊ณผ ๊ฒฐ๊ณผ๋ฅผ DB์— ์Œ“์•„ ๋‹ค์Œ ํŒ๋‹จ์— ๊ฒฝํ—˜ ํ…์ŠคํŠธ๋กœ ๋„ฃ์Šต๋‹ˆ๋‹ค. ๊ทœ์น™์œผ๋กœ ๋ง‰์ง€ ์•Š๊ณ  ๋ชจ๋ธ์ด ์ฝ๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ก. ๋ด‡์€ GOAL์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค /qed๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

ํ‘œ ๋‚ด์šฉ
goals ์š”์ฒญ, ๋ชฉํ‘œ, ๊ฐœ์ˆ˜, ๋ฐฉ๋ฒ•(via), ์„ฑ๊ณต, ์†Œ์š” ms, ์‹คํŒจ ์‚ฌ์œ , ๋ณ€์ˆ˜(๋ณด์œ  ๋„๊ตฌยท์žฅ๋น„ยท์‹œ๊ฐ„)
steps ๋‹จ๊ณ„๋ณ„ type ยท target ยท cnt ยท ๋„๊ตฌ ยท ms ยท ์„ฑ๊ณต ยท ์‹คํŒจ ์‚ฌ์œ 
deaths ์‚ฌ๋ง ์›์ธ, ๊ฐ€ํ•ด์ž, ์ฒด๋ ฅยท๋ฐฐ๊ณ ํ””ยท๋ฐคยท๋ฐฉ์–ดยท๋ฌด๊ธฐ, ์œ„์น˜, ์ธ๋ฒค๊ณผ ๊ทธ ๊ฐ€์น˜, ์ง„ํ–‰ ์ค‘์ด๋˜ GOAL
placed ๋ด‡์ด ์„ค์น˜ํ•œ ๋ธ”๋Ÿญ (์ž‘์—…๋Œ€ยทํ™”๋กœยท์ƒ์ž ์žฌ์‚ฌ์šฉ, ๋‚จ์˜ ์ƒ์ž์™€ ๊ตฌ๋ถ„)

์ฃผ์ž…. ๊ฐ™์€ goal์—์„œ ๋ฐฉ๋ฒ• ๊ฒฝ๋กœ๊ฐ€ ๊ฐ™์€ ์ตœ๊ทผ 20๊ฑด์„ ์š”์•ฝํ•ด ๋ณด๊ธฐ ํ…์ŠคํŠธ ๋’ค์— ๋ถ™์ž…๋‹ˆ๋‹ค.

direct | ์›์ • ์ฐธ๋‚˜๋ฌด ์›๋ชฉ 1 โ†’ ๋ฒŒ๋ชฉ ์ฐธ๋‚˜๋ฌด ์›๋ชฉ 2 โ†’ ์ œ์ž‘ ์ฐธ๋‚˜๋ฌด ํŒ์ž 8 โ†’ โ€ฆ | ์˜ˆ์ƒ 301์ดˆ ์œ„ํ—˜ 40% | ๊ฒฝํ—˜ 5ํšŒ ์„ฑ๊ณต 80% ํ‰๊ท  170์ดˆ ์ตœ๊ทผ์‹คํŒจ 1ํšŒ(no_ore)

QED ํŒ๋‹จ ๊ทผ๊ฑฐ ์˜ˆ์‹œ

์‹ค์ œ WEBUI ํŒ๋‹จ ๊ทผ๊ฑฐ ํ™”๋ฉด. ์ฒ ๊ณก ๋งŒ๋“ค์–ด โ†’ planner ํ›„๋ณด 7๊ฐœ๋งˆ๋‹ค ์„ ํƒ ํ™•๋ฅ ยท์ถ”์ •ยท์˜ˆ์ธก ์‹œ๊ฐ„ยท์œ„ํ—˜ยทQED ๊ฒฝํ—˜(14ํšŒ, ์„ฑ๊ณต 29%, ์ตœ๊ทผ ์‚ฌ๋ง)์ด ๋ถ™๊ณ , ๋ชจ๋ธ์ด ์ด๋ฏธ ๋†“์€ ์ž‘์—…๋Œ€ยทํ™”๋กœ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ 83%๋กœ ๊ณจ๋ž์Šต๋‹ˆ๋‹ค.

๋ฐœํ˜„ ํ‘œ๊ธฐ. ๊ฒฝํ—˜์„ ๋บ€ ์ƒํƒœ๋กœ ํ•œ ๋ฒˆ ๋” ์„ ํƒํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅด๋ฉด changed๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(๊ฒฝํ—˜์ด ํŒ๋‹จ์„ ๋ฐ”๊ฟจ๋‹ค๋Š” ๋œป).

์‚ฌ๋งยท๊ฐ€์น˜. ์ตœ๊ทผ ์‚ฌ๋ง ์›์ธ์€ ์ƒ์กด ํŒ๋‹จ ctx์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์•„์ดํ…œ ๊ฐ€์น˜(๊ธฐ๋ณธ๊ฐ’ + ํš๋“ ๋‚œ์ด๋„)๋Š” ํšŒ์ˆ˜ ํŒ๋‹จ์— ์”๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™ ํ•˜๋‚˜๋ฅผ ์žƒ์—ˆ์œผ๋ฉด ๊ตณ์ด ๊ฐ€์ง€ ์•Š๊ณ , ๋‹ค์ด์•„ ํ’€์…‹์ด๋ฉด ๋˜์ฐพ์œผ๋Ÿฌ ๊ฐ‘๋‹ˆ๋‹ค.

๋ฌดํ•œ๋ฃจํ”„ ์ฐจ๋‹จ. ์ด์ „ ๋ชจ๋ธ์€ "์ฒด๋ ฅ ์—†์Œ โ†’ ์‚ฌ๋ƒฅ โ†’ ๋™๋ฌผ ์—†์Œ โ†’ ์ฒด๋ ฅ ์—†์Œ"์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ์š”์ฒญ์ด ํญ์ฃผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋‹ค์Œ ์žฅ์น˜๋กœ ๋ง‰์Šต๋‹ˆ๋‹ค.

  • ๋‹จ๊ณ„ ์žฌ์‹œ๋„ โ‰ค 3, ์žฌ๊ณ„ํš โ‰ค 5
  • ์ƒ์กด ํŒ๋‹จ์€ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งŒ ์š”์ฒญ
  • ์—ฐ์† ์‹คํŒจ๊ฐ€ QED๋กœ ๋“œ๋Ÿฌ๋‚˜ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Œ

ํ‰๊ฐ€

LAYA base์™€ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค. plannerยทQEDยท๋ด‡์€ ๊ฐ™๊ฒŒ ๋‘๊ณ  ํŒ๋‹จ๋งŒ ๊ต์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์‹ค๋ฐœํ™”: ์„œ๋ฒ„ ์ฑ„ํŒ… ์›๋ฌธ 488๊ฑด, ํ•™์Šต์—์„œ ์ œ์™ธ
  • dev: 5.8k
  • ์ธ๊ฒŒ์ž„: ๊ฐ™์€ ์‹œ๋“œ์˜ ๋กœ์ปฌ ์„œ๋ฒ„ 2๋Œ€์—์„œ 14๊ฐœ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰
Miya-0.2 LAYA base (zero-shot)
์‹ค๋ฐœํ™” ์˜๋„ (act) 94.5% 11.0%
์ž‘์—… ์ข…๋ฅ˜ (type) 89.7% 40.5%
๋Œ€์ƒ ์•„์ดํ…œ (target) 87.3% 6.2%
๋ฐฉ๋ฒ• ์„ ํƒ (plan) 73.6% 27.4%
์ƒ์กด ์šฐ์„ ์ˆœ์œ„ (prio) 86.6% 11.5%
์ธ๊ฒŒ์ž„ 14 ์‹œ๋‚˜๋ฆฌ์˜ค 13/14 0/14
๋ชจ๋ธ ์ง€์—ฐ p50 / p95 17.8 / 19.7 ms โ€”

์˜ˆ์‹œ (์‹ค์ œ ์„œ๋น™ ์ถœ๋ ฅ)

model/serve.py(:8765)์— ์š”์ฒญํ•œ ์‹ค์ œ ์‘๋‹ต์ž…๋‹ˆ๋‹ค. ํ™•๋ฅ ยทms ๋Š” ๋ฐ˜์˜ฌ๋ฆผ, ์ถœ๋ ฅ ์ผ๋ถ€ ์ƒ๋žต.

S='"state":{"hp":20,"food":20,"night":false,"inv":{"oak_log":4},"task":null}'
curl -s localhost:8765/turn -d "{\"utt\":\"์ฒ ๊ณก ๋งŒ๋“ค์–ด\",$S}"
๋ฐœํ™” act type ๋Œ€์ƒ ยท ๊ฐœ์ˆ˜ hint ms
์ฒ ๊ณก ๋งŒ๋“ค์–ด ๋ชฉํ‘œ ์‹คํ–‰ 1.00 craft ์ฒ ๊ณก โ†’ iron_pickaxe (์ฒ  ๊ณก๊ดญ์ด) short 25
๋‚˜๋ฌด 5๊ฐœ ์บ์˜ค์…ˆ ๋ชฉํ‘œ ์‹คํ–‰ 1.00 log ๋‚˜๋ฌด โ†’ grp:log ยท 5๊ฐœ โ†’ 5 short 21
์ฒ ๋š ใ„ฑใ„ฑ ๋ชฉํ‘œ ์‹คํ–‰ 1.00 craft ์ฒ ๋š โ†’ iron_helmet (์ฒ  ํˆฌ๊ตฌ) slow 22
๊ทธ๊ฑฐ๋ก  ํ•œ์ฐธ๊ฑธ๋ฆฌ๊ฒ ๋Š”๋ฐ? ์ง€์ ยท์กฐ์–ธ 1.00 โ€” โ€” slow 25
curl -s localhost:8765/plan -d '{"goal":"iron_pickaxe","cnt":1,"inv":{"oak_log":4},"placed":{},"near":{},"hp":20,"night":false,"armor":0}'
{"detail": {"pick_ko": "๋‚˜๋ฌด ๊ณก๊ดญ์ด ๊ฒฝ์œ , ๋Œ ๊ณก๊ดญ์ด ๊ฒฝ์œ ", "qed_changed": false,
  "opts": [{"ko": "๋‚˜๋ฌด ๊ณก๊ดญ์ด ๊ฒฝ์œ , ๋Œ ๊ณก๊ดญ์ด ๊ฒฝ์œ ", "p": 0.58, "est_s": 321, "risk": 15,
             "qed": {"n": 20, "ok": 0.6, "avg_ms": 273603},
             "steps": ["์ œ์ž‘ ์ฐธ๋‚˜๋ฌด ํŒ์ž 12", "์ œ์ž‘ ์ œ์ž‘๋Œ€ 1", "์„ค์น˜ ์ œ์ž‘๋Œ€ 1", "์ œ์ž‘ ๋ง‰๋Œ€๊ธฐ 4", "์ œ์ž‘ ๋‚˜๋ฌด ๊ณก๊ดญ์ด 1",
                       "์›์ • ๋Œ 1", "์ฑ„๊ด‘ ๋Œ 11(๋‚˜๋ฌด ๊ณก๊ดญ์ด)", "โ€ฆ", "ํ™”๋กœ ์ฒ  ์ฃผ๊ดด 3", "์ œ์ž‘ ์ฒ  ๊ณก๊ดญ์ด 1"]},
           {"ko": "๋‚˜๋ฌด ๊ณก๊ดญ์ด ๊ฒฝ์œ , ๋Œ ๊ณก๊ดญ์ด ๊ฒฝ์œ , ์—ฐ๋ฃŒ ์„ํƒ„", "p": 0.25, "est_s": 446, "risk": 25}, โ€ฆ]}}
curl -s localhost:8765/prio -d '{"ctx":"์ฒด๋ ฅ 5/20 ๋ฐฐ๊ณ ํ”” 18/20 | ๋ฐค | ์œ„ํ˜‘: ์ข€๋น„ 4์นธ"}'
# {"label":"๋‹ฌ๋ ค์„œ ๋„๋ง","p":0.48,"ms":20.5}

์‚ฌ์šฉ

git clone https://github.com/snowman6-git/Miya miya && cd miya
hf download snowman6/Miya-0.2 --local-dir ckpt/miya-0.2
# ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ(mc.db, mcx.db)๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ โ†’ ์ €์žฅ์†Œ docs/extract.md ๋กœ ๋กœ์ปฌ ์ถ”์ถœ
.venv/bin/python model/serve.py   # :8765 (๋‹ค๋ฅธ PC ๋ด‡์ด๋ฉด SERVE_HOST=0.0.0.0)
curl -s localhost:8765/turn -d '{"utt":"์ฒ ๊ณก ๋งŒ๋“ค์–ด","state":{"hp":20,"food":20,"night":false,"inv":{},"task":null}}'

๋ด‡๊นŒ์ง€ ๋„์šฐ๋ ค๋ฉด ./run.sh host:port. ๋ด‡์ด ๋ถ™์„ ์„œ๋ฒ„๋Š” ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ(online-mode=false)์—ฌ์•ผ ํ•˜๊ณ , ์ •ํ’ˆ ์„œ๋ฒ„๋ผ๋ฉด MC_AUTH=microsoft ./run.sh host:port ๋กœ MS ๊ณ„์ • ๋กœ๊ทธ์ธ(์ฒซ ์‹คํ–‰์‹œ bot.log ์˜ ์ฝ”๋“œ๋ฅผ microsoft.com/link ์— ์ž…๋ ฅ, ํ† ํฐ์€ bot/.auth/ ์บ์‹œ). ์˜ต์…˜ ์ „์ฒด๋Š” GitHub README.

The bot needs an offline-mode server (online-mode=false), or Microsoft login with MC_AUTH=microsoft (enter the device code from bot.log at microsoft.com/link).

API ์ž…๋ ฅ โ†’ ์ถœ๋ ฅ
/turn ๋ฐœํ™” + ์ƒํƒœ โ†’ act, type, query, hint, ๊ตฌ๊ฐ„, ๋ชฉํ‘œ ์•„์ดํ…œ
/plan ๋ชฉํ‘œ + ์ธ๋ฒคยท์„ค์น˜๋ฌผยท์ฃผ๋ณ€ โ†’ ํ›„๋ณด, ์„ ํƒ, ํ™•๋ฅ , ๋‹จ๊ณ„ (QED ์ž๋™ ์ฃผ์ž…)
/prio ์ƒํƒœ ctx โ†’ ์ƒ์กด ์šฐ์„ ์ˆœ์œ„
/qed ยท /death ๊ฒฐ๊ณผยท์‚ฌ๋ง ๊ธฐ๋ก
/tidy ยท /value ยท /placed ์ธ๋ฒค ์ •๋ฆฌ, ์•„์ดํ…œ ๊ฐ€์น˜, ์„ค์น˜๋ฌผ

ํŒŒ์ผ์€ ์„ธ ๊ฐœ์ž…๋‹ˆ๋‹ค.

  • model.pt: state_dict
  • schema.json: ๋ผ๋ฒจ
  • config.json: ๋ฉ”ํƒ€ ์ •๋ณด (HF ๋‹ค์šด๋กœ๋“œ ์ˆ˜ ์ง‘๊ณ„ ๊ธฐ์ค€ ํŒŒ์ผ)

๋ชจ๋ธ ์ฝ”๋“œ(model/miya.py)๋Š” GitHub ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ๊ณ„ ยท ๋ฏธ์™„์„ฑ

์•„์ง ๋ฏธ์™„์„ฑ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ํ•ญ๋ชฉ์€ ์•Œ๋ ค์ง„ ๋ฌธ์ œ์ด๋ฉฐ ๋‹ค์Œ ๋ฒ„์ „์—์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

  • ์ž์œจ๋ชจ๋“œ ์—†์Œ: "์ž๊ธ‰์ž์กฑํ•ด" ๊ฐ™์€ ๋ช…๋ น์€ ๋ถ„๋ฅ˜๋งŒ ๋˜๊ณ  ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์กดยท๋ฐœ์ „ ๋ฃจํ”„๋ฅผ ๊ณ„ํš ์ค‘์ž…๋‹ˆ๋‹ค.
  • ask ๊ณผ๋ณด์ •: ์„ฑ๊ณต๋ฅ ์ด ์ค‘๊ฐ„์ธ ๊ฒฝํ—˜(์˜ˆ: 14ํšŒ ์ค‘ 28%)์—์„œ ๋„์›€ ์š”์ฒญ์„ ๊ณผํ•˜๊ฒŒ ๊ณ ๋ฆ…๋‹ˆ๋‹ค. 0.3์—์„œ ๋ณด์ •ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์ƒ์กด ํŒ๋‹จ ์•ฝ์ 
    • ๋ธ”๋Ÿญ ์Œ“์•„ ๋„๋ง, ๊ตด ํŒŒ๊ณ  ์ˆจ๊ธฐ์˜ ์ •๋‹ต๋ฅ ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค.
    • ์ „ํˆฌ์™€ ๋„๋ง์˜ ๊ฒฝ๊ณ„๊ฐ€ pโ‰ˆ0.5๋กœ ์• ๋งคํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋ด‡์˜ ๊ฒฐ์ • ์œ ์ง€ ์‹œ๊ฐ„์œผ๋กœ ์™„ํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ™์—ฌ์“ด ์ „ํˆฌ ๋™์‚ฌ ์˜ค๋ถ„๋ฅ˜: "์ข€๋น„์ฒ˜๋ฆฌํ•ด"๋ฅผ ์ž˜๋ชป ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํŽธํ–ฅ: ํ•™์Šต ๋ฐ์ดํ„ฐ ๋Œ€๋ถ€๋ถ„(284k)์ด ํ•ฉ์„ฑ์ด๊ณ  ์‹ค๋ฐœํ™”๋Š” ์†Œ๋Ÿ‰์ž…๋‹ˆ๋‹ค. ํ•œ๊ตญ์–ด ์ „์šฉ์ž…๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๊ณ ์ •: Minecraft 26.1.2 ๋ ˆ์‹œํ”ผ ๊ธฐ์ค€์ด๊ณ , mineflayer๋กœ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ž‘์—…(์ธ์ฑˆํŠธยท๊ฑฐ๋ž˜ยท์›๊ฑฐ๋ฆฌ ๋“ฑ)์€ ์•„์ง ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ˜ธํ™˜์„ฑ ์—†์Œ: ๋ฒ„์ „ ๊ฐ„ ๊ฐ€์ค‘์น˜ยท์Šคํ‚ค๋งˆ ํ˜ธํ™˜์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ผ์ด์„ ์Šค

Apache-2.0 + Miya Adopt Licence (๊ฐ•์ œ์„ฑ ์—†๋Š” ๋ถ€ํƒ ์กฐํ•ญ).

  • ๋ฒ ์ด์Šค: laya-multilingual (Apache-2.0) โ† mmBERT-base (MIT)
  • Minecraft ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์˜ docs/extract.md๋กœ ๋กœ์ปฌ์—์„œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • Minecraft๋Š” Mojang Studios์˜ ์ƒํ‘œ์ด๋ฉฐ, ์ด ํ”„๋กœ์ ํŠธ๋Š” Mojang๊ณผ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.
Downloads last month
21
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for snowman6/Miya-0.2

Finetuned
(64)
this model