← All posts

How I Keep GPT-5.6 Sol From Solving the Wrong Problem

The model is not weak. The contract around the task is.

An angular path turning into a dark corner beside a bright open doorway
A precise path can still lead to the wrong destination.

When GPT-5.6 Sol arrived, the benchmark charts made the story look simple: OpenAI had a frontier model within one index point of Claude Fable 5 at roughly half the estimated cost.

The official model page calls Sol OpenAI's frontier model for complex professional work. It has a 1.05-million-token context window, supports a broad Responses API tool set, and costs $5 per million input tokens and $30 per million output tokens at the standard short-context rate.

Those numbers tell me what the model can hold and what a run may cost. They do not tell me how it behaves when my instruction is incomplete, slightly contradictory, or aimed at the wrong proxy.

My shortest description is this: Sol is remarkably persistent, and it is unusually sensitive to the exact target I give it.

When the target is right, that is a superpower. When the target is wrong, Sol can spend serious intelligence perfecting the wrong thing.

I call that behavior literal overfitting. It is not a scientific diagnosis or an official model property. It is the working name I use for a pattern I keep meeting in real projects.

Benchmarks do not show operating style

A leaderboard compresses a model into one number. Real work is an interaction between the model, the prompt, the tools, the approval policy, the test harness, and the state left by earlier turns.

That is why two models with similar scores can feel completely different inside the same project. One may recover well from vague goals. Another may be better once the goal is already sharp. A benchmark can estimate a ceiling. It does not write your operating manual.

The same caution applies to price. Claude Fable 5 currently lists at $10 per million input tokens and $50 per million output tokens. Sol is cheaper, but it is not a penny model: its input is half the price and its output is 40 percent lower. Caching, reasoning effort, long context, and failed runs can change the real bill.

So I do not read the published profiles as proof that one model replaces the other. I use them to decide where each model's cost and behavior fit my workflow.

Fig. 01The real benchmark chart
OpenAI chart showing Artificial Analysis Intelligence Index v4.1 score against estimated API cost for GPT-5.6 Sol, Terra, and Luna, GPT-5.5, Claude Fable 5 and Opus 4.8, and Gemini models
OpenAI's 9 July 2026 launch chart, using the independent Artificial Analysis Intelligence Index v4.1. Fable 5 leads Sol by one index point; Sol reaches that neighborhood at roughly half the estimated cost. The chart measures capability and cost, not how either model reads an imperfect brief.

What Sol is genuinely good at

My graduate training is in statistics. Pure mathematics was never my strongest subject. I can follow a useful derivation, but I am not the person who casually invents one from first principles over lunch.

Recently, I hit an ugly numerical edge case in a software project. A shortcut that worked in the normal case broke inside a multidimensional optimization loop. I knew enough to see that the result was wrong, but not enough to see the cleanest route out.

I gave Sol the assumptions, the failed approach, small test cases, and a result it had to reproduce. It proposed a derivation, found a contradiction in one branch, changed the formulation, and tested the new version against the edge cases. The visible work kept moving instead of collapsing into a confident first answer.

By the end of the afternoon, I had a result I could test in code. Sol did not turn me into a mathematician. It let the investigation stay alive long enough to reach something verifiable.

That is where I trust it most: long technical paths with a clear target and a hard check at the end. Sol is very good at continuing after the easy ideas fail.

What I mean by literal overfitting

Literal overfitting is what happens when the wording becomes a better target than the outcome behind it.

Say I ask for a minimal implementation. I mean: no speculative architecture, but the main user path must work. A literal optimization can hear: minimize files, code, checks, and features. The result may be beautifully small and practically useless.

The same thing happens with words such as precise, safe, or do not assume. Each sounds harmless. Repeated often enough, one local instruction can become the center of the task.

In one isolated configuration task, I used sol as shorthand for the model profile I wanted. The run treated it as the literal string value. That was a tiny mistake, but it exposed the larger pattern: the nearest syntactic interpretation beat the project context.

My Daybreak Blue sessions showed a more serious version. The model alias stayed the same, but the inherited base instructions changed. The later instructions repeated stronger stop conditions, and the work produced more approval loops and defensive prose. The model did not need to become less intelligent. The controller gave its intelligence a different target.

OpenAI's current GPT-5.6 guidance now warns about this exact prompt-level failure mode. It says that repeating instructions such as ask first or wait for approval can cause unnecessary approval requests for safe work.

That does not prove Sol has no common sense. It proves something more useful: capability does not rescue a badly shaped objective.

Fig. 02One phrase, two possible targets
Instruction“Keep it minimal.”
Surface proxyUse the fewest files and checksSmall, but incomplete
User outcomeKeep the full workflow usefulSimple, complete, testable
The prompt needs to say which kind of simplicity wins. Otherwise the easiest measurable proxy can replace the actual job.

My first fix was also wrong

My first instinct was to cure literalism with a giant system prompt.

I wrote rules for user value, rules against over-engineering, rules for self-reflection, rules for semantic context, and rules explaining the other rules. It felt thorough. It was also exactly the kind of instruction pile that gives a literal model more phrases to optimize and more chances to find a conflict.

OpenAI's guidance for GPT-5.6 points in the other direction. In its internal coding-agent evaluations, leaner prompts improved scores by roughly 10 to 15 percent while cutting total tokens by 41 to 66 percent. OpenAI calls those numbers directional, not universal, but the design lesson is clear: state each rule once and remove repeated instructions.

The cure is not more words. It is a smaller contract with a visible goal, a priority order, and checks that decide whether the work is done.

The prompt contract I use now

My useful Sol prompts now contain five things: the user-visible goal, the definition of done, the allowed scope, the priority order, and a loop breaker.

A compact task contract for SolTEXT
GOALDeliver <one user-visible outcome>. DONE WHEN- <observable result one>- <observable result two>- <required test or evidence> SCOPE- Change: <allowed files, systems, or behavior>- Do not change: <real non-goals> PRIORITY1. The complete primary workflow2. Correctness and safety3. Simplicity and maintainability4. Polish LOOP BREAKERIf the same approach fails twice, stop changing small parameters.Summarize the evidence and choose a materially different approach. VALIDATERun <tests or checks>. Report what passed and what remains.

The priority order matters. Minimal no longer floats alone. Simplicity comes after a complete path and a correct result, so Sol cannot win by deleting the thing the user needed.

The loop breaker is also observable. I do not ask the model to reveal private reasoning or perform a dramatic self-therapy ritual every five steps. I give it a clear event: the same approach failed twice. That is the moment to change strategy instead of polishing the same dead end.

Most importantly, the contract ends with tests. Sol is at its best when the final judge is not Sol saying that the work looks good.

I separate framing from execution

For vague, high-level work, I often use Claude Fable 5 to frame the problem first. It is good at turning a messy idea into a boundary: what matters, what does not, where the project stops, and which tradeoffs need a human decision.

Then I turn that plan into the short contract above and give the implementation to Sol. Sol gets the narrow target, the repository, the tools, and the tests. It can spend its persistence on the hard part without having to invent the product boundary at the same time.

This is a workflow choice, not a claim that Fable cannot execute or Sol cannot plan. Anthropic describes Fable as a long-running model that plans across stages and checks its own work. OpenAI describes Sol as a frontier model for complex professional work. Both are broad systems.

I am deliberately assigning different jobs because the handoff makes my own work easier to inspect. Fable produces the map. The contract turns the map into an executable boundary. Sol digs inside it. Tests decide whether the result is real.

The orchestrator can be a human, a script, or any agent setup that can hand a plan and its evidence to another model. I keep this workflow product-agnostic. The contract matters more than the wrapper.

Fig. 03The handoff I can inspect
  1. 01Fable

    Frame the problem

    Scope + tradeoffs
  2. 02Contract

    Make intent executable

    Goal + tests
  3. 03Sol

    Implement deeply

    Working system
  4. 04Verifier

    Judge the result

    Evidence
These are assigned roles, not fixed model limits. The contract and the tests make the transfer inspectable.

A real prompt: duplicate images without deleting memories

Consider the request: Write a simple script to find duplicate images in a folder. Keep it minimal.

The sentence leaves almost every important decision open. Does duplicate mean the same bytes, the same pixels, or visually similar images? Should the program report, move, or delete? What happens to corrupt files? A short script can satisfy the sentence while missing the actual job.

I would give Sol this instead:

Image deduplication contractTEXT
GOALFind exact and visually similar images without risking the originals. DONE WHEN- Exact duplicates are grouped by SHA-256.- Near-duplicates are listed separately using perceptual hashes.- The default mode writes a report and changes no files.- An optional review mode copies candidates to a review folder. SAFETYNever delete or overwrite an original file.Handle corrupt images and permission errors without stopping the scan. VALIDATETest exact copies, resized images, unrelated same-size files,corrupt images, and a read-only directory.

Now Sol's depth has somewhere useful to go. It can compare hash choices, tune the perceptual threshold, test false matches, and handle filesystem failures. The prompt does not tell it how many files to create. It tells it what must be true when the work is finished.

That is the difference between steering intelligence and decorating a request with adjectives.

Give the genius a contract

I no longer think of Sol as a junior engineer, a golden retriever, or a machine with no common sense. Those metaphors are funny, but they hide the part I can actually control.

Sol is a powerful optimizer with a long attention span. It will work very hard on the objective that survives the prompt, the tools, and the tests.

A benchmark tells me the ceiling may be high. A good task contract points that capability in the right direction.

Give Sol one visible goal, real non-goals, a priority order, a loop breaker, and tests it cannot talk its way around. Then let it dig.

SourcesOpenAI: GPT-5.6 launch benchmarks and comparison tableOpenAI: GPT-5.6 Sol model profile and pricingOpenAI: GPT-5.6 model and prompting guidanceAnthropic: Claude Fable 5 profile and pricing

By Jing Qian (Civitasmass)Permanent link