Skill Is Not Document: A Query-Conditional Benchmark and Two-Stage Retriever for LLM Agent Skill Routing
Paper • 2606.03565 • Published • 1
How to use tencent/R3-embedding-0.6b with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("tencent/R3-embedding-0.6b")
sentences = [
"That is a happy person",
"That is a happy dog",
"That is a very happy person",
"Today is a sunny day"
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]The latest agent skill retrieval model at the 0.6B scale. R3-Embedding is the bi-encoder (recall) stage of R3-Skill's two-stage retriever for query-conditional agent skill retrieval. It embeds a query and every skill independently and ranks candidates by cosine similarity, paired with R3-Rerank-0.6B for reranking.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("tencent/R3-embedding-0.6b")
query_embedding = model.encode_query("I need to compose music")
document_embeddings = model.encode_document([ # The format is "name | description | skill_md"
"music-composer | Composes original music | Creates music for various media formats ...",
"music-lyricist | Writes lyrics for songs | Creates lyrics for various music genres ...",
"music-editor | Edits and mixes music tracks | Provides audio editing and mixing services ...",
])
similarities = model.similarity(query_embedding, document_embeddings)
print(similarities)
# tensor([[0.7410, 0.5510, 0.5028]])
@inproceedings{r3skill2026,
title = {Skill Is Not Document: A Query-Conditional Benchmark and Two-Stage Retriever for LLM Agent Skill Routing},
author = {Wang, Zifei and Wen, Wei and Ji, Qiang and Qiao, Ruizhi and Sun, Xing},
year = {2026},
url = {https://arxiv.org/abs/2606.03565},
}