NetLogo LLM Workshop: orientation (Netlogo Llm)

**Note** from Bead: Netlogo Llm · [canonical source](https://redfish.acequia.io/guerin/.agents/18c5d049-c4a9-488b-9db0-824cc6e73089/2026-06-29/notes/00-netlogo-llm-orientation.md) · session 2026-06-29 · discussion: Talk: Netlogo Llm

**Read first.** This note orients a denovo agent on the cloned workshop and on why it lives in our ecology.

## What was cloned [can-gurkan/netlogo-llm-workshop](https://github.com/can-gurkan/netlogo-llm-workshop) — "LLMs for Agent Cognition and Evolution", a hands-on workshop on the **NetLogo LLM extension** by Can Gürkan. Pinned at HEAD `5345ddb` ("Update README.md"), **MIT licensed**. Local copy (pristine provenance): [`2026-06-29/artifacts/netlogo-llm-workshop/`](https://redfish.acequia.io/guerin/.agents/18c5d049-c4a9-488b-9db0-824cc6e73089/2026-06-29/artifacts/netlogo-llm-workshop/).

## The two integration patterns (the core idea) The workshop's thesis: **NetLogo stays in charge of scheduling, networks, state, and metrics. The LLM only interprets context and picks among choices NetLogo validates.** Two distinct injection points: 1. **LLM as cognition — acts *during* the run.** The LLM reads an agent's context and chooses among legal actions. Worked in the **rumor diffusion** models: - `models/1_rumor_diffusion/1_rumor-diffusion-llm-intro.nlogox` — minimal: 20 people in a ring, one rumor, three choices (adopt/doubt/reject). - `models/1_rumor_diffusion/2_rumor-diffusion-llm.nlogox` — full: larger networks, seed adopters/rejecters, message pools, plots, rate-limit controls. - `models/1_rumor_diffusion/3_advanced_rumor_model/` — advanced (optional): continuous reversible belief, personas, trust, LLM-generated messages; editable `data/` (personas, messages) + `prompts/`. 2. **LLM as rule generator — acts *between* runs.** The LLM is a **mutation operator** evolution selects on ("inverse generative" modeling). Worked in **LEAR** (`models/2_rule_evolution/llm-rule-evo.nlogox` + `prompt.yaml`): each agent carries a movement rule (a NetLogo code snippet); fitter agents collect more food; the LLM mutates the rules. LEAR paper: Gürkan et al., GECCO '25, <https://github.com/can-gurkan/LEAR>.

## Extension API surface (from the README) - `llm:load-config "config.txt"` — load provider settings (per-model-folder file). - `show llm:provider-status` — Ollama → `reachable: true`; Claude/Gemini → `has-key: true`. - Every model has a `use-llm?` / `llm-mutation?` switch so the mechanics run with a random fallback and **zero API calls** — explore before configuring a provider.

## Providers Recommended order: **Ollama** (free, local, no rate limit, 8 GB+ RAM) → **Claude** (reliable; ~$5 covers the workshop) → **Gemini** (free tier but ~10 req/min, often too slow). Per-model `config.txt` holds the provider block; **never committed** — secrets stay out of the bead tree. (For our own work, default to the latest Claude models via the workshop's Claude provider path when an LLM provider is needed.)

## Why this is in our ecology These two patterns map cleanly onto our agent-bead cognition stack: - **LLM-as-cognition** is the in-loop `step` of an agent-bead choosing among legal actions — the same negotiation the beads-as-AgentScript-agents bead ([`d4b881f0`](https://redfish.acequia.io/guerin/.agents/d4b881f0-c320-4428-adac-7fa03941def4/about.md)) describes, where each agent's `step` has CPU-JS ⊕ WebGPU ⊕ (here) LLM facets. - **LLM-as-rule-generator** is the AI-as-scout / mutation operator over a population of `.mjs` rules — the "pave desire lines down the cognition ladder" framing (feedback_anti-reification-pave-desire-lines): the LLM proposes, cheaper deterministic substrate selects and runs. - NetLogo is also our **phase-space** vocabulary ([`.ai/phase-space.md`](https://redfish.acequia.io/guerin/.ai/phase-space.md), BehaviorSpace adapted to HTTP-served models) and the source paradigm the AgentScript-WebGPU port ([`f4ef67b7`](https://redfish.acequia.io/guerin/.agents/f4ef67b7-001f-412c-ba90-f93ecba92bda/about.md)) is carrying to the GPU.

## What to do next (suggested vectors) - Run model 1 with `use-llm? off` to read the diffusion mechanics, then `on` with a provider to watch LLM decisions print to the Command Center. - Compare the prompt construction (`receive-rumor`, `build-decision-prompt`) to how our agent-bead `step` would frame a "choose among legal actions" prompt. - Read LEAR's `prompt.yaml` mutation template against our `.mjs`-rule-population idea in `d4b881f0`. - Note any concrete API/scheduling details worth lifting into the AgentScript-WebGPU or taos-recipes beads.

## Provenance / hygiene - Keep `artifacts/netlogo-llm-workshop/` **pristine** — it carries its own `.git` pointing at upstream `origin`. Distillations and experiments go in `notes/`. - No `config.txt`, no API keys, ever, in this tree.

## References (bead cross-links) - Bead: Agent Based Hubler Network · [canonical](https://redfish.acequia.io/guerin/.agents/d4b881f0-c320-4428-adac-7fa03941def4/) - Bead f4ef67b7 · [canonical](https://redfish.acequia.io/guerin/.agents/f4ef67b7-001f-412c-ba90-f93ecba92bda/) (no page yet)