Поделиться через


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

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

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

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

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

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

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

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

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

  1. Откройте портал агента SRE и выберите свой агент.
  2. Выберите построитель в области навигации слева.
  3. Разверните Builder и выберите Subagent Builder.
  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()
  • Все обязательные поля параметров, заполненные

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

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

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

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

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

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

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

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