При работе агента с очень большой схемой инструментов (function selection) возникает проблема выбора релевантных функций из большого набора для конкретного запроса.
Как агенту работать с очень большой схемой инструментов (function selection)?
При работе агента с очень большой схемой инструментов (function selection) возникает проблема выбора релевантных функций из большого набора для конкретного запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При работе агента с очень большой схемой инструментов (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)
Таким образом, агент эффективно справляется с большим набором инструментов, выбирая наиболее подходящие для текущей задачи.