neurostuff / neurostuff/autonima

Abstract screening: output is 88% of the stage's cost, and it is all written justification

Open
#69 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
4
Forks
1
Avg merge
12h 56m
Merged PRs (30d)
2

Description

Abstract screening spends most of its money on prose the pipeline rarely reads back.

Measured

Abstract screening, over 708 calls (vbm_of_ptsd and vbm_of_substance_use, with the token accounting from autonima/llm/usage.py):

tokens/call rate cost/call
input 1,007 $0.25/1M $0.00025
output 1,034 $2.00/1M $0.00207

Output is 88% of the stage's cost, and abstract screening is ~26% of a project's total. The stage emits more output than input — the driver is the written reason field, not the abstract.

Capping reasons at roughly 200 tokens would cut abstract-stage cost by ~72%, or about 19% of a whole project.

But do not just truncate them

Those reasons are a genuine asset. Classifying 6,835 full-text exclusion reasons is what established that 82% cite a fact a structured schema field could carry — the analysis behind the evidence-layer work in the validation write-up. Throwing that away to save $4 a project would be a bad trade.

Suggested shape

Make verbosity conditional rather than uniform:

  • full reasoning on exclusions and on low-confidence decisions, where the justification is doing real work (audit trail, PRISMA, error analysis);
  • one line on confident inclusions.

Most abstract decisions are confident excludes... which is exactly the bucket worth keeping verbose. So the saving is smaller than 19% in practice, and the right split needs checking against the actual confidence distribution before committing to it. An alternative worth considering is keeping the reason but dropping the restatement of criteria IDs already captured in inclusion_criteria_applied / exclusion_criteria_applied, which is duplicated structured data rendered as prose.

Scope

Same pattern likely applies to full-text screening (1,211 output tokens/call) and annotation (4,424), but there output is a much smaller share of cost because input dominates, so abstract is where it matters.

Related

#67 and #68 address the input side of the same bill. Together the three are on the order of 35-40% of project cost.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with autonima/llm/usage.py to understand the existing token accounting, then trace how abstract-screening reasons and confidence decisions are produced. Compare the confidence distribution and duplicated criteria fields before choosing conditional verbosity. Done means preserving useful exclusion and low-confidence reasoning while reducing unnecessary output and measuring the cost change.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.