Skip to content
Neaptidestudio
blog

How to set up Astra in Codex without wasting your usage allowance

Neaptide · September 20, 2026 · 13 min read · Updated: October 3, 2026

Choose Astra’s reasoning level, review project instructions and give Codex a clear task. Practical prompts, context limits and ways to track usage.

On this page
Diagram of Astra reasoning levels for typical coding tasks.

Codex finishes a form change, but the company name never reaches the sales email. It is too early to raise reasoning effort. First find out whether the agent knew about that requirement and had any way to verify delivery. Setting up Astra begins with a bounded task and a way to accept the result.

Before changing models, look at the instructions. Old project rules, an overly broad request or an unclear definition of “done” may be sending the agent off course. A more capable model still needs a clear brief.

Three changes are enough to begin with. Match reasoning effort to the task. Drop mandatory steps that don’t serve it. Describe a result you can verify. Then compare usage and rework on your own projects.

This article draws on the GPT-6 Astra walkthrough by Edvard Grishin, whose channel covers AI and business automation. The video is in Russian. We took the practical questions from it and checked the technical details against OpenAI’s documentation. The examples below are illustrative. None of them comes from a Neaptide client project.

Know which settings belong to the model and which belong to Codex

Astra is the model. Codex is the environment that gives it access to files and tools. Whether the agent can open a website, edit a project or run a check depends on that environment, its settings and its permissions.

So advice written for the API won’t always have a matching setting in the app. Nor does the model’s advertised context window tell you how much context is available in your current session.

If you’re new to Codex, start with our getting-started guide. Our GPT-6 Astra overview covers model capabilities and published benchmarks. This guide focuses on day-to-day work.

Match reasoning effort to the task

The Astra API supports five reasoning.effort levels: low, medium, high, xhigh and max. This setting controls how much effort the model spends reasoning. The controls available in a particular interface may differ.

There’s no need to select the maximum for every request. Start with familiar tasks whose results you can assess yourself. The table below suggests where to start comparing. It guarantees nothing about quality.

Suggested starting effort levels for testing Astra
TaskSetting to try firstWhat to check
Fix a typo or replace approved copyLowEvery intended instance changed; layout still works
Add a field to an existing formLow or MediumValidation, submission and storage all work
Diagnose an intermittent bugMedium, then High if neededThe cause can be reproduced and the fix has been checked
Plan a data migrationInclude High in your comparisonData loss, compatibility and rollback are addressed; a specialist reviews the plan

Low isn’t necessarily cheaper over the whole job. Three rounds of corrections after the first attempt can wipe out the saving. Higher effort doesn’t spare you the checking either, because a long chain of reasoning proves nothing about the answer.

Compare what it takes to finish a task you can sign off. Include waiting time, usage and your own work: how often did you have to explain the request again, find mistakes or send it back?

After an unsuccessful run, record the cause. If the agent did not know the field belonged in the email, clarify the requirement. If it missed the submission handler, supply its path or ask it to search. Try higher effort when the necessary information is available and the reasoning itself is difficult. Change one factor at a time.

Why was the result rejected?. Unclear outcome. Clarify acceptance. Missing information. Find relevant context. Difficult reasoning. Try higher effort. A decision tree for an unsuccessful run: editorial guidance, not measured performance of Astra effort levels.
A decision tree for an unsuccessful run: editorial guidance, not measured performance of Astra effort levels.

Check whether old rules are creating unnecessary work

Your project may have accumulated instructions such as “read the entire architecture before every edit” or “run every check after any change.” They may once have helped. Now a new integration and a changed heading trigger the same requirement.

OpenAI specifically recommends auditing AGENTS.md and skill files when using Astra, because the model is sensitive to their instructions. Conflicting rules can cause pauses and unnecessary approval requests.

A useful rule explains when and why an action is needed. For example:

Rewriting broad project rules for a specific task
Overly broad ruleMore precise rule for an example project
Read all documentation before every editBefore changing the form, read its field and submission documentation
Always ask before taking the next stepMake and check local changes independently; ask separately before publishing
Run every test after each changeWhen changing pricing logic, check calculations and checkout; run the project’s required checks before release

Don’t strip out testing requirements because a newer model supposedly “checks everything anyway.” Mandatory product checks and access restrictions stay. The rules to revise are the ones that impose the same amount of work whatever the task.

Use a request like this to review them:

Review the current project instructions and the skills in use.
Find repeated or conflicting rules and requirements that create
unnecessary work on small tasks.

For each issue, identify the file and rule, give an example of the
problem, and suggest revised wording.
Preserve requirements for security, data handling and mandatory checks.
Show your recommendations first. Do not change the rules yet.

There’s also a technical reason to keep instructions concise. Codex combines them from several files, with a default combined limit of 32 KiB. If you have extensive rules, check which ones actually loaded.

Define what finished work looks like

“Make the form easier to use” leaves too many decisions open. The agent might redesign it when the real problem is that enquiries aren’t reaching the sales team.

As a business owner, describe the customer journey and an outcome you can check. For example:

Add an optional “Company” field to the enquiry form on the service page.
Include its value in the email sent to the sales team.

The work is complete when:
1. The form submits with the field filled in or left empty.
2. The test email contains the company name entered.
3. The field and submit button fit within a mobile screen’s width.
4. Existing required fields are still validated as before.

Make local changes and run checks independently.
Use test data. Do not publish changes or email real customers.
Show the result and state what you checked and what you could not check.

Nothing here prescribes the code, and nothing needs to. What the brief does make clear is why the form is changing and how the work will be accepted. If the email service is unavailable, the agent should say so. A form that looks right tells you nothing about whether an email arrived.

Keep this structure as a reusable brief: task, expected behaviour, constraints, checks and the result to deliver. Fill in the details for each job.

The form example needs three pieces of evidence: the value appears in the interface, the server accepts it, and an email containing it reaches a test recipient. HTTP 200 confirms only one part of that path. If the final step is inaccessible, the report should name the unverified step.

From field to recipient. Form. Company entered. Server. Value accepted. Email. Test delivery received. Acceptance: verify the whole path. Three parts of one journey. Illustrative example: a successful server response does not establish email delivery.
Three parts of one journey. Illustrative example: a successful server response does not establish email delivery.

Expand context only when you have a reason

Context is the information the model works with in a request: conversation history, instructions, documents and tool results. A large window helps when the task genuinely requires comparing a lot of material. It doesn’t make irrelevant files useful.

Astra’s official model page lists a context window of 1,050,000 tokens. In the API, requests with more than 272,000 input tokens cost more: input and cache rates are multiplied by 2, and output rates by 1.5, for the entire request. These are API terms, not a formula for deducting your subscription allowance.

Before increasing context, review what you’re including. A form change needs the form’s code, validation rules and submission details. Old proposal drafts and a complete archive of working notes are unlikely to help.

For work spanning several days, maintain a short handover document: decisions made, files changed, checks completed and remaining tasks. When starting a new session, include the current source files alongside it. A summary doesn’t replace the evidence behind its conclusions.

Use subagents when the work can be split

A subagent is a separate helper assigned part of the main agent’s task. In a website review, one could inspect the enquiry form, another the catalogue search and a third the mobile menu. Each returns findings with steps to reproduce them.

OpenAI’s advice is to ask whether the tasks really are independent and to be careful with simultaneous file edits, which can conflict. Each agent also spends tokens on its own work, so adding agents will not by itself bring the cost down.

Several helpers are usually hard to justify for a small edit. For a larger review, give each a clear scope and expected output. Instead of “check the site,” try “check these three form-submission scenarios, list failures and reproduction steps, and do not edit the code.”

Once the findings are combined, check the complete journey. Three successful component reviews don’t establish that everything works together.

A dependency diagram makes delegation easier to judge. The menu check need not wait for the search check, and both sets of findings can be gathered independently. The complete customer journey can only be checked once the changes are combined. And two helpers editing the same form handler are no longer independent.

Which checks can run in parallel?. Shared task. Form. Search. Menu. Combine changes. Verify the complete journey. Independent checks converge on shared acceptance. This diagram shows dependencies, not a promised speedup.
Independent checks converge on shared acceptance. This diagram shows dependencies, not a promised speedup.

Track usage rather than relying on a budget prompt

The video suggests describing a budget in natural language. That can express a preference, but “stop when 25% remains” is no guaranteed spending control. For that, the agent would need current usage data and a way to stop in time.

Codex usage depends on the model, task complexity, context, tools and caching. OpenAI explicitly says prompt length alone is not a reliable estimate. Check the usage interface for current allowances and reset times.

Start a simple log for a few typical tasks:

A template for recording usage, revisions and completed work
TaskModel and effortUsage shown in available dataRevisionsResult accepted
Replace copy………Yes / no
Change a form………Yes / no
Diagnose a bug………Yes / no

This is a template for your own records. It contains no Neaptide measurements. If other tasks are running concurrently, you can’t attribute the entire change in your remaining allowance to one job. With the API, record usage per request. With a subscription, use the available detail and note its limitations.

Change one setting at a time. If you shorten the rules, change models and add helpers together, you won’t know which change made the difference.

Turn repeatable work into a regular automation

Suppose you receive a file of enquiries each week, standardise its column names and prepare a summary. The first time, an agent can help you understand the format and write the processing script. If the rules stay the same, later runs can simply use that script.

Decide in advance what should happen when there’s a new column, an empty file or an invalid date. Preserve the original file and report failures. Otherwise the automation will just produce wrong reports faster.

This doesn’t make the process free: running it, using external services and maintaining it still have costs. It does remove the need to ask a model to devise the same processing steps every week. Bring the agent back when the data or requirements change.

Start with one familiar task

For the next familiar task, record acceptance criteria, available context and the starting reasoning effort. After reviewing the result, change only the factor that explains the failure. Several such comparisons tell you more than always selecting maximum effort or asking the agent to “spend less”.

Sources and verification

Technical sources and calculations checked on October 3, 2026. Scenarios and diagrams are illustrative Neaptide examples; no comparative product benchmarks were performed.

faq

The short version

Should Astra always run on Low?

No. Try Low for a small, well-defined task that is easy to verify. For difficult diagnosis, compare higher levels. Choose based on the accepted result and the total cost of revisions.

Can I remove all testing rules from AGENTS.md?

Keep the project’s mandatory checks. Revisit overly broad instructions that demand the same steps for correcting a typo and changing business logic.

Is a maximum budget in the prompt enough?

No. It doesn’t guarantee a spending cap. Check the usage tracking and spending controls available in your product. Instructions can supplement those controls but cannot replace them.

Will several agents do the job more cheaply?

Not necessarily. They may save time on independent tasks, but each does its own work and combining results takes effort. Measure any saving in the actual workflow.

Should I move all work to Astra?

Start with tasks that previously needed substantial rework. For simple, recurring operations, compare a less expensive model or an existing automation. You don’t have to use one model for every job.