llm-as-computer
/llm-as-computer
Wykonuje programy na skompilowanej maszynie stosowej opartej na transformerze, w której każde pobranie instrukcji i odczyt pamięci to głowica uwagi paraboliczna, i pokazuje ślad wykonania.
- Autor
- oaustegard ↗
- Repozytorium
- claude-skills ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 25.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 7
- Skrypty
- 4
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 2
Brak sygnałów. Repozytorium zmienione 25.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
- 4 skrypty w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.
Skrypty: src/isa_lite.py, src/programs.py, src/runner.py, src/setup.sh
Co robi i kiedy
Wykonuje programy na skompilowanej maszynie stosowej opartej na transformerze, w której każde pobranie instrukcji i odczyt pamięci to głowica uwagi paraboliczna, i pokazuje ślad wykonania.
Wyzwalacze z opisu
Oryginalny opis (EN)
Execute programs on a compiled transformer stack machine where every instruction fetch and memory read is a parabolic attention head. Demonstrates that transformer attention + FF layers can implement a working computer. Use when user mentions "llm-as-computer", "lac", "stack machine", "compiled transformer", "percepta", "parabolic attention", "execute program", or asks to run/trace programs on the transformer executor.
Jak działa
- What This Proves
- Setup (once per session)
- Usage
- Available Programs
- Writing Custom Programs
- ISA Reference (55 opcodes)
- Architecture
- Updating from Repo
Podgląd SKILL.md
---
name: llm-as-computer
description: Execute programs on a compiled transformer stack machine where every instruction fetch and memory read is a parabolic attention head. Demonstrates that transformer attention + FF layers can implement a working computer. Use when user mentions "llm-as-computer", "lac", "stack machine", "compiled transformer", "percepta", "parabolic attention", "execute program", or asks to run/trace programs on the transformer executor.
metadata:
version: 1.0.1
repo: oaustegard/llm-as-computer
---
# LLM-as-Computer: Compiled Transformer Stack Machine
A working computer built from transformer primitives. Every instruction fetch and stack read
is a parabolic attention head (dot-product → argmax → value extraction). The transformer's
weights ARE the interpreter — compiled analytically, not trained.
## What This Proves
Attention is lookup; feed-forward is routing. A vanilla transformer with compiled weights
can execute arbitrary programs: loops, recursion, arithmetic, memory access. 55 opcodes
covering WASM i32 semantics. 21M+ steps/second via the Mojo executor.
## Setup (once per session)
```bash
cd /mnt/skills/user/llm-as-computer/src && bash setup.sh
```
This installs Mojo (~20s) and compiles the executor binary (~6s). If Mojo is unavailable,
the skill falls back to a pure-Python executor (slower but functional).
## Usage
```python
import sys
sys.path.insert(0, '/mnt/skills/user/llm-as-computer/src')
from programs import make_fibonacci, make_factorial, make_gcd, make_multiply
from runner import run, setup
# Ensure Mojo is compiled (idempotent)
setup()
# Run a program — shows instructions, trace, result
prog, expected = make_fibonacci(10)
print(run(prog))
# Benchmark mode — measures throughput
print(run(prog, benchmark=True, repeat=200))
```
## Available Programs
From `programs.py` — all return `(program, expected_result)`:
| Generator | Description | Example |
|-----------|-------------|---------|
| `make_fibonacci(n)` | Iterative fib via SWAP+OVER+ADD+ROT | fib(10)=55, 111 steps |
| `make_multiply(a, b)` | Repeated addition | mul(7,8)=56 |
| `make_factorial(n)` | Loop with MUL | fact(8)=40320 |
| `make_gcd(a, b)` | Euclidean algorithm | gcd(48,18)=6 |
| `make_power_of_2(n)` | Repeated doubling | 2^7=128 |
| `make_sum_1_to_n(n)` | Accumulation loop | sum(15)=120 |
| `make_is_even(n)` | Parity check | is_even(7)=0 |
| `make_native_multiply(a,b)` | Single MUL opcode | |
| `make_native_divmod(a,b)` | DIV_S + REM_S | |
| `make_compare_binary(op,a,b)` | eq/ne/lt_s/gt_s/le_s/ge_s | |
| `make_bitwise_binary(op,a,b)` | and/or/xor/shl/shr_u/rotl/rotr | |
| `make_select(a,b,c)` | Conditional select | |
## Writing Custom Programs
```python
from isa_lite import program
# Assembly tuples
prog = program(
('PUSH', 10),
('PUSH', 20),
('ADD',),
('DUP',),
('ADD',), # (10+20)*2 = 60
('HALT',),
)
print(run(prog))
# Loops: countdown from 5
prog = program(
('PUSH', 5), # 0: counter
('PUSH', 1), # 1: decrement
('SUB',), # 2: counter - 1
('DUP',), # 3: copy for JNZ test
('JNZ', 1), # 4: loop if non-zero
('HALT',), # 5: done, top = 0
)
print(run(prog))
```
## ISA Reference (55 opcodes)
**Stack:** PUSH n, POP, DUP, SWAP, OVER, ROT
**Arithmetic:** ADD, SUB, MUL, DIV_S, DIV_U, REM_S, REM_U
**Comparison:** EQZ, EQ, NE, LT_S/U, GT_S/U, LE_S/U, GE_S/U
**Bitwise:** AND, OR, XOR, SHL, SHR_S/U, ROTL, ROTR
**Unary:** CLZ, CTZ, POPCNT, ABS, NEG, SELECT
**Control:** JZ addr, JNZ addr, CALL addr, RETURN, HALT, NOP
**Locals:** LOCAL.GET idx, LOCAL.SET idx, LOCAL.TEE idx
**Memory:** I32.LOAD, I32.STORE, I32.LOAD8_U/S, I32.LOAD16_U/S, I32.STORE8, I32.STORE16
All arithmetic is 32-bit signed with WASM i32 semantics (wrap on overflow).
## Architecture
The key insight: parabolic encoding `k = (2j, -j²)` makes dot-product attention peak
sharply at a target position. Same encoding addresses program memory, stack, locals,
and heap without interference. Each attention head is a compiled `W_Q @ state → query`,
`W_K @ memory → keys`, `scores = K @ q`, `output = V[argmax(scores)]`.
## Updating from Repo
To pull latest source from the repository:
```bash
cd /mnt/skills/user/llm-as-computer/src
GH_TOKEN=$(grep GH_TOKEN /mnt/project/GitHub.env 2>/dev/null | cut -d= -f2)
for f in executor.mojo; do
curl -sL -H "Authorization: token $GH_TOKEN" -H "Accept: application/vnd.github.v3.raw" \
"https://api.github.com/repos/oaustegard/llm-as-computer/contents/src/$f?ref=main" > $f
done
for f in isa_lite.py programs.py runner.py; do
curl -sL -H "Authorization: token $GH_TOKEN" -H "Accept: application/vnd.github.v3.raw" \
"https://api.github.com/repos/oaustegard/llm-as-computer/contents/skill/src/$f?ref=main" > $f
done
rm -f percepta_exec # force recompile
bash setup.sh
```
Pliki w paczce (7)
- CHANGELOG.md 1 KB
- SKILL.md 5 KB
- src/executor.mojo 28 KB
- src/isa_lite.py 6 KB
- src/programs.py 21 KB
- src/runner.py 12 KB
- src/setup.sh 1 KB
Wersje
W bazie nie ma innych skilli o nazwie llm-as-computer.
Identyczna treść występuje jeszcze w 1 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.
Migawka bazy z 28.10.2026 · wersja paczki 95d88073be39 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100transformer-attention
Wyjaśnia mechanizm uwagi w transformerach: self-attention, wielogłowicową uwagę i kodowanie pozycji tokenów. - 95ml-llm-wiki
Odpowiada na pytania z bazy wiedzy o uczeniu maszynowym, na przykład o transformerach, koszcie uwagi i skalowaniu długiego kontekstu, wyłącznie przez odczyt skompilowanej wiedzy. - 100senior-computer-vision
Wspiera inżynierię computer vision: detekcja obiektów, segmentacja i wizualna AI, architektury CNN i Vision Transformer oraz wdrożenia ONNX i TensorRT. - 90attention-mechanism
Wyjaśnia, co oblicza mechanizm uwagi i dlaczego jego koszt rośnie kwadratowo z długością sekwencji, do oceny limitów kontekstu i wydajności. - 95optimizing-attention-flash
Optymalizuje mechanizm uwagi w transformerach przez Flash Attention, przyspieszając trening i wnioskowanie oraz ograniczając pamięć GPU. - 95optimizing-attention-flash
Optymalizuje mechanizm uwagi w transformerach przez Flash Attention, przyspieszając trening i wnioskowanie oraz ograniczając pamięć GPU.