Руководство. Создание средства Python в агенте Azure SRE

В этом руководстве вы создадите рабочий инструмент на Python, который вычисляет соответствие SLA для агента Azure SRE. Вы описываете назначение инструмента на обычном английском языке, позволяете ИИ сгенерировать код, тестируете результат и развертываете инструмент для использования вашим агентом.

В этом руководстве вы узнаете, как:

  • Описание функциональных возможностей инструментов на обычном английском языке
  • Создание кода Python с помощью ИИ
  • Тестирование средства с реальными входными данными перед развертыванием
  • Сохраните инструмент для использования агентом

Предполагаемое время: 10 минут

Необходимые условия

Перед началом работы убедитесь, что у вас есть следующие ресурсы и разрешения:

Открытие диалогового окна средства Python

Перейдите в Agent Canvas и начните создавать средство на Python.

  1. Откройте портал агента SRE и выберите свой агент.
  2. Выберите построитель в области навигации слева.
  3. Разверните Builder и выберите Agent Canvas.
  4. Выберите Create>Tool>инструмент Python.

Снимок экрана: меню

Откроется диалоговое окно средства Python с тремя вкладками: код, тестовая площадка и удостоверение.

Описание того, что должно сделать средство

В поле описания напишите, что нужно, чтобы средство выполнялось на простом английском языке. Будьте конкретными в отношении входных, выходных данных и логики.

Введите следующее описание:

Calculate SLA compliance percentage from total uptime minutes and downtime
minutes. Return whether the SLA meets a target threshold (default 99.9%).
Include the calculated percentage and a status message.

Снимок экрана: диалоговое окно средства Python с введенным описанием.

Подсказка

Для получения наилучших результатов укажите входные параметры и их типы, опишите вычисление или логику, укажите, какие выходные данные должны включать, и указать значения по умолчанию при необходимости.

Создание кода

Выберите «Сгенерировать», чтобы ИИ создал функцию Python из вашего описания.

ИИ анализирует описание и создает функцию Python с помощью:

  • Типизированные параметры, соответствующие входным данным
  • Документация, объясняющая логику
  • Обработка ошибок для пограничных вариантов
  • Возвращаемое значение JSON-сериализуемое

В следующем примере показан созданный код:

def main(total_uptime_minutes: int, total_downtime_minutes: int,
         target_sla_percent: float = 99.9) -> dict:
    """Calculate SLA compliance from uptime and downtime minutes.

    Computes SLA as (uptime / (uptime + downtime)) * 100.
    Returns the SLA percentage, whether it meets the target,
    and a status message.
    """
    total_minutes = total_uptime_minutes + total_downtime_minutes

    if total_minutes == 0:
        sla_percent = 100.0
    else:
        sla_percent = (total_uptime_minutes / total_minutes) * 100

    meets_target = sla_percent >= target_sla_percent

    return {
        "sla_percent": round(sla_percent, 4),
        "target_sla_percent": target_sla_percent,
        "meets_target": meets_target,
        "status": "Meets SLA" if meets_target else "Below SLA"
    }

Снимок экрана: вкладка

На вкладке "Код" показана main() функция с типизированными параметрами. Имя средства исходит из описания.

Тестирование с помощью реальных входных данных

Перед созданием средства протестируйте его с помощью фактических значений.

  1. Перейдите на вкладку тестовой площадки .
  2. Введите следующие тестовые значения:
    • total_uptime_minutes: 43185
    • total_downtime_minutes: 15
    • target_sla_percent: 99.9
  3. Выберите Тест.

Снимок экрана тестовой площадки, показывающий успешное выполнение.

В следующем примере показан ожидаемый результат:

{
  "sla_percent": 99.9653,
  "target_sla_percent": 99.9,
  "meets_target": true,
  "status": "Meets SLA"
}

В тесте показан зеленый индикатор успешности, а выходные данные JSON соответствуют ожидаемым значениям.

Создайте инструмент

После прохождения тестов нажмите "Создать инструмент".

Теперь доступно ваше средство. Агент может вызывать его автоматически, когда задача соответствует описанию средства.

Проверьте средство

В новом потоке чата задайте агенту вопрос, который активирует средство:

What's my SLA for last month? We had 43185 minutes of uptime and 15 minutes of downtime.

Агент распознает, что этот вопрос совпадает с вашим инструментом, и вызывает его для выполнения вычислений.

Troubleshooting

Используйте следующие сведения для устранения распространенных проблем.

Кнопка "Тест" отключена

Для кнопки "Тест" требуется:

  • Допустимый код Python с функцией main()
  • Все обязательные поля параметров, заполненные

Убедитесь, что в коде отсутствуют синтаксические ошибки, а все параметры имеют значения.

Код не соответствует вашему намерению

Выберите поле описания, укажите текст и снова нажмите кнопку "Создать ". Будьте более конкретными:

  • Имена и типы параметров
  • Логика вычислений
  • Ожидаемый формат выходных данных

Проверка возвращает ошибку

Проверьте сообщение об ошибке на панели результатов. Распространенные проблемы:

  • Деление по нулю (добавление обработки для пограничных вариантов)
  • Неверные типы параметров (убедитесь, что входные данные соответствуют ожидаемым типам)
  • Ошибки импорта (убедитесь, что доступны библиотеки)

Изменение или удаление инструмента

Вы можете изменять или удалять инструменты непосредственно из Agent Canvas.

Изменить

  1. На холсте агента выберите узел инструмента, чтобы открыть панель сведений.
  2. Щелкните значок редактирования (карандаша) в заголовке панели.
  3. Откроется диалоговое окно редактирования. Измените описание, код или параметры.
  4. Нажмите Сохранить.

Удалить

  1. Выберите узел инструмента, чтобы открыть панель сведений.
  2. Выберите меню (дополнительные действия) в заголовке панели.
  3. Выберите инструмент "Удалить".
  4. Подтвердите удаление в диалоговом окне.

Следующий шаг