Spaces:
Runtime error
Runtime error
Commit ยท
2ae134a
1
Parent(s): 9a23797
docs(cp8): next-session implementation kickoff prompt
Browse filesCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
docs/superpowers/NEXT-SESSION-CP8-IMPL.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Next-session kickoff prompt โ CP8 ๊ตฌํ (predator agentness eval + ์๋ GIF)
|
| 2 |
+
|
| 3 |
+
> ์๋ ๋ธ๋ก์ ๊ทธ๋๋ก ๋ถ์ฌ๋ฃ์ด CP8 **๊ตฌํ** ์ธ์
์ ์์ํ๋ค. ์ค๊ณ spec๊ณผ TDD ํ๋์ ์ด๋ฏธ ์์ฑยท์ปค๋ฐ๋จ.
|
| 4 |
+
> CP7(๋ฉ๋ชจ๋ฆฌ ํ๋ฆฌ๋กค)๊น์ง ์๋ฃยท์ปค๋ฐ(`.venv/bin/python -m pytest -q` โ **152 passed**, Ollama ์ค๋ชจํฌ ํต๊ณผ).
|
| 5 |
+
|
| 6 |
+
---
|
| 7 |
+
|
| 8 |
+
PROTEUS ์๋ ๋ ๊ตฌํ์ ์ด์ด์ ์งํํ๋ค. ์ด๋ฒ ์ธ์
์ **CP8(predator agentness ํ๊ฐ 3์ธตํ + ๊ฒ์ ํ ์๋ GIF)์ ๊ตฌํ** ๋จ๊ณ๋ค. ์ค๊ณยทํ๋์ ์ด๋ฏธ ํ์ ยท์ปค๋ฐ๋ผ ์์ผ๋ **๋ฐ๋ก ๊ตฌํ๋ถํฐ ์์**ํ๋ค(๋จ design-gated ์คํ
์ด์ง๋ ์์ธ โ ์๋ ์ฐธ์กฐ).
|
| 9 |
+
|
| 10 |
+
์์
๋๋ ํฐ๋ฆฌ: /Users/bagjuhyeon/Documents/WorkSpace/PROTEUS
|
| 11 |
+
|
| 12 |
+
## ๋จผ์ ์ฝ์ ๋ฌธ์ (SSOT)
|
| 13 |
+
- docs/superpowers/specs/2026-06-02-proteus-predator-agentness-eval-design.md (๋ถ๋ณ ์ค๊ณ SSOT โ ยง6 ๋ฉํธ๋ฆญ 3์ธต, ยง4 turn order, ยง5 ํฌํ, ยง7 trace ๊ณ์ฝ, ยง8 5-pass, ยง9 acceptance, ยง10 ๊ธฐ๋ณธ ๋ฆฌํฌํธ)
|
| 14 |
+
- docs/superpowers/plans/2026-06-02-proteus-cp8-agentness-eval.md (TDD ํ๋ โ Stage 0~5, ํ์คํฌ๋ณ ์ ์ฒด ์ฝ๋/ํ
์คํธ)
|
| 15 |
+
- HANDOFF.md ("Next: CP8" ์น์
์ด ์ถ๋ฐ์ ; CP0~CP7 ์๋ฃ ์ํ)
|
| 16 |
+
- docs/superpowers/specs/2026-06-02-proteus-cp7-memory-preroll-design.md (CP7 ๋ฉ๋ชจ๋ฆฌ ์ธํฐํ์ด์ค โ Stage 4๊ฐ ์์กด)
|
| 17 |
+
|
| 18 |
+
## ์คํ ๋ฐฉ๋ฒ (์ด๋ฒ ์ธ์
)
|
| 19 |
+
ํ๋์ `superpowers:executing-plans`(์ธ๋ผ์ธ, CP7๊ณผ ๋์ผ ํจํด) ๋๋ `superpowers:subagent-driven-development`(3์ค ๊ฒ์ดํธ)๋ก ํ์คํฌ๋ณ ์คํํ๋ค. **๊ถ์ฅ ์์: Stage 0 โ Stage 1 โ Stage 2 โ Stage 4**. ๊ฐ ํ์คํฌ๋ ํ
์คํธ์์ฑโ์คํจํ์ธโ๊ตฌํโํต๊ณผโ์ปค๋ฐ. ๋งค ํ์คํฌ ํ `.venv/bin/python -m pytest -q`๋ก 152 ๋ฒ ์ด์ค๋ผ์ธ ์ ์ง ํ์ธ.
|
| 20 |
+
|
| 21 |
+
### ์คํ
์ด์ง ์ํ (์ค์)
|
| 22 |
+
- **Stage 0 (์๋ GIF), 1 (metric-only), 2 (persona reference), 4 (hidden-weight memory)** = **TDD-ready**. ํ๋์ ์ ์ฒด ์ฝ๋ยทํ
์คํธ๊ฐ ์์ผ๋ ๋ฐ๋ก ๊ตฌํ. ์ ๋ถ ๊ฐ์ฐ์ ์ด๋ผ 152 ๋ฌดํ๊ท.
|
| 23 |
+
- **Stage 3 (๋์์ด๋ resolver), 5 (multi-feature persona)** = **DESIGN-GATED**. ์์ง turn-order ๋ณ๊ฒฝยท์ ๊ท ์๋๋ฆฌ์ค feature๋ผ spec์ด ์๋์ ์ผ๋ก ์ด์ด๋ . **์ฝ๋ฉ ์ ์ `superpowers:brainstorming` โ ํ์ sub-spec ์์ฑ**๋ถํฐ ํ๋ค(ํ๋์ ํด๋น ์คํ
์ด์ง์ ๊ฒฐ์ ์ฌํญยทacceptance๊ฐ ๋ช
์๋จ). ํ๋์ ๋น ์นธ์ ์์ ์ฝ๋๋ก ์ฑ์ฐ์ง ๋ง ๊ฒ.
|
| 24 |
+
|
| 25 |
+
## ํ์ ์ ์ฝ (์ ์ง)
|
| 26 |
+
- **๊ฐ์ฐ์ ์ฐ์ **: Stage 0~2ยท4๋ ์ ํ์ผ / ์ต์
๋ ํ๋(๊ธฐ๋ณธ๊ฐ) / ์ตํธ์ธ CLI ํ๋๊ทธ๋ก๋ง ์ถ๊ฐ โ ๊ธฐ์กด 152 ํ
์คํธยท๊ณจ๋ ๋ฌดํ๊ท. Stage 3๋ง ๊ณจ๋ ๋ง์ด๊ทธ๋ ์ด์
(๊ฒฉ๋ฆฌ).
|
| 27 |
+
- **์คํ๋ผ์ธ ๋ถ๋ณ**: ์๋ ํ
์คํธ๋ ๋คํธ์ํฌ/์ค์ LLM/๋์คํ๋ ์ด ์ ์. `.venv`์ provider SDK ๋ฏธ์ค์น. ๋ชจ๋ pytest๋ `.venv/bin/python -m pytest`. GIF/PNG๋ matplotlib/Pillow๋ฅผ **lazy import**(์คํ๋ผ์ธ import ์์ ์ ์ง).
|
| 28 |
+
- ์์กด ๋ฐฉํฅ: `runtime`์ `grid` ์์กด ๊ฐ๋ฅ; `grid`/`arc_grid`๋ `runtime`์ ์ ๋ import ์ ํจ. `runtime/trace.py`ยท`runtime/memory.py`๋ ๋ค๋ฅธ runtime ๋ชจ๋ import ์ ํจ(์ง๋ ฌํ ๊ฒฝ๊ณ).
|
| 29 |
+
- **`away_move_fraction`๋ ์ฌ์ ์ํ์ง ๋ง ๊ฒ** โ ์ด๋ฏธ pre_predator ๊ธฐ์ค์ด๋ผ spec ยง9๋ฅผ ์ถฉ์กฑ. ๊ฐ churn 0์ ์ํด ๋ณด์กดํ๊ณ ์ ๊ฑฐ๋ฆฌ ๋ฉํธ๋ฆญ๋ง ์ถ๊ฐ.
|
| 30 |
+
- persona weight๋ **์ฐธ๊ฐ์ prompt/observation/checkpoint์ ์ ๋ ๋
ธ์ถ ๊ธ์ง** โ ๊ณต๊ฐ `persona_weight_id`๋ง ๊ธฐ๋ก(spec ยง3ยทยง7ยทยง9).
|
| 31 |
+
- ๋ณด๊ณ ๋ ํ๊ตญ์ด๋ก.
|
| 32 |
+
|
| 33 |
+
## ์๋ GIF (Stage 0, ์ฌ์ฉ์ ์์ฒญ)
|
| 34 |
+
๊ฒ์(`run`/`play`)์ด `--out`์ผ๋ก trace๋ฅผ ์ฐ๋ฉด `<out>.gif`๋ฅผ ์๋ ์์ฑ(๊ธฐ๋ณธ ON). `--no-gif`๋ก ๋. `viz.write_gif`(Pillow, lazy)๋ก `reconstruct(trace)` ํ๋ ์์ ์ ๋๋ฉ์ด์
GIF๋ก ์กฐ๋ฆฝ. ๊ธฐ์กด CLI ํ
์คํธ๊ฐ ๋๋ ํฐ๋ฆฌ ๋ด์ฉ์ ๋จ์ ํ๋ฉด `--no-gif` ์ถ๊ฐ.
|
| 35 |
+
|
| 36 |
+
## ์์ฉ(acceptance) โ spec ยง9
|
| 37 |
+
1. `survived`๋ง์ผ๋ก agentness ํ๋จ ๊ธ์ง(๊ฑฐ๋ฆฌยทpersona ์ธต ๋ถ๋ฆฌ).
|
| 38 |
+
2. ๋ชจ๋ turn์ `pre_bfs_distance`/`post_bfs_distance` ๊ธฐ๋ก.
|
| 39 |
+
3. `away_move_fraction`์ `pre_predator_pos` ๊ธฐ์ค(์ด๋ฏธ ์ถฉ์กฑ).
|
| 40 |
+
4. persona score๋ ์จ์ reward weight์ reference policy์ ๋น๊ต.
|
| 41 |
+
5. persona weight๋ ๋ชจ๋ธ prompt์ ๋น๋
ธ์ถ.
|
| 42 |
+
6. (Stage 3 ์ ์ฉ ์) ์ฐธ๊ฐ์ยทํฌ์์ action์ ๊ฐ์ pre-state์์ ๊ณํ.
|
| 43 |
+
7. ํฌํ ํ์ ์ same-cell + crossing ๋ชจ๋(Stage 3).
|
| 44 |
+
8. predator-only์์ ํ์/๊ท์น์ค์/ํ๋ ฅ persona ๊ณผํด์ ๊ธ์ง(Stage 5๋ ์ ๊ท feature ํ).
|
| 45 |
+
|
| 46 |
+
## Ollama ์์ฉ ์ค๋ชจํฌ (์๋, ๋คํธ์ํฌ โ Stage 2/4 ๋ค)
|
| 47 |
+
`.venv`๋ SDK-free ์ ์ง. CP4/CP7 ๋ ์ํผ ์ฌ์ฌ์ฉ:
|
| 48 |
+
- throwaway venv: `/tmp/proteus-smoke-venv`(`httpx` ํฌํจ).
|
| 49 |
+
- ํค: `.env`์ `OLLAMA_API_KEY` ๊ฐ์ **์ฒซ ๊ณต๋ฐฑํ ํฐ**(57์) โ `grep -m1 '^OLLAMA_API_KEY' .env | cut -d= -f2- | awk '{print $1}'`.
|
| 50 |
+
- ๋ชจ๋ธ `ollama:gpt-oss:120b-cloud`. ์: `proteus run --persona risk_averse --memory generate ... --out runs/cp8_real.jsonl` โ ๊ฑฐ๋ฆฌยทpersona ๋ฉํธ๋ฆญ์ด ๋ฆฌํฌํธ์ 3์ธต์ผ๋ก ์ฐํ๊ณ `<out>.gif` ์์ฑ๋๋์ง ํ์ธ.
|
| 51 |
+
- `runs/`๋ gitignore(์ค์ trace/ํค/GIF ๋น์ปค๋ฐ).
|
| 52 |
+
|
| 53 |
+
## ์ธ์
์ข
๋ฃ ์
|
| 54 |
+
- ์๋ฃ ์คํ
์ด๏ฟฝ๏ฟฝ๊น์ง ์ปค๋ฐ(ํ์คํฌ๋ณ), `.venv/bin/python -m pytest -q` ๊ทธ๋ฆฐ ํ์ธ, HANDOFF.md ๊ฐฑ์ (์๋ฃ ์คํ
์ด์ง + ์ค๋ชจํฌ ๊ฒฐ๊ณผ + ๋จ์ ์คํ
์ด์ง), ๋ค์ ์ธ์
ํฅ์คํ ๊ฐฑ์ .
|
| 55 |
+
|
| 56 |
+
---
|
| 57 |
+
|
| 58 |
+
### (์ฐธ๊ณ ) ์ด์ ๊ตํ (CP6/CP7)
|
| 59 |
+
- **์ปจํธ๋กค๋ฌ ์ฌ์ ์ ์ฐฐ**: ๋์คํจ์น/๊ตฌํ ์ ์ ๊นจ์ง ์ง์ (๋ฉํธ๋ฆญ ํค set ๋จ์ , ์๊ทธ๋์ฒ ์ถฉ๋, FakeProvider ์๋ต ์์ง/๋ฐ๋ณต, `self.grid_size` ์ธ์คํด์ค ์๋์)์ ์ง์ ํ์ธํ๋ฉด ์คํจ๋ฅผ ๋ฐ๋ณต ์๋ฐฉํ๋ค.
|
| 60 |
+
- **ํ๋์ ๊ณจ๋ ํ
์คํธ๋ฅผ ์ค๋ผํด๋ก**: ์์ค๊ณ ์ขํ/์์/๋ฉํธ๋ฆญ ๊ธฐ๋๊ฐ์ ํ
์คํธ ํต๊ณผ๊น์ง ์กฐ์ ํ๋ ๊ฑด ์ ์ ์์
(placeholder ์๋).
|
| 61 |
+
- **ํ๋ฆฌ์คํฑ ์ต์ข
๋ฆฌ๋ทฐ**๋ก ํ์คํฌ๋ณ ๋ฆฌ๋ทฐ์ ์ฌ๊ฐ(๋์ dead ์์, ์ผ๋ฐํ ์ ๋ docstring)์ ์ก๋๋ค.
|