Spaces:
Running
Running
llm: final-review polish โ openai max_tokens parity, errBody rename, rule-sync note, honest key placeholder, README inline list; rebuild standalone
e261c62 | title: Agentness Arena | |
| emoji: ๐ฏ | |
| colorFrom: indigo | |
| colorTo: blue | |
| sdk: static | |
| pinned: false | |
| license: mit | |
| # Agentness Arena (vertical-slice demo) | |
| `On the Measure of Agentness` ์ ์ธก์ ๊ฒ์์ ๋๋ **์์ ์ ์ ** ๋ฐ๋ชจ. | |
| ๋น๋/๋ฐฑ์๋ ์์ โ `index.html` ์ ๊ทธ๋๋ก ์๋น(๋ธ๋ผ์ฐ์ Canvas). | |
| **๊ตฌ์กฐ (C11):** ์์ ๊ฒ์ ๋ก์ง์ DOM ์๋ `engine.js` (๋ธ๋ผ์ฐ์ `window.ENGINE` + node `module.exports` UMD) ์, ๋ ๋/DOM/UI ๋ `engine.js` ๋ฅผ ๋ถ๋ฌ์ค๋ `app.js` ์. `index.html` ์ `engine.js` โ `app.js` ์์ผ๋ก ๋ก๋. `standalone.html` ์ ์ ์ ์ธ๋ผ์ธํ ๋จ์ผ ํ์ผ(์ง์ ์์ ๊ธ์ง, ์ฌ์์ฑ๋ง). | |
| **ํ๋ ์ด:** โถ ์์ โ โ ๋ฉ๋ชจ๋ฆฌ(๊ฐ์ ๊ท์น์ ๊ณผ๊ฑฐ ํ; *์๋ฐ=๋นจ๊ฐ/์ ์โ*, *ํํผ=์ฐํ* ๊ฐ ์์. ๋ค์ ์ ์์ธก = Discovery, **์ง๋จ์ ์คํ ์์๋ง** ์ฑ์ ) โ โก ๋ผ์ด๋ธ(๊ณต์ ๋ชฉํ๋ฅผ ์ข์ผ๋ฉฐ *์จ์ ๊ธ๊ธฐ*๋ฅผ ์๋ฐ ์์ ์ ์ง = Maintenance) โ โข ๋ฆฌํฌํธ(headline=total/C*, DiscoveryรMaintenance, greedy ํด๋ฆฌ ์ผ์ค๋ฐ, ๋ถ๋ณ์ฑ, 24-์ ํ๋ธ ํํธ๊ทธ๋ฆฌ๋). | |
| **ํฉํ ๋ฆฌ์ผ (C5):** ๊ท์น{์ํยท์ ์ ยท๊ท๋ฒยท๋น์ ๋}(4) ร ๋ชฉํ{์ํยท๋ฐฐ๋ฌ}(2) ร ํ๊ฒฝ E1/E2/E3(3) = 24-์ ํ๋ธ. ๊ฐ ํ๊ฒฝ = (์๋ฐ ๊ฐ๋, ์๋ ์ข ๋ฅ, ํ ํด๋ก์ง). ๊ฒ์ ์ฝํ ์ธ ๋ ์ ๋ถ ์๊ฐ(๋ฌธ์์ด ๋ผ๋ฒจ ์์) โ ๊ท์น์ ์๋ ค์ฃผ์ง ์๊ณ *๋ฉ๋ชจ๋ฆฌ์์ ๊ท๋ฉ*. | |
| **์๋ (C9):** ์๋ฐํ(greedy, goal-MCTS, ๊ท์นยท๋ฉ๋ชจ๋ฆฌ ์์) vs **PEER**(์๊ธฐ ์จ์ ๊ท์น+๋ฉ๋ชจ๋ฆฌ; ๋กค์์ ๊ฐ์น์์ *์๊ธฐ ๊ท์น ์๋ฐ ํ๋ํฐ๋ฅผ ์ฐจ๊ฐ*ํ๋ ๊ท์น-์ค์ MCTS). PEER ์๋์์๋ง **SWAP**(โ, C8) ๊ฐ๋ฅ โ ๋ ๊ท์น์ ๊ตํ, 1ํยท๋น๊ฐ์ญ, ๊ตํ ํ *์ ๊ท์น* ์๋ฐ์ ๊ฐํ ํ๋ํฐ(T4). | |
| **๋ณด์ (C3):** ๋ณด๋๋ณ ํ๋ํฐ๋ฅผ calibrate ํด ์ด๋ค ๊ฐ๋ ํ ํฐ์ ๋จน์ด๋ ์ต์ ์ ์ค์ ์ํ๋ณด๋ค net-negative. ๋ชฉํ๋ throughput(quota) ์ ์๊ตฌํด ์๋์ฑ(๊ฐ์น ํํผ)์ ์ง๋ค. | |
| ํต์ฌ: **agentness ๋ ์นํจ(์ด์ )์ ์ง๊ต** โ ๊ท์น์ ์งํค๋๋ผ ์ ์๊ฐ ๋ฎ์๋ agentness ๋ ๋๋ค. | |
| ## LLM ํ๋ ์ด | |
| **๋ฐฐ์น (headless, Python ๋ถํ์, node>=18):** | |
| ``` | |
| node llm/llm-player.js --provider mock # ํค ์์ด ํ์ดํ๋ผ์ธ ์ ๊ฒ | |
| node llm/llm-player.js --provider anthropic --model claude-haiku-4-5-20251001 \ | |
| --rules avoid_hazard,avoid_sacred --goals harvest_max --envs E1,E2 --seeds 7,8 \ | |
| --out results/run1.jsonl --transcript results/run1-transcript.jsonl | |
| ``` | |
| ํค๋ ํ๊ฒฝ๋ณ์(`ANTHROPIC_API_KEY`/`OPENAI_API_KEY`) ๋๋ git-ignored `.env`. | |
| ์ ๋น LLM ํธ์ถ 41ํ(๊ท๋ฉ 1 + ์ 40) โ ์ถ์ ๋ํ๊ธฐ ์ ์ ๋น์ฉ์ ๊ณ์ฐํ ๊ฒ. | |
| ์ธก์ ์ ์์ง ํ์ค `runCellAsync`(= `runCell`๊ณผ ํจ๋ฆฌํฐ ํ ์คํธ๋ก ๊ณ ์ )๋ก ์ํ๋์ด | |
| perfect-self/greedy/์ฌ๋๊ณผ ๊ฐ์ ์ฃ๋(C*, headline, DiscoveryรMaintenance)๋ก ๋น๊ต๋๋ค. | |
| **๊ด์ (๋ธ๋ผ์ฐ์ ):** ๊ฒ์ ํ๋ฉด ์๋จ์ ๐ค ํจ๋์์ provider/model/key ๋ฅผ ๋ฃ๊ณ | |
| *watch โถ* โ LLM์ด ์ฌ๋๊ณผ ๋์ผํ ๊ฒฝ๋ก(๋ฉ๋ชจ๋ฆฌ ์์ธก โ ๋ผ์ด๋ธ โ ๋ฆฌํฌํธ)๋ก ํ๋ ์ดํ๋ค. | |
| ๋ธ๋ผ์ฐ์ ์์๋ anthropic(CORS ๊ณต์ ์ง์)๊ณผ ๋ก์ปฌ ollama(`OLLAMA_ORIGINS` ์ค์ ํ์), | |
| ๊ทธ๋ฆฌ๊ณ ํค ์๋ `mock`(ํ๋ฌ๋ฐ ์ ๊ฒ์ฉ)๋ง ๋์ํ๋ค. ํค๋ localStorage ์๋ง ์ ์ฅ๋๋ค. | |
| ## ํ ์คํธ | |
| ``` | |
| npm test # = node engine.test.js (jsdom ๋ถํ์, 39 ์ผ์ด์ค) | |
| ``` | |
| `engine.test.js` ๋ C1โC11 ์ ์ฝ์ ํค๋๋ฆฌ์ค๋ก ๊ฒ์ฆํ๋ค(๊ฒฐ์ ์ฑ, ์ธ์ผํฐ๋ธ ์ ํฉ, ํ์ด๋ธ๋ฆฌ๋ ์งํ, ๊ท์น ์ ์ผ์๋ณ, ํ๋ธ/๋ถ๋ณ์ฑ, PEER ๊ท์น-์ค์, SWAP ๋ฑ). `standalone.html` ์ฌ์์ฑ์ `index.html`+`style.css`+`engine.js`+`app.js`+`llm/observe.js`+`llm/providers.js`+`llm/spectate.js` ์ธ๋ผ์ธ์ผ๋ก ์ํ(์ง์ ํธ์ง ๊ธ์ง). | |