diff --git a/Model-Best-Practices/Ornith-q8-best-practices.md b/Model-Best-Practices/Ornith-q8-best-practices.md index f85c9aa..853fff8 100644 --- a/Model-Best-Practices/Ornith-q8-best-practices.md +++ b/Model-Best-Practices/Ornith-q8-best-practices.md @@ -12,9 +12,13 @@ How to get real work out of Ornith 1.5-9B (Qwen3.5-based, 8-bit / Bfp8) on one T - **It doesn't explore on its own.** A plain ask gets generic output; "read X first" gets accurate output. - **It doesn't know when it's done**, and doesn't push back on a task that makes no sense (an hour on an already-finished phase; 42 min re-verifying finished work). - **Thinking is the cost, not tools.** Reasoning blocks run 4–10k chars. Decode is fast at short context (~50 tok/s greedy with MTP, ~21.5 plain) but ~8 tok/s at 51k context. +- **Big reads fill its context fastest.** Given a function name in a 12,000-line file, it read 2,000 lines to find four functions; two reads added more context than all its reasoning. +- **It skips saving its progress.** It treats "I understand it now" as done and moves to the next step without writing the result down. ## How to brief it -- [ ] Name the exact files to read, in order. For big files, give the `grep -n` to find the right part. +- [ ] Name the exact files to read, in order. +- [ ] **Give line ranges, not just names**: exact start–end lines for each function the step needs (e.g. `file.c:11966-12019`), and cap each read at ~150 lines. `grep -n` only finds where a function starts, so a name alone leads to huge reads. +- [ ] **Small files are part of the brief.** If a step's target file is over ~1,000 lines, split it first (behaviour-preserving, gated) or hand over exact ranges. - [ ] Write every rule down; it misses rules that were only said in conversation. - [ ] Every step ends in a check that is a command with the exact expected output, not "looks right". - [ ] Include the stop rules: "if your task is already marked done, say so and stop"; "two failed checks → write `BLOCKED:` and stop". @@ -22,6 +26,7 @@ How to get real work out of Ornith 1.5-9B (Qwen3.5-based, 8-bit / Bfp8) on one T ## How to run it - [ ] **One task card per session; fresh session per card.** Don't keep saying "continue" into a long session. +- [ ] **A card isn't done until its output is saved**: the written result in the plan/spec, the box checked, a commit. Only then start the next card (in a new session). - [ ] **Keep context small** (well under ~50k tokens): decode slows a lot past that, and when the agent compacts a long context the model can lose its place. - [ ] **The plan file is the memory**: every step leaves a one-line note in the plan, so a fresh session can resume. - [ ] For long remote jobs, expect sleep/poll loops that look like a hang; check `argus.log` before assuming it's stuck.