Know which data actually makes your AI better.
Measure which documents, examples, policies, and conversations improve your agent. Rank them by impact and cost, then put each where it belongs.
curl -sSfL https://raw.githubusercontent.com/uknoAI/kno/main/install.sh | sh- Single Go binary
- No infrastructure
- Works with your existing evals
- OpenAI-compatible endpoints
- Anthropic
- exec: your own agent
- Local fake agent — free
- Budget guarded
- Apache-2.0
ASSET IMPACT DECISION
new_refund_policy.md +18% keep → knowledge base
example_42.json +7% keep → context
example_91.json +1% reject
old_refund_policy.md -9% reject → harmfulIllustrative example. Real runs report the same shape — ASSET, DELTA, decision — with each delta carrying its 95% confidence interval, a control reading, and a rejection reason.
You're measuring your models. Why aren't you measuring your data?
Agent teams route data constantly — put it in RAG, add it to context, fine-tune on it — with intuition as the decision method. Product docs, support conversations, policies, examples: lots of data, very little evidence about which of it actually helps. Kno treats data as an experimental variable and turns each of those decisions into a measured experiment.
- Documents────────►RAG
- Examples────────►Context
- Conversations─────►Fine-tuning
- Policies──────────►???
DECISION METHOD / INTUITION
- Data─────►KNO─────►impact
- ├──►confidence
- ├──►cost
- ├──►destination
- └──►keep / reject
Know what helps. Know what hurts. Know what it costs.
- 01
Know what helps
Measure the marginal impact of each candidate asset against your own evals.
- 02
Know what hurts
Find contradictory and harmful data — and regressions other tools miss — before they reach production.
- 03
Know what it costs
Compare improvement against inference cost. Ranking is per dollar, not per point.
- 04
Know where it belongs
Context, knowledge base, or tuning set — every selected asset gets a destination, not just a score.
- 05
Know what's missing
Export reports the gaps: cases your current data cannot move, measured as GAP / UNKNOWN.
Metric samples are illustrative; real runs report each delta with its 95% confidence interval.
Every piece of agent data should earn its place.
A valuation answers one question per asset: keep it, drop it, or move it — with the measured delta that justifies the decision.
ASSET DELTA (95% CI, positive = goal dir) CONTROL NOTE
brand-guide +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered)
refund-example-17 +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered)
refund-policy-v3 +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered)The deltas read 0.0000 because the free local agent answers every case with what the case expects — the point is proving the loop: routing, injection, fresh controls, intervals. Point it at a real provider and the numbers start meaning something.
Five stages. One question each.
Kno treats data as an experimental variable. Each stage answers a single question about your agent and the assets you feed it — and each stage is recorded so the report can show its work.
01BaselineshippedHow good is the agent now?
Run the agent over your dev cases, score against your goal, persist every result. A holdout is sealed here; nothing reads it until validate.
02ValueshippedWhich assets improve it?
Route each asset to the slices it could affect, inject it, re-measure against fresh controls, record the delta with a confidence interval.
03SelectshippedWhich combination should I keep?
Build a portfolio under budget with a rejection log; every keep/reject decision at a Bonferroni-corrected interval.
04ValidateplannedDoes the combination still work on untouched evals?
Measure the portfolio as a set against the sealed holdout.
05ExportshippedWhere should each asset go?
Render selected assets into the destination grammar: context pack, knowledge-base manifest, or tuning-set JSONL.
Answers to questions you already have
- 01Which examples deserve space in my context window?
- 02Which conversations should I fine-tune on?
- 03Which data is actively hurting my agent?
- 04Is this policy actually improving my agent?
- 05Which documents should go into my RAG system?
- 06Which data is redundant?
- 07Which knowledge sources actually help my support agent?
Your eval framework measures the agent. Kno measures the data feeding it.
Kno does not replace your evals — it uses them. Existing evals tell you whether your agent got better or worse. Kno uses those evals to determine why a particular data asset changes the outcome, and whether that asset is worth keeping.
| Capability | Eval framework | Kno |
|---|---|---|
| Model performance | ✓ | uses |
| Prompt performance | ✓ | uses |
| Asset-level impact | — | ✓ |
| Marginal data value | — | ✓ |
| Data cost | — | ✓ |
| Destination selection | — | ✓ |
| Portfolio validation | — | ✓ |
From zero to your first valuation
Four steps, no API keys, no spend. The default agent is a local fake that costs nothing, so you can see the whole loop work — routing, injection, controls, intervals — before pointing Kno at anything that bills you.
Write some cases
One scoreable interaction per line, each with a stable id.
printf '{"id":"refund-01","input":"How do I get a refund?","expected":"Refunds are processed within 5 business days."}\n' > cases.jsonlMeasure the agent as it is today
The reference every later number is compared against. Kno seals a holdout here — nothing reads it until validate.
kno baseline --evals cases.jsonlkno — measure the agent as it is todayoutput Baseline 20260821T091515-ffc3097d49da cases 44 scored, 0 errored (of 44 dev; 6 held back) score 1.000 spent $0.00 over 44 call(s) status completed warning: the holdout has only 6 cases, too few for a meaningful confidence interval at validateWrite a pool of candidate assets
The documents, examples, and policies you are considering adding.
printf '{"id":"refund-policy-v3","content":"Refunds are processed within 5 business days.","kind":"knowledge"}\n' > pool.jsonlValue them
Each asset is injected into the slices it could affect, re-measured against controls, and reported with an interval. The deltas read zero because the fake agent answers every case with what the case expects — the point is proving the loop, not the asset.
kno value --evals cases.jsonl --pool pool.jsonl --baseline-run-id <run id>kno — value themoutput Planning 150 measurements over 3 assets against baseline 20260821T091515-ffc3097d49da. Value run 20260828T233124-05cda2dcdac6 (RUN_STATUS_COMPLETED) ASSET DELTA (95% CI, positive = goal dir) CONTROL NOTE brand-guide +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered) refund-example-17 +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered) refund-policy-v3 +0.0000 [-0.1260, +0.1260] low -0.1938 (underpowered)
The quickstart costs nothing. Point Kno at a real provider — any OpenAI-compatible endpoint or Anthropic — with --agent and a budget cap, and the numbers start meaning something.

Questions engineers actually ask
Kno is deliberately opinionated about experimentation. The short answers, from the source.
Does Kno replace my eval framework?
Does Kno send my data somewhere?
What happens to traces?
Can it accidentally spend unlimited API money?
Are the results statistically meaningful?
What providers work?
Do I need infrastructure?
Kno is designed to be extended
Adapters bring new data sources, judges add evaluation logic, goals add optimization targets, providers connect agent runtimes — and the core measurement loop itself is open. Pick the surface that matches how deep you want to go.
Adapters
Bring another data source. Langfuse, LangSmith, and Braintrust eval adapters, CSV and Markdown pools, and a full Zendesk recipe already ship — the pattern transfers to any stack that can export data.
Judges
Add evaluation logic so Kno can score a new kind of case.
Goals
Add an optimization target for the select stage.
Providers
Connect a new agent runtime.
Core
Improve the valuation engine itself — plan first, review adversarially, then code.
Kno is early. Help define what comes next.
The measurement loop ships — baseline, value, select, export, and report are real, as is kno mine for building evals from production transcripts. Validate is next. Everything here is transparent on purpose, including the debt.
| Stage | Status |
|---|---|
baseline | Shipped |
value | Shipped |
select | Shipped |
validate | Planned |
export | Shipped |
report | Shipped |
Stop guessing which data makes your agent better.
Install the binary, run the quickstart, and get your first valuation in minutes — without spending API money.
curl -sSfL https://raw.githubusercontent.com/uknoAI/kno/main/install.sh | sh