02 / PROMPTING WEIGHTS · 163 PARAMETERS

One prompt. One Pong player.

GPT-6 Astra wrote OneShot’s 163 parameters directly from the game rules, network layout and a tactical brief. The resulting tiny network plays on its own.

What we learned

One reply produced a surprisingly capable tiny policy. OneShot scored better against Quill than our trained Small, using the same 163-parameter architecture. Small remained stronger head-to-head.

PROMPTED VS TRAINED

One reply, compared with training.

OneShot’s weights came from one reply, with no match feedback or repairs. Small learned through distillation, reinforcement learning and weight search. Both use exactly the same layers.

Same opponents. Different strengths.

Rally score · higher is better · best in each row in bold

OpponentSmallOneShot
Quill20.5%26.0%
Counter48.3%35.0%
Large12.4%5.8%

Against each other, Small takes 64.4% of rally points to OneShot’s 35.6%.

Same frozen comparison as the training finding: 512 paired serve sets, 5,120 rallies per matchup. A win counts as 1 and a draw as ½. These results are separate from the League and the 64-set prompt experiment below.

Same shot. Move the opponent.

Compare OneShot with a rules-only reply in the same architecture. Switch the orange paddle to the other side and watch their next moves.

OPPONENTYOUR PADDLE

The ball and your paddle stay fixed. The arrow shows the ball’s direction.

NEXT MOVE · HIGHEST SCORE WINS

Comparing the two models…

This compares one decision. The four-reply experiment below measures play across many serves.

UNDERSTAND → SPECIFY → TEST

Can a design idea become weights?

In Counter’s recovery lesson, switching off a deliberately designed neuron changes what the paddle does when the ball leaves. That gives us a concrete behavior to specify in a prompt.

The tactical brief asks for the same distinction:

“When it departs, use a separate recovery target.”

It also asks the model to allocate neurons around prediction and opponent-aware aiming, then check signs and scales. We can test whether the returned weights actually respond to the relevant inputs.

Did those inputs affect the moves?

On a grid of 225 positions, change only the ball’s direction or the opponent’s position. Count how often the chosen action changes.

Prompt and runDirection
changes
Opponent
moves
Rules only · run 10 / 2250 / 225
Rules only · run 20 / 2250 / 225
Rules + brief · run 1 (OneShot)101 / 22539 / 225
Rules + brief · run 2150 / 22553 / 225

Both tactical replies changed their actions in these probes; neither rules-only reply did. This shows those inputs affect decisions. It does not prove correct recovery or aiming, or that these changes caused better match results.

THE EXPERIMENT

How did the four replies play?

We ran each prompt twice. Each reply produced a different controller. OneShot came from run 1 of the rules plus tactical brief. Run 2 used that exact prompt and returned different weights.

These results use the experiment’s 64 sets against each opponent. The League uses its own shared serves. Each set is two games of five rallies, one from each side. Whoever wins more rallies across both games gets one point. A tie earns half a point.

Scroll across to see all opponents.

Prompt and runFollowSmallPredictAttackCounterQuillLarge
Rules only · run 164 / 6413.5 / 6463 / 6444.5 / 640.5 / 640 / 640 / 64
Rules only · run 262.5 / 6410 / 640.5 / 640 / 640 / 640 / 640 / 64
Rules + brief · run 1 (OneShot)64 / 6413.5 / 6463 / 6460 / 643.5 / 641.5 / 640 / 64
Rules + brief · run 263.5 / 647.5 / 6464 / 6464 / 640 / 640 / 640 / 64

OneShot lost all 64 sets against Large, so it earned 0 set points. It still won 28 of 640 individual rallies.

OneShot won one set and drew one against Quill. Both replies to the rules plus brief scored higher against Attack than either rules-only reply. Two replies per prompt do not establish how reliably the brief improves a new controller.

THE INPUTS

Read the exact prompts

Quill’s programmed weights came from explicit formulas that Codex iteratively revised using simulated match feedback. For this experiment, each Astra reply supplied the numeric weights directly, with no tools, match feedback or repairs.

Both prompts used GPT-6 Astra at low reasoning effort, a 6,000-token output limit, and the same numeric JSON response schema.

These are the original prompts, preserved verbatim with the technical notation used in the experiment.

Rules-only prompt
Design a fixed neural network controller that wins as many matches as possible in the Pong variant below. Return the actual numeric weights and biases in one response.

Architecture: 6 → 12 → 4 → 3 → 3. Apply ReLU after every hidden layer; the three output scores are linear. Each dense layer computes output = W * input + b. Use only the listed layers. Return JSON {"layers":[{"weights":[[...]],"bias":[...]}, ...]}, ordered from input to output. Each weights matrix has one row per output neuron and one column per input to that layer. Include all coefficients and biases as finite numbers. Do not return code, formulas in place of numbers, or prose.

Rules:
- Coordinates are x along the length of a 360 by 160 court, and y across it. Each policy sees itself at the left end. The ball contacts the left paddle plane at x=15 and the right paddle plane at x=345. Paddle centers are limited to y=15..145. Each paddle has a half-width of 15 along y.
- The six inputs, in order, are (ballX-180)/180, (ballY-80)/80, ballVx/6, ballVy/6, (ownPaddleY-80)/80, (opponentPaddleY-80)/80. For the right player, reflect ballX about x=180 and negate ballVx before this normalization. Y and vy retain their signs. Negative observed vx means the ball is coming toward you.
- Both policies choose simultaneously from the same pre-tick state. Outputs in order mean move y by -2, 0, or +2. The largest score wins, with ties resolved in favor of the earliest output. Move both paddles and clamp their positions first, then advance the ball by (vx,vy).
- If the updated ball y is below 4, reflect it to 8-y. If it is above 156, reflect it to 312-y. In either case negate vy. Then check paddle contact when the ball has reached or crossed its destination plane.
- At contact let offset be updated ballY minus updated receiving paddleY. A miss (absolute offset greater than 15) ends the rally and awards one point to the other player. On a hit, snap x to the contact plane. Reverse vx with new magnitude s=min(13, abs(vx)+1). Set vy=round(9*s*offset/(15*13)), where half ties round toward positive infinity.
- Each rally starts with the ball at (180,80) and both paddles at y=80. The serve has abs(vx)=5 and abs(vy) between 0.89 and 1.33, with varied y directions and alternating receiving ends. A match has five rallies. A rally draws with no point after 1600 ticks or when a post-return physical state repeats. More points wins the match.
OneShot prompt · rules + tactical brief
Design a fixed neural network controller that wins as many matches as possible in the Pong variant below. Return the actual numeric weights and biases in one response.

Architecture: 6 → 12 → 4 → 3 → 3. Apply ReLU after every hidden layer; the three output scores are linear. Each dense layer computes output = W * input + b. Use only the listed layers. Return JSON {"layers":[{"weights":[[...]],"bias":[...]}, ...]}, ordered from input to output. Each weights matrix has one row per output neuron and one column per input to that layer. Include all coefficients and biases as finite numbers. Do not return code, formulas in place of numbers, or prose.

Rules:
- Coordinates are x along the length of a 360 by 160 court, and y across it. Each policy sees itself at the left end. The ball contacts the left paddle plane at x=15 and the right paddle plane at x=345. Paddle centers are limited to y=15..145. Each paddle has a half-width of 15 along y.
- The six inputs, in order, are (ballX-180)/180, (ballY-80)/80, ballVx/6, ballVy/6, (ownPaddleY-80)/80, (opponentPaddleY-80)/80. For the right player, reflect ballX about x=180 and negate ballVx before this normalization. Y and vy retain their signs. Negative observed vx means the ball is coming toward you.
- Both policies choose simultaneously from the same pre-tick state. Outputs in order mean move y by -2, 0, or +2. The largest score wins, with ties resolved in favor of the earliest output. Move both paddles and clamp their positions first, then advance the ball by (vx,vy).
- If the updated ball y is below 4, reflect it to 8-y. If it is above 156, reflect it to 312-y. In either case negate vy. Then check paddle contact when the ball has reached or crossed its destination plane.
- At contact let offset be updated ballY minus updated receiving paddleY. A miss (absolute offset greater than 15) ends the rally and awards one point to the other player. On a hit, snap x to the contact plane. Reverse vx with new magnitude s=min(13, abs(vx)+1). Set vy=round(9*s*offset/(15*13)), where half ties round toward positive infinity.
- Each rally starts with the ball at (180,80) and both paddles at y=80. The serve has abs(vx)=5 and abs(vy) between 0.89 and 1.33, with varied y directions and alternating receiving ends. A match has five rallies. A rally draws with no point after 1600 ticks or when a post-return physical state repeats. More points wins the match.

Design brief:
Allocate the neurons around a paddle target. When the ball approaches, estimate where it will reach your contact plane using its position and velocity, accounting for a wall bounce. When it departs, use a separate recovery target. On an incoming ball, use the opponent's position to choose a contact offset that makes the return harder to reach. Convert target error into the three action scores with a small stay zone.

Before emitting the weights, check the signs and scales on a straight incoming ball, a wall bounce, a departing ball, and the same incoming shot with the opponent on opposite sides. Return only the numeric matrices and biases.
ALSO IN FINDINGS · 1 OF 2Can training find the weights?See how a learned policy fares in exactly the same architecture as the programmed design.Explore training
PONG / LOCAL IMPORT

Import a model

Choose a self-contained ONNX file with six observations and three action scores: left, stay, right. Your weights stay in this browser. Model requirements

Assign to paddle
Download Quill