· Research AI
The Learning Decision Boundary: Worker Owns Research AI Verdicts
UI는 한국어입니다. 글 본문은 아직 영어 또는 중국어만 있습니다.
Research AI answers a different question than Google:
Should I spend time on this topic tonight?
That answer — Learn Now, Learn Later, Skip, or Delegate — must not drift between layers.
The rule
research-ai-worker → run_pipeline(), write v2:research:{hash}
research-ai-back-end → cache_get, enqueue, rate limits
research.xingai.app → render cached fields
We copied the lesson from Invest AI (ADR-012): one decision engine, one cache row.
What stays in the worker
- Verdict and one-sentence summary
- Sub-scores and Learning ROI (deterministic formula — see sibling post)
- 30-minute route, takeaways, ranked sources
- Discussions + knowledge graph enrichments
- Trending topic warm list
What FastAPI may do
Read SQLite KV, validate JSON, attach freshness metadata, enforce 3 live runs/day for anonymous users, sync saved library rows.
It does not call OpenAI to “fix” a cache miss on the request thread.
Why it matters for learning products
Without the boundary, a compare page could rank topic A above topic B using frontend math while the result page says the opposite. Share links would lie.
Users are allocating attention, not money — but the trust problem is the same.
Further reading: xingai-research-ai/docs/adr/002-decision-cache-boundary.md