Как агенту работать с очень большой схемой инструментов (function selection)?
Answer from AI
sobes.tech AI
При работе агента с очень большой схемой инструментов (function selection) возникает проблема выбора релевантных функций из большого набора для конкретного запроса.
Подходы к решению:
-
Индексация и фильтрация — предварительно классифицировать или индексировать инструменты по темам, типам задач или ключевым словам, чтобы быстро сузить круг поиска.
-
Использование векторных представлений — преобразовать описание функций и запрос в эмбеддинги и выбирать функции с наибольшей семантической близостью.
-
Иерархический выбор — сначала выбрать категорию или подмножество функций, затем уже внутри него — конкретную функцию.
-
Обучение модели выбора — обучить модель, которая на входе получает запрос и выдаёт вероятности релевантности функций.
Пример на псевдокоде с использованием эмбеддингов:
query_embedding = embed(query)
function_embeddings = [embed(f.description) for f in functions]
scores = cosine_similarity(query_embedding, function_embeddings)
top_functions = select_top_k(functions, scores, k=5)
Таким образом, агент эффективно справляется с большим набором инструментов, выбирая наиболее подходящие для текущей задачи.