Серверная служба должна вызывать модели и agent'ы, определенные в проекте Foundry.
→Используйте Azure AI Foundry SDK (AIProjectClient) со строкой подключения к проекту и DefaultAzureCredential для получения клиентов модели и agent'а.
Почему: Клиент проекта централизованно разрешает соединения и развертывания; жесткое кодирование endpoints и ключей для каждой модели обходит управление проектом.
Источник↗
Создайте приложение для вопросов и ответов, основанное на политических документах.
→Встройте и проиндексируйте документы, извлеките top-k chunk'ов для каждого запроса и передайте их в качестве контекста в завершение чата с инструкцией "cite-your-sources".
Почему: RAG поддерживает актуальность и цитируемость знаний без переобучения; передача полного корпуса в prompt заполняет окно контекста и увеличивает стоимость.
Модель должна проверять статус живого заказа во время разговора.
→Определите tool с JSON schema, позвольте модели выдать tool call, выполните его на стороне сервера и верните результат для обобщения моделью.
Почему: Вызовы функций/tools позволяют модели детерминированно вызывать реальные системы; просьба "угадать" статус приводит к вымыслам.
Источник↗
Задача требует нескольких зависимых вызовов tool перед окончательным ответом.
→Запустите цикл использования tool: передавайте каждый результат tool обратно модели и повторяйте, пока она не вернет окончательное сообщение, с ограничением на максимальное количество итераций.
Почему: Итеративные циклы tools поддерживают многошаговое рассуждение; один цикл не может связать зависимые запросы, а неограниченный цикл может выйти из-под контроля.
Перед выпуском количественно оцените, как часто приложение RAG галлюцинирует или отклоняется от темы.
→Запустите Foundry evaluators для groundedness, relevance и coherence над размеченным тестовым набором и заблокируйте выпуск на пороговых значениях оценок.
Почему: Встроенные evaluators дают измеримые сигналы качества и безопасности; просмотр нескольких образцов не обнаруживает систематических вымыслов.
Источник↗
Определите agent поддержки с четкой persona, целями и границами.
→Установите системные инструкции agent'а (роль, цели, правила отказа) и прикрепите только те tools, которые ему нужны для его области действия.
Почему: Строгие инструкции плюс минимальный доступ к tools удерживают agent'а в рамках задачи; широкие инструкции и все tools приглашают к расширению области действия и небезопасным действиям.
Agent должен запоминать контекст между диалогами в рамках сессии.
→Используйте потоки Foundry Agent Service, которые сохраняют историю сообщений для каждого разговора, чтобы каждый запуск видел предыдущие диалоги.
Почему: Потоки обеспечивают управляемую память разговоров; повторная ручная отправка всей стенограммы при каждом вызове хрупка и легко может быть неправильно обрезана.
Источник↗
Agent нуждается в web grounding и выполнении кода без специальной настройки.
→Прикрепите встроенные agent tools Foundry, такие как Grounding with Bing Search и Code Interpreter, вместо того, чтобы самостоятельно реализовывать интеграции.
Почему: Управляемые tools регулируются и поддерживаются "из коробки"; пользовательские перереализации добавляют затраты на обслуживание и обходят средства контроля безопасности платформы.
Основной agent должен делегировать вопросы выставления счетов специализированному agent'у по выставлению счетов.
→Используйте connected agents: выставляйте agent по выставлению счетов как tool, который может вызывать основной agent, чтобы он маршрутизировал подзадачи специалистам.
Почему: Connected agents позволяют иерархическое делегирование; втискивание каждой области в одного мега-agent'а раздувает инструкции и ухудшает точность.
Источник↗
Рабочий процесс нуждается в planner'е, researcher'е и writer'е, сотрудничающих с общим состоянием.
→Оркестрируйте их с помощью multi-agent фреймворка (Semantic Kernel / AutoGen на Foundry), используя определенный шаблон оркестрации и общий контекст.
Почему: Фреймворки управляют очередностью, состоянием и завершением; передача строк между agent'ами без координации или условия остановки.
Agent работает без присмотра ночью и не должен принимать рискованные действия в одиночку.
→Ограничьте его разрешенными tools, бюджетами на каждое действие, фильтрами контента и контрольной точкой, которая эскалирует высокоэффективные шаги для одобрения.
Почему: Многоуровневые меры безопасности обеспечивают безопасную автономию; автономный цикл с полным доступом к tools и без шлюза одобрения может нанести необратимый ущерб.
Agent периодически завершается с ошибкой в середине задачи, и вы должны найти ошибочный шаг.
→Проверьте трассированные шаги выполнения и входы/выходы вызовов tools в Foundry, чтобы найти ошибочный tool или неправильно сформированный аргумент.
Почему: Трассировка на уровне шагов точно указывает, где произошел сбой; одно конечное сообщение об ошибке скрывает, какой вызов tool или шаг рассуждения на самом деле завершился с ошибкой.
Выходные данные непоследовательны и игнорируют инструкции по форматированию.
→Используйте четкое системное сообщение, примеры few-shot и явные ограничения на выходные данные; для строгой формы включите структурированные выходные данные / JSON schema.
Почему: Структурированное prompt'ирование и выходные данные, принудительно соответствующие схеме, делают результаты надежными; повышение temperature или слепые повторные попытки не исправляют следование инструкциям.
Источник↗
Задача креативного копирайтинга кажется слишком повторяющейся; задача извлечения данных слишком случайной.
→Увеличьте temperature/top-p для креативной задачи и уменьшите их до 0 для извлечения, чтобы сделать его детерминированным.
Почему: Параметры сэмплирования меняют компромисс между разнообразием и детерминизмом; смена моделей избыточна, когда реальной причиной является настройка параметра.
Рассуждающий agent совершает избегаемые логические ошибки в сложных задачах.
→Добавьте шаг reflection / self-critique, где agent пересматривает и редактирует свой черновик, или используйте модель рассуждения для этого шага.
Почему: Chain-of-thought и self-critique улучшают точность сложных задач; одиночный прямой проход не имеет шансов обнаружить свою собственную ошибку.
Операции требуют данных о расходах токенов, задержках и сигналах безопасности для каждого запроса в production.
→Отправляйте трассировки и метрики OpenTelemetry из приложения в Azure Monitor / Application Insights, захватывая токены, задержку и флаги content-safety.
Почему: Унифицированная observability связывает стоимость, производительность и безопасность; ручной анализ логов не может соотнести медленный ход с использованием токенов.
Источник↗
Одно приложение смешивает дешевую классификацию с иногда сложным рассуждением.
→Оркестрируйте несколько развертываний: направляйте простые шаги в SLM и эскалируйте сложные шаги в передовую LLM за одним уровнем приложения.
Почему: Маршрутизация моделей оптимизирует стоимость и качество для каждого шага; использование одной premium модели для всего переплачивает за легкое большинство.