Единица 10 / 11

Рабочие процессы агента и многоэтапные задачи

Прибыль:

  • Применение возрастающей сложности от простейшего решения к агенту
  • Различие между шаблонами цепочки, маршрутизации и параллельных рабочих процессов.
  • Разбиение многоэтапной задачи на цикл планирование-выполнение-проверка

В предыдущем разделе мы установили простой цикл с одним транспортным средством. Реальная работа часто требует нескольких шагов, нескольких инструментов, а иногда и разветвленных решений: «Найдите заказы, которые просрочены в этом месяце, напишите электронное письмо с извинениями для клиентов, подведите итоги для менеджера». В этом модуле мы рассмотрим шаблоны организации многоэтапных задач, когда вам нужен настоящий агент, а также цикл планирования-исполнения-проверки. Главный принцип: сложности столько, сколько нужно.

Масштабирование от простейшего решения до агента

Не каждая задача заслуживает самого сложного решения. Поднимитесь шаг за шагом по шкале сложности и остановитесь на самом простом адекватном решении:

  1. Одиночный вызов: Если задача решается одним вызовом модели (обобщить, классифицировать) остановитесь на этом.
  2. Одиночный вызов с RAG: Если требуется информация, добавьте поиск и снова одиночный вызов.
  3. Фиксированный рабочий процесс: если шаги известны заранее, упорядочивайте их вручную (поток кода). Модель выполняет подзадание на каждом этапе, но порядок определяете вы.
  4. Агент, управляемый моделью: если шаги не могут быть известны заранее, модель решает, какого агента вызывать и когда. Самый мощный, но самый дорогой и рискованный вариант.

Разница между Workflow и агентом имеет решающее значение: в Workflow вы пишете поток управления (предсказуемый, тестируемый, дешевый). Вы передаете контроль над повесткой дня модели (гибкой, но непредсказуемой). Большая часть корпоративной работы на самом деле представляет собой рабочий процесс; реальных агентов относительно немного.

Совет: «Могу ли я заранее расписать шаги для этой задачи?» просить. Если вы можете это написать, создайте рабочий процесс — дешевле, безопаснее, более тестируемый. Однако, если шаги различаются в зависимости от входных данных и не могут быть предсказаны, требуется агент.

Три основных шаблона рабочего процесса

Цепочка подсказок: результат одного шага является входом следующего. «Создать черновик → редактировать → форматировать». Каждый шаг прост и целенаправлен; легко отлаживать.

Маршрутизация: вы сначала классифицируете входящий запрос и отправляете его соответствующему эксперту. «Это технический вопрос, вопрос о выставлении счетов или возврате денег?» → перенаправление на правильный подпоток. Каждый путь оптимизирован с помощью собственной подсказки и инструментов.

Распараллеливание: одновременное выполнение независимых заданий и объединение результатов. «Обобщите 5 документов отдельно, затем объедините». Это не только быстро, но и каждая деталь получает полное внимание.

узор

когда

пример

прикованный цепями

Шаги последовательные и зависимые.

Черновик → редактировать → форматировать

перенаправить

Различная обработка в зависимости от типа ввода

Классификация запросов на поддержку

параллельный

Независимые подработки

Обобщить несколько документов отдельно

Агент (цикл)

Шаги невозможно предсказать заранее

Открытое исследование/ремонт

# Тип шаблона маршрутизации (концептуальный) = шаблон.classify(request) # "return" | "техника" | «счет-фактура», если тур == «возврат»: ответ = возврат_потока (запрос) элиф тур == «технический»: ответ = технический_поток (запрос) еще: ответ = счет-фактура (запрос)

Цикл планирования-исполнения-проверки

Мощный шаблон для реальных агентов: составьте план модели, затем выполните его, затем проверьте. Модель разбивает сложную задачу на подэтапы, выполняет каждый шаг с помощью инструментов и, наконец, спрашивает: «Достиг ли я цели?» он проверяет. Шаг проверки выявляет ошибки в отдельном, свежем виде («соответствует ли этот вывод задаче?»).

# Plan-execute-verify (conceptual)plan = model.uret("Разбить эту задачу на шаги: " + задача)for шаг в плане: result = Agent_loop(step) # выполнить с помощью Toolscheck = model.uret("Соответствует ли этот результат задаче? Скажите мне, если чего-то не хватает: " + задача + результаты)if check.missing: # корректирующий раунд...

Два хороших метода для длинных задач: наложите условие остановки (максимальное количество шагов — предотвращает бесконечный цикл) и отслеживание прогресса (попросите агента записывать, что он делает, чтобы он не отвлекался). Агент, у которого нет ограничения по шагам, может вращаться вечно, если застрянет, и стоимость резко возрастет.

Слабая/сильная конструкция

Слабые (складывая всё на одного гигантского агента):

Скажите «сделайте эту сложную вещь» и выпустите ее с неограниченными инструментами. # Результат: непредсказуемое поведение, риск бесконечных циклов, высокая стоимость, # невозможность отладки.

Мощный (сначала поток, агент только при необходимости, ограничен):

Сначала разделите работу на фиксированные этапы (маршрутизация + цепочка). Используйте агент только в подзадачах, шаги которых неизвестны; Добавьте лимит шагов, отслеживание прогресса и раунд проверки.

Три мини-кейса

Случай 1 — Рабочий процесс вместо агента. Одна команда поставила задачу «обработка запроса на поддержку» со свободным агентом; Иногда агент поворачивал на 15 шагов и шел не по тому пути. Шаги были по существу фиксированными (классифицировать → получить соответствующую информацию → написать черновик → отправить на утверждение). Когда мы перешли на рабочий процесс маршрутизация + цепочка, согласованность выросла с 58% до 96%, а затраты сократились вдвое.

Случай 2 — Параллельное усиление. Команда юристов один за другим обобщала 20 контрактов; В общей сложности это заняло 4 минуты. Когда мы перешли на параллельную схему (все одновременно, затем объединили), время сократилось до 25 секунд, а качество возросло, поскольку каждому резюме было уделено полное внимание.

Случай 3. Не было условия остановки. Агент-расследователь продолжал бесконечно вызывать одни и те же два инструмента в поисках информации, которую он не мог найти; за одну ночь накопились значительные затраты. Когда были добавлены максимальный лимит в 8 шагов и правило «Если вы не можете найти это за 3 попытки, скажите, что я не знаю», стоимость осталась под контролем и появились честные ответы «Я не смог это найти».

Распространенные ошибки

  • Делегирование всего агенту. Рабочий процесс обходится дешевле, безопаснее и тестируемее, если известны этапы.
  • Совмещение рабочего процесса с агентом: вы или модель берете на себя управление? Не проектируйте, не прояснив это.
  • Отсутствие условия остановки: агент входит в бесконечный цикл и накапливает затраты.
  • Отсутствие отслеживания прогресса: во время длительной миссии агент отвлекается и снова выполняет ту же работу.
  • Пропуск раунда проверки: неверные, но правдоподобные выходные данные доставляются без проверки.
Внимание: чем свободнее агент, тем больше становится радиус взрыва. Гибкость не бесплатна; каждая дополнительная свобода добавляет непредсказуемости и риска. Выберите самое узкое адекватное решение.

В заключение

  • В сложности действует принцип «по мере необходимости»: единичный вызов → РАГ → рабочий процесс → агент только в случае крайней необходимости.
  • В Workflow вы пишете поток управления (предсказуемый); Вы оставляете повестку дня модели (гибкой, но рискованной).
  • Три основных шаблона: цепочка (последовательно-зависимые), маршрутизация (распределение по типу), параллель (независимые задания).
  • Реальные агенты используют цикл «план-выполнение-проверка», условие остановки и отслеживание прогресса.
  • По мере увеличения гибкости растут непредсказуемость и затраты; Выберите самое узкое адекватное решение.

Задача приложения

Выберите многоэтапную задачу из своего бизнеса (например, «подготовка и распространение ежемесячного отчета»). (1) Можете ли вы заранее написать шаги этой задачи? Если вы можете это написать, оформите это как рабочий процесс (какой шаблон: цепочка/маршрутизация/параллельность?); Если вы не умеете писать, объясните, зачем нужен агент. (2) Нарисуйте выбранный вами дизайн с помощью диаграммы со стрелками. (3) Если агентство: напишите, как вы будете настраивать условие остановки, отслеживание прогресса и раунд проверки. (4) Перечислите 3 риска выполнения одной и той же задачи «одним агентом разработки».

контрольный список

  • [ ] Я могу выбрать нужный уровень по шкале «сложность по мере необходимости».
  • [ ] Я могу различить разницу в управлении между Workflow и агентом.
  • [ ] Я могу сопоставить цепочки, маршрутизацию и параллельные шаблоны с подходящими задачами.
  • [ ] Я могу настроить цикл «план-выполнение-проверка», условия остановки и отслеживание прогресса в агентах.
  • [ ] Я имею в виду, что слишком большая гибкость приводит к непредсказуемости и затратам.