frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: UltraContext – A simple context API for AI agents with auto-versioning

https://ultracontext.ai/
15•ofabioroma•8h ago
Hey HN! I'm Fabio and I built UltraContext, a simple context API for AI agents with automatic versioning.

After two years building AI agents in production, I experienced firsthand how frustrating it is to manage context at scale. Storing messages, iterating system prompts, debugging behavior and multi-agent patterns—all while keeping track of everything without breaking anything. It was driving me insane.

So I built UltraContext. The mental model is git for context:

- Updates and deletes automatically create versions (history is never lost)

- Replay state at any point

The API is 5 methods:

  uc.create()   // new context (can fork from existing)
  uc.append()   // add message
  uc.get()      // retrieve by version, timestamp, or index
  uc.update()   // edit message → creates version
  uc.delete()   // remove message → creates version
Messages are schema-free. Store conversation history, tool calls, system prompts—whatever shape you need. Pass it straight to your LLM using any framework you'd like.

What it's for:

- Persisting conversation state across sessions

- Debugging agent behavior (rewind to decision point)

- Forking contexts to test different flows

- Audit trails without building audit infrastructure

- Multi-agent and sub-agent patterns

What it's NOT:

- Not a memory/RAG system (no semantic search)

- Not a vector database

- Not an Orchestration/LLM framework

UltraContext handles versioning, branching, history. You get time-travel with one line.

Docs: https://ultracontext.ai/docs

Early access: https://ultracontext.ai

Would love feedback! Especially from anyone who's rolled their own context engineering and can tell me what I'm missing.

Comments

ofabioroma•8h ago
Founder here. Happy to answer questions.

Quick backstory: every agent project I worked on, I spent more time on context infrastructure than the actual product. Same pattern—duct-tape a store, lose history, debug blind when things broke.

The "aha" was needing git semantics for a project where users wanted to edit messages while still being able to travel back. So that's what I built: immutable history, branch on change, rewind to any commit. But I didn't want to expose that complexity. So the API is just contexts and messages. Versioning happens automatically.

Still early. What context engineering problems are you hitting with your agents?

justinlords•8h ago
I don't get it. Why wouldn't I just use a Vector DB (Pinecone/Weaviate) for this? Just retrieve relevant chunks and stick them in the prompt. Feels like you're reinventing the wheel here.
ofabioroma•8h ago
Great question. They solve different problems.

Vector DBs are great for retrieval: "find relevant chunks to add to the prompt." But they're not designed for state management. When you update a message, there's no version history. When something breaks, you can't rewind to see exactly what the agent saw.

UltraContext manages the structured context (conversation history, tool calls, system prompts) with git semantics. Fork, rewind, merge. You can't git revert a vector embedding.

They're complementary. You'd use a vector DB to decide what goes in the context, and UltraContext to manage what's already there.

simonrogge•8h ago
Adding an API call between my Agent and the LLM seems like it would kill latency. How much overhead does this add vs just managing the list locally?
ofabioroma•8h ago
~20ms overhead. Built on Cloudflare's edge, so it's fast globally. The value isn't speed—it's that you stop rebuilding context infrastructure and get versioning/debugging for free.
nicklo•1h ago
i've always wondered (for this, portkey, etc) - why not have a parallel option that fires an extra request instead of mitm the llm call?
ofabioroma•1h ago
You can fire them in parallel for simple cases. The issue is when you have multi-agent setups. If context isn't persisted before a sub-agent reads it, you get stale state. Single source of truth matters when agents are reading and writing to the same context.

For single-agent flows, parallel works fine.

felipexy•7h ago
This may interesting for agent orchestration. Can I use it to make multiple agents interact and save this context as a separate tree?
ofabioroma•6h ago
Yes. That's a core use case. You can either use a separate tree or even nest contexts. It's very powerful for sub-agents like the one Claude Code has built in with the Explore and Task subagents

On UltraContext, you'll do it like this:

// Shared context all agents read/write to

await uc.append(sharedCtx, { agent: 'planner', content: '...' })

await uc.append(sharedCtx, { agent: 'researcher', content: '...' })

// Or fork into separate branches per agent

const branch = await uc.create({ from: sharedCtx, at: 5 })

Schema-free, so you can tag messages by agent, track provenance in metadata, and branch/merge however you want. Full history on everything.

SimplyLiz•5h ago
This is really well thought out. The git-like versioning approach for memory artifacts is something I’ve been advocating for after spending way too much time debugging agent state issues.

I’ve been working on AI memory backends and context management myself and the core insight here — that context needs to be versionable and inspectable, not just a growing blob — is spot on.

Tried UltraContext in my project TruthKeeper and it clicked immediately. Being able to trace back why an agent “remembered” something wrong is a game changer for production debugging.

One thing I’d love to see: any thoughts on compression strategies for long-running agents? I’ve been experimenting with semantic compression to keep context windows manageable without losing critical information. Great work, will be following this closely.

ofabioroma•3h ago
For now, I’m intentionally keeping UltraContext as unopinionated as possible, since every application has different constraints and failure modes.

The goal is to focus on the core building blocks that enable more sophisticated use cases. Compression, compaction, and offloading strategies should be straightforward to build on top of UC rather than baked in at the core layer.

Findkar•2h ago
How we manage agentic memory is going to be key in scaling the future of agents. I'm curious how this scales with larger datasets? Like let's say an agent has to keep 5 parallel conversations, across 5 different social media acccounts, and each of the conversations is 10000 messages long. How would it manage parsing through huge DBs like that? or is it more for like more recent context?

Also, let's say an agent runs like 1000s of times, would each of those times become a version history?

I'm particularly interested in how parsing through agent context would work!

ofabioroma•50m ago
Great questions.

On scaling: appends don't create versions, only updates and deletes do. So for your 10k message conversations, uc.get() is O(n) reads. Standard database scaling. The versioning overhead only kicks in when you're actually mutating context, and even then we handle the optimization so you don't have to think about it.

On version history: each agent run doesn't create a version. Versions are created when you update or delete a message. So if your agent appends 1000 messages across 1000 runs, that's just 1000 appends. No version explosion.

Time travel (rewinding to a specific point) is also O(n). This was my personal main bottleneck when deploying B2C agents, so the API is heavily optimized for it.

For your 5 accounts x 5 conversations setup: you'd have 25 separate contexts. Each scales independently. Parse through them however you want, filter by metadata, retrieve by timestamp or index.

handfuloflight•1h ago
What about context loaded in from tool calls?
ofabioroma•1h ago
You can load context from wherever you want (including inside other contexts and/or external tools), just uc.get() your way into the context. You can use metadata to filter your tool calls. You pick whatever structure works best for you. UltraContext is just the building blocks for your app! What are you building?
stuartjohnson12•1h ago
Lots of comments here from new accounts.
zk_haider•56m ago
What about privacy does this imply storing messages in your layer?
ofabioroma•40m ago
Yes, messages are stored on our infrastructure

For sensitive use cases, I'm exploring a few options: client-side encryption, data anonymization, or a local-first deployment where context never leaves your infra. Not there yet, but it's on the roadmap.

What's your use case? Happy to chat about what privacy guarantees you'd need.

Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

https://github.com/ChartGPU/ChartGPU
452•huntergemmer•8h ago•139 comments

Show HN: TerabyteDeals – Compare storage prices by $/TB

https://terabytedeals.com
35•vektor888•2h ago•27 comments

Claude's new constitution

https://www.anthropic.com/news/claude-new-constitution
239•meetpateltech•7h ago•200 comments

Golfing APL/K in 90 Lines of Python

https://aljamal.substack.com/p/golfing-aplk-in-90-lines-of-python
28•aburjg•5d ago•1 comments

Brain on ChatGPT: Accumulation of Cognitive Debt When Using an AI Assistant

https://www.media.mit.edu/publications/your-brain-on-chatgpt/
16•misswaterfairy•45m ago•7 comments

Skip is now free and open source

https://skip.dev/blog/skip-is-free/
234•dayanruben•8h ago•82 comments

Challenges in join optimization

https://www.starrocks.io/blog/inside-starrocks-why-joins-are-faster-than-youd-expect
30•HermitX•6h ago•4 comments

The WebRacket language is a subset of Racket that compiles to WebAssembly

https://github.com/soegaard/webracket
73•mfru•4d ago•16 comments

Show HN: Rails UI

https://railsui.com/
86•justalever•4h ago•58 comments

Jerry (YC S17) Is Hiring

https://www.ycombinator.com/companies/jerry-inc/jobs/QaoK3rw-software-engineer-core-automation-ma...
1•linaz•2h ago

Letting Claude play text adventures

https://borretti.me/article/letting-claude-play-text-adventures
55•varjag•5d ago•20 comments

Show HN: RatatuiRuby wraps Rust Ratatui as a RubyGem – TUIs with the joy of Ruby

https://www.ratatui-ruby.dev/
25•Kerrick•4d ago•3 comments

Three types of LLM workloads and how to serve them

https://modal.com/llm-almanac/workloads
22•charles_irl•7h ago•1 comments

Setting Up a Cluster of Tiny PCs for Parallel Computing

https://www.kenkoonwong.com/blog/parallel-computing/
20•speckx•4h ago•5 comments

Mystery of the Head Activator

https://www.asimov.press/p/head-activator
6•mailyk•3d ago•0 comments

TrustTunnel: AdGuard VPN protocol goes open-source

https://adguard-vpn.com/en/blog/adguard-vpn-protocol-goes-open-source-meet-trusttunnel.html
38•kumrayu•6h ago•9 comments

Waiting for dawn in search: Search index, Google rulings and impact on Kagi

https://blog.kagi.com/waiting-dawn-search
189•josephwegner•5h ago•127 comments

Stevey's Birthday Blog

https://steve-yegge.medium.com/steveys-birthday-blog-34f437139cb5
4•throwawayHMM19•1d ago•1 comments

Tell HN: 2 years building a kids audio app as a solo dev – lessons learned

19•oliverjanssen•9h ago•15 comments

SIMD programming in pure Rust

https://kerkour.com/introduction-rust-simd
31•randomint64•2d ago•10 comments

Slouching Towards Bethlehem – Joan Didion (1967)

https://www.saturdayeveningpost.com/2017/06/didion/
48•jxmorris12•5h ago•2 comments

Open source server code for the BitCraft MMORPG

https://github.com/clockworklabs/BitCraftPublic
25•sfkgtbor•6h ago•7 comments

Scientists find a way to regrow cartilage in mice and human tissue samples

https://www.sciencedaily.com/releases/2026/01/260120000333.htm
228•saikatsg•5h ago•62 comments

Show HN: Grov – Multiplayer for AI coding agents

https://github.com/TonyStef/Grov
18•tonyystef•1h ago•8 comments

Can you slim macOS down?

https://eclecticlight.co/2026/01/21/can-you-slim-macos-down/
151•ingve•15h ago•198 comments

Nested code fences in Markdown

https://susam.net/nested-code-fences.html
172•todsacerdoti•10h ago•59 comments

I finally got my sway layout to autostart the way I like it

https://hugues.betakappaphi.com/2026/01/19/sway-layout/
13•__hugues•14h ago•4 comments

TeraWave Satellite Communications Network

https://www.blueorigin.com/news/blue-origin-introduces-terawave-space-based-network-for-global-co...
106•T-A•4h ago•75 comments

Show HN: Semantic search engine for Studio Ghibli movie

https://ghibli-search.anini.workers.dev/
11•aninibread•9h ago•6 comments

JPEG XL Test Page

https://tildeweb.nl/~michiel/jxl/
153•roywashere•6h ago•107 comments