The Decomposition Is the Fingerprint: Per-Component Identity for Agent Skills
This paper introduces a compact, locality-sensitive per-component fingerprinting method for AI agent skills that uses multi-bank SimHash to generate fixed-size signatures, enabling the identification of skill lineage and structural relationships through paraphrasing or refactoring while distinguishing independent re-implementations, all without replacing the need for behavioral safety verification.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are managing a massive library of "skills" for AI agents. These aren't just books; they are digital toolkits containing instructions (prompts), code, and connections to other tools. As more people create these skills, the library gets messy. The same skill might be copied, renamed, rewritten in a different style, or even translated into another programming language.
The big problem? How do you know if two skills are actually the same thing, even if they look different on the surface?
The Old Way: The "Fingerprint" That Breaks
Traditionally, to check if two files are the same, we use a cryptographic hash (like a digital fingerprint). But this method is too sensitive. It's like taking a photo of a person's face, but if they change their hair by one inch or put on glasses, the photo looks completely different. In the digital world, changing just one letter in a prompt or renaming a function in the code makes the "fingerprint" look totally new. This is useless for finding duplicates that have been tweaked.
The New Way: The "Per-Component" Fingerprint
The authors propose a new kind of fingerprint that is smart and modular. Instead of looking at the whole skill as one big blob, they break it down into three distinct parts:
- The Prompt: The natural language instructions.
- The Code: The actual logic and functions.
- The Tools: The list of APIs or external tools it uses.
Here is how their system works, using a simple analogy:
1. The "Translator" (Embedding)
First, the system acts like a super-smart translator. It reads the prompt, code, or tools and converts them into a "meaning vector."
- Analogy: Imagine you have a sentence in English and the same sentence in French. A normal scanner sees them as totally different strings of letters. This "translator" understands that they mean the same thing and gives them the same "concept ID." It does this for code too, understanding that
calculate_sumandadd_numbersare doing the same job.
2. The "Compressor" (Multi-Bank SimHash)
The "concept ID" is still too big to store easily for millions of skills. So, the system compresses it into a tiny, fixed-size digital signature (just 120 bytes, or 320 bits).
- Analogy: Think of this as taking a high-resolution photo of a person and shrinking it down to a tiny, 320-pixel icon. Even though it's tiny, if you compare two icons, you can still tell if they are the same person. Crucially, if the person changes their shirt (a minor edit), the icon stays recognizable.
3. The "Three-Part ID Card" (The Triple)
This is the paper's most important innovation. Instead of squishing the three parts (Prompt, Code, Tools) into one single score, they keep them as three separate numbers on an ID card.
- Analogy: Imagine a security badge with three separate photos: one of the person's face, one of their ID number, and one of their job title.
- If someone changes the Job Title but keeps the Face and ID Number the same, you know it's the same person with a new role.
- If someone changes the Face (rewrites the code) but keeps the Job Title (prompt) the same, you know it's a different person doing the same job.
- If all three match, it's a perfect clone.
What This Solves
By keeping these three parts separate, the system can answer complex questions that a simple "yes/no" hash cannot:
- Cloning: "Is this a copy of that skill?" (All three parts match).
- Repurposing: "Is this the same code being used for a different purpose?" (Code matches, Prompt is different).
- Reimplementation: "Is this the same idea written in a totally different way?" (Prompt matches, Code is different).
- Tampering: "Did someone sneak a virus into a trusted skill?" (The system sees that the "Face" and "Job Title" match a trusted skill, but the "ID Number" (code) has changed slightly. It flags it as a modified copy).
The "Safety" Warning
The paper makes a very clear distinction: This system identifies what a skill is, not if it is safe.
- Analogy: This system is like a police database that recognizes a car as a "2020 Toyota Camry." It can tell you, "This car is a modified version of a known model, and the engine has been swapped."
- However, it cannot tell you if the car is driving recklessly or if the new engine is dangerous. That requires a different kind of test (behavioral verification).
- The authors found that many malicious skills are just "tampered copies" of safe skills. Their system catches them as "modified copies," but a human or a different safety tool must decide if the modification is dangerous.
Why It Matters
This method creates a "Registry" for AI skills. It allows platforms to:
- Stop duplicates: Find skills that are the same but look different.
- Track lineage: Know where a skill came from and how it changed.
- Detect tampering: Spot when a trusted skill has been quietly altered.
- Save space: The new fingerprint is 77 times smaller than the original data, making it fast to search through millions of skills instantly.
In short, the paper argues that to manage the chaos of AI skills, we need a fingerprint that understands meaning and structure, not just a scanner that looks for exact letter matches. And by keeping the parts separate, we get a much clearer picture of how skills are related.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.