
The Latest
Everything published on the site, day by day, newest first: guides, analysis, essays and quick thoughts in one running log. The shelves for browsing are elsewhere; this is where you see what is new.
The log
Entries 1–18 of 18
Measure Where the Waiting Time Actually Goes
The model may not be the slowest part of your AI workflow. Retrieval, tool calls and repeated validation attempts can consume most of the waiting time.Quick thoughtopenailatencyUse Batch Work Only When the Deadline Fits
An overnight document-classification job and a live customer conversation have different timing needs. Choose the API workflow around the deadline.Quick thoughtopenaibatch-processingMatch Batch Results by Identifier, Not Position
A batch job can return results in an order different from your input list. Joining by row position risks assigning one answer to another document.Quick thoughtopenaibatch-processingMeasure Cache Hits Instead of Assuming Them
Two requests can look similar to a person while failing to reuse a cached prefix. Measure the actual usage data.Quick thoughtopenaiprompt-cachingPut Stable Instructions Before Changing Inputs
If many API requests share the same instructions, keep that stable material together. Changing text at the start of every request can prevent useful…Quick thoughtopenaiprompt-cachingGive a Tool Failure a Shape the Agent Can Use
A tool response that says only “something went wrong” leaves the next action to guesswork. Return a contained error that distinguishes useful recovery cases.Quick thoughtopenaitool-callingTreat Retrieved Text as Evidence, Not Permission
A retrieved document can contain instructions that have nothing to do with the user's task. Its presence in a tool response does not give it authority.Quick thoughtopenaitool-callingSeparate a Proposed Action From an Executed One
“Prepare a refund” and “issue a refund” are different operations. Your tool interface should make that distinction visible.Quick thoughtopenaitool-callingValidate Tool Arguments Before Doing the Work
A model's tool call is a request for your application to act. Validate that request before passing it to a database or service.Quick thoughtopenaitool-callingMake Your Prompt Examples Agree With the Rule
An example can quietly contradict the instruction above it. The model then has two different versions of the job to follow.Quick thoughtopenaipromptingRemove Irrelevant Context Before Buying More
A longer context window does not make every document relevant. Extra material can make it harder to see which source supports a decision.Quick thoughtopenaipromptingGive a Reasoning Model a Clear Destination
A difficult task benefits from a clear outcome and constraints. A long prompt full of instructions to “think harder” may add little useful information.Quick thoughtopenaipromptingRecord the Model Alongside the Prompt
A saved prompt is not a complete experiment record. The model, relevant settings and test inputs can all affect the result.Quick thoughtopenaievaluationWrite the Evaluation Before Tuning the Prompt
Prompt tuning is hard to assess when the definition of “better” changes after every answer. Freeze a small acceptance set first.Quick thoughtopenaievaluationA Valid JSON Object Can Still Be a Wrong Answer
Structured output can make a model response easier to parse. It cannot tell you whether the invoice number or amount was extracted correctly.Quick thoughtopenaistructured-outputTest a Model on the Exceptions You Actually See
A model can handle ordinary support tickets well and still fail on the exceptions that consume most of your team's time.Quick thoughtopenaievaluationGive an Automated Codex Report a Schema
A report that feeds another program needs stable fields. A heading that changes from “Risks” to “Things to watch” can break a fragile text parser.Quick thoughtcodexstructured-outputThat is the first entry in the log.
To browse rather than follow: topics, all articles and all thoughts. To learn in order: courses and the book.