Создание 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.