Automatic Skill Acquisition in AI Agents

Here's a pattern we kept seeing: an agent would solve a novel problem by writing a chunk of code -- a scraper for a specific site format, a parser for an unusual file type, a calculation that combined data from multiple APIs. It would work perfectly. Then the code would vanish into the conversation history, never to be used again.

The next time a similar problem came up, the agent would write the solution from scratch. Sometimes it would be slightly different. Sometimes it would have a bug the first version didn't. This felt deeply wrong.

Saving Solutions as Tools

In Odigos, when the agent writes code that successfully solves a problem, it can save that code as a reusable executable skill. The skill gets a name, a description of when to use it, and the working code. Next time a similar request comes in, the agent recognizes the pattern and calls the existing tool instead of re-deriving the solution.

Over time, each agent accumulates a growing library of capabilities specific to its owner's workflow. An agent managing infrastructure might build up tools for parsing specific log formats, querying particular monitoring APIs, or generating custom report templates. An agent helping with research might develop tools for extracting data from frequently-used sources.

Research Foundations

The skill-saving mechanism draws from two key papers:

SAGE: Skill Augmented GRPO for Self-Evolution introduced the idea that agents should treat their own generated solutions as a form of self-supervised training data. Rather than discarding successful tool calls, they become part of the agent's permanent capability set.

Automating Skill Acquisition formalized a three-level skill loading strategy: lightweight skills that load on every request, medium-weight skills loaded based on classification, and heavy skills loaded only on explicit demand. This prevents the growing skill library from bloating every interaction.

The Skill Mining Loop

Beyond explicit saves, Odigos also mines for skills in the background. The dream cycle analyzes recent conversations looking for repeated patterns -- sequences of tool calls that keep appearing together, or similar code being written across multiple sessions. When it detects a pattern, it proposes a new skill, tests it, and promotes it if it works.

This means even if the user never explicitly says "save that as a tool," the agent will eventually notice the repetition and automate it.

← All Insights|See the Odigos Case Study|View Source on GitHub

Want to put this to work?

We build and deploy agents based on this research. Tell us what you're trying to solve.