the context layer for your agent's tools and skills. less cost, more accuracy.

Joined May 2026
Pinned Tweet
We just made agents 7x cheaper to run Today we're releasing Ratel Right now your agent loads all the tools and skills you own to do one small task Ratel loads only what that task needs See how it works ↓
288
73
180
575
405,719
your agent burned through tokens. cool. what did it actually accomplish? cost, latency, and execution volume only tell part of the story. Ratel brings those numbers together so you can start figuring out where the work is going. 🦡
23
Your AI agent can finish a run without actually finishing the job. Every tool might execute successfully, and the final response can still miss what the user asked for. A clean execution trace tells you the machinery ran. It doesn't prove the task was completed correctly. That's a pretty important distinction when you're running agents in production. 🦡
1
2
77
You don't need to change your agent framework to start using Ratel. Take the Vercel AI SDK adapter as an example. It supports two ways to inject retrieved capabilities: appendRecall() adds them to the conversation history you can persist, while prepareStep injects them for the current run. Ratel also supports Mastra through a dedicated adapter, with TypeScript and Python SDKs for other integrations.
1
3
66
the badger made it to Torino 🇮🇹 from GitHub repos to meeting the people building the future of AI agents. Italian Tech Week was a good one. open source is better together. 🦡
1
6
91
if you're not in his memory.md, you're just a temporary session 💔
5
60
Your agent's playbooks shouldn't need a complete rebuild every time one changes. Ratel's SkillCatalog.replaceAll updates the live skill catalog, removes deleted entries, and preserves cached embeddings for unchanged skills. Only new or modified searchable content needs embedding work. An unchanged catalog costs zero new embeddings.
1
1
4
57
A retrieval score of 1.0 doesn't mean your agent found the right tool. Depending on the ranking method, it can simply mean "best of what came back." That's why Ratel uses relevance instead of confidence. The score measures how well a capability matches the query, not the probability that the model will choose correctly. Don't confuse ranking with certainty. 🦡
1
35
With Ratel, your agent searches a tool catalog before invoking anything. That makes usage history valuable, but only if the search and the eventual tool call stay tied to the same request. turn_id keeps that attribution clean across concurrent runs, so adaptive ranking learns from the right behavior instead of mixing signals. Experimental, off by default. 🦡
2
5
123
Your tool description is doing two different jobs. It helps retrieval find the tool, and it tells the model what the tool does after it surfaces. Those two jobs do not always want the same text. Ratel now has an experimental experimentalSearchableDescription that lets you change the description BM25 + embeddings rank without changing the description the model reads. For tools, opting into it also removes the input/output schema from the retrieval text while keeping the schema model-facing. Same capability. Different text for discovery and usage. Experimental, but this is the kind of retrieval control we think agent builders are going to need.
1
184
the real takeaway: agents are becoming harnesses with models inside them. once you have 40+ tools, skills, memory and sub-agents, the hard problem stops being “can the model do it?” and becomes “what should it see right now?” sounds like context engineering 🦡
This might be the most useful paper on AI agents this year. A team at Wavestone AI Lab took apart Claude Code, Codex and 9 more and found the 7-part blueprint every good agent is built on. Their definition: an agent is a model plus a harness. All 11 agents build the harness from the same 7 parts. Only the size changes. > Loop: Mini-SWE-Agent is a plain while loop. OpenHands logs every event so a run can be replayed > LLM layer: one prompt template on one side, 29 provider profiles on the other > Tools: some agents only have bash, the biggest has 43 typed tools loaded on demand > Memory: from keep-the-whole-history to notes the agent maintains across sessions > Safety: from a simple step limit to policy rules plus a reviewer model plus an OS sandbox > Orchestration: Aider skips sub-agents on purpose, others fork them with their own context > Extensions: hooks, skills and MCP. SKILL.md is in 9 of 11, MCP in 8 The paper ends with a 90-line harness covering all 7 parts, a solid starting point for your own. Key pages: > p.4: the 7-part map > p.12: the 3 loop types, with Claude Code and Codex as examples > p.53: why none of them use frameworks or embeddings > p.67: 18 design recommendations > p.71: the 90-line harness you can copy
1
2
160
the agent stack is growing up. connectivity gave agents tools and safety gives them boundaries. context engineering decides what they actually need to see. all three matter when agents start touching real systems. safety first 🦡
Today, with over 100 industry partners, we introduced the NVIDIA Open Agent Safety Platform, bringing together OpenShell and Sentry. Artificial intelligence is extraordinary technology that will advance discovery, productivity, security, health, and prosperity for generations to come. But its full promise can only be realized when people have confidence that AI is being built to be safe and deployed with wisdom and responsibility. This is bigger than a single product. It's the beginning of an open ecosystem to build the trust layer for safe agent systems. Together, we are building the foundation of the AI economy. Trust and innovation are not in conflict. Safety is how trust is earned. We must build not only the most capable AI, but the most trusted AI, so that this extraordinary technology can realize its enormous promise for the world. nvda.ws/4hcoq7m
3
150
hybrid retrieval in ratel combines lexical + semantic ranking. the dense weight is configurable. default: 0.7 catalog full of natural-language descriptions? semantic gets more room. catalog full of exact ids, error codes, internal jargon? bm25 suddenly has a lot more to say. retrieval should fit the corpus. not the trend. 🦡
2
108
bm25 knows what your capability definitions say. it does not know which capability the agent actually ended up using. ratel’s experimental adaptive ranking adds that signal. search → invoke becomes usage history. future similar searches can use that history to rerank results. experimental. opt-in. very interesting. 🦡
80
one of the worst agent debugging loops: wrong tool call → rewrite prompt → retry → still wrong → change model without checking retrieval once. sometimes the prompt is fine. sometimes the wrong capability won before reasoning even started. 🦡
1
4
131
ratel search tells you what the agent looked for. tool execution tells you what actually ran. ratel.skill.load tells you which playbook entered context. that means “the agent behaved weird” can become an actual trace. search → surface → invoke → load way easier to fix something you can see. 🦡
5
267
your agent picked the wrong tool. cool. now find out where the decision actually broke. did search_capabilities surface the wrong candidates? did the right tool rank too low? did the agent invoke the wrong result? ratel gives you the path. debug the retrieval. not the outcome. 🦡
2
95
if your system prompt is doing 14 jobs making it longer probably isn’t the fix. ratel-decompose-prompt separates: the stable core from the procedures that only matter sometimes. role stays. safety stays. output contracts stay. situational workflows become retrievable skills. 🦡
1
2
111