Agoda представляет APIAgent — инструмент с открытым исходным кодом для преобразования любых REST и GraphQL API в серверы MCP без написания кода

Создание AI-агентов — новая золотая лихорадка. Но каждый разработчик знает, что самое большое препятствие — это заставить ИИ взаимодействовать с вашими данными. Сегодня туристический гигант Agoda решает эту проблему. Они официально запустили APIAgent — инструмент с открытым исходным кодом, предназначенный для превращения любого REST или GraphQL API в сервер Model Context Protocol (MCP) без написания кода и развёртывания.

Проблема: «налог на интеграцию»

До недавнего времени, если вы хотели, чтобы ваш ИИ-агент проверял цены на авиабилеты или обращался к базе данных, вам приходилось писать специальный инструмент. Когда компания Anthropic выпустила Model Context Protocol (MCP), был создан стандартный способ подключения больших языковых моделей (LLM) к внешним инструментам.

Однако даже с MCP рабочий процесс утомителен. Разработчик должен:
* Написать новый сервер MCP на Python или TypeScript.
* Определить вручную каждый инструмент и его параметры.
* Развёртывать и поддерживать этот сервер.
* Обновлять код каждый раз, когда изменяется базовый API.

Команда Agoda называет это «налогом на интеграцию». Для компании с тысячами внутренних API написание тысяч серверов MCP нереально. APIAgent — их ответ на эту проблему масштабирования.

Что такое APIAgent?

APIAgent — это универсальный сервер MCP. Вместо того чтобы писать собственную логику для каждого API, вы используете APIAgent в качестве прокси. Он находится между вашей LLM (например, Claude или GPT-4) и существующими API.

Инструмент построен на определённом техническом стеке:
* FastMCP: обеспечивает работу уровня сервера MCP.
* OpenAI Agents SDK: управляет оркестровкой языковой модели.
* DuckDB: встроенный SQL-движок, используемый для постобработки SQL.

«Магия» заключается в его способности понимать документацию API. Вы предоставляете определение вашего API, используя спецификацию OpenAPI для REST или схему для GraphQL, а APIAgent обрабатывает всё остальное.

Как это работает?

Архитектура проста. APIAgent действует как шлюз. Когда пользователь задаёт вопрос ИИ-агенту, процесс выглядит следующим образом:
1. Запрос: пользователь спрашивает: «Покажи мне топ-10 отелей в Бангкоке с наибольшим количеством отзывов».
2. Интроспекция схемы: APIAgent автоматически проверяет схему API, чтобы понять доступные конечные точки и поля.
3. SQL-уровень (DuckDB): это секретный соус. Если API возвращает 10 000 несортированных строк, APIAgent использует DuckDB для фильтрации, сортировки и агрегации данных локально с помощью SQL, прежде чем отправить краткий результат обратно в LLM.
4. Ответ: данные в формате JSON проходят через APIAgent, который форматирует их для чтения ИИ.

Эта система использует Dynamic Tool Discovery. Вы можете указать APIAgent на любой URL, и он автоматически сгенерирует необходимые инструменты для LLM без ручного сопоставления.

Ключевая особенность: обучение по рецептам

Одной из ключевых особенностей является обучение по рецептам. Когда сложный запрос на естественном языке успешно выполняется, APIAgent может извлечь трассировку и сохранить её в виде «рецепта».

Эти рецепты представляют собой параметризованные шаблоны. В следующий раз, когда будет задан аналогичный вопрос, APIAgent будет использовать рецепт напрямую. Это позволяет избежать дорогостоящего этапа рассуждений LLM, что значительно снижает задержки и затраты.

Ключевые выводы

* Универсальный протокол-мост: APIAgent действует как единый прокси с открытым исходным кодом, который преобразует любой REST или GraphQL API в сервер Model Context Protocol (MCP). Это устраняет необходимость писать собственный шаблонный код или поддерживать отдельные серверы MCP для каждого внутреннего микросервиса.
* Интроспекция схемы без написания кода: инструмент ориентирован на конфигурацию. Просто указав APIAgent на спецификацию OpenAPI или конечную точку GraphQL, он автоматически анализирует схему, чтобы понять конечные точки и поля. Затем он предоставляет их LLM в виде функциональных инструментов без ручного сопоставления.
* Расширенный SQL-постпроцессинг: интегрирует DuckDB, встроенный SQL-движок, для обработки сложных манипуляций с данными. Если API возвращает тысячи несортированных строк или не имеет конкретной фильтрации, APIAgent использует SQL для сортировки, агрегации или объединения данных локально, прежде чем предоставить ИИ краткий ответ.
* Производительность за счёт «обучения по рецептам»: для решения проблемы высокой задержки и затрат на LLM агент использует «обучение по рецептам». Он записывает трассировку успешного выполнения запроса на естественном языке и сохраняет её в виде параметризованного шаблона.
* Архитектура, ориентированная на безопасность: система работает по принципу «безопасность по умолчанию», работая в режиме только для чтения. Любые «мутирующие» действия (например, запросы POST, PUT или DELETE) строго блокируются прокси, если разработчик явно не внесёт их в белый список в файле конфигурации YAML.

1. Какие проблемы решает инструмент APIAgent от Agoda для разработчиков?

APIAgent от Agoda решает проблему «налога на интеграцию», который заключается в необходимости писать специальный код для подключения больших языковых моделей (LLM) к внешним инструментам. Разработчикам больше не нужно писать новый сервер MCP на Python или TypeScript, определять вручную каждый инструмент и его параметры, развёртывать и поддерживать этот сервер, а также обновлять код каждый раз, когда изменяется базовый API.

2. Какие ключевые особенности имеет APIAgent?

Ключевые особенности APIAgent включают:
* универсальный протокол-мост, который преобразует любой REST или GraphQL API в сервер Model Context Protocol (MCP);
* интроспекцию схемы без написания кода, когда инструмент автоматически анализирует схему, чтобы понять конечные точки и поля;
* расширенный SQL-постпроцессинг, который интегрирует DuckDB, встроенный SQL-движок, для обработки сложных манипуляций с данными;
* производительность за счёт «обучения по рецептам», когда для решения проблемы высокой задержки и затрат на LLM агент использует «обучение по рецептам».

3. Как работает APIAgent при обработке запроса пользователя?

Когда пользователь задаёт вопрос ИИ-агенту, процесс выглядит следующим образом:
1. Запрос: пользователь задаёт вопрос.
2. Интроспекция схемы: APIAgent автоматически проверяет схему API, чтобы понять доступные конечные точки и поля.
3. SQL-уровень (DuckDB): если API возвращает большое количество несортированных строк, APIAgent использует DuckDB для фильтрации, сортировки и агрегации данных локально с помощью SQL, прежде чем отправить краткий результат обратно в LLM.
4. Ответ: данные в формате JSON проходят через APIAgent, который форматирует их для чтения ИИ.

4. Что такое «обучение по рецептам» в контексте работы APIAgent?

«Обучение по рецептам» — это ключевая особенность APIAgent, которая позволяет агенту извлекать трассировку успешного выполнения запроса на естественном языке и сохранять её в виде параметризованного шаблона. В следующий раз, когда будет задан аналогичный вопрос, APIAgent будет использовать рецепт напрямую, что позволяет избежать дорогостоящего этапа рассуждений LLM и значительно снижает задержки и затраты.

5. Какие принципы безопасности заложены в архитектуре APIAgent?

Система APIAgent работает по принципу «безопасность по умолчанию», работая в режиме только для чтения. Любые «мутирующие» действия (например, запросы POST, PUT или DELETE) строго блокируются прокси, если разработчик явно не внесёт их в белый список в файле конфигурации YAML.

Источник