AI SDK від Laravel тепер дозволяє передавати агентів як інструменти іншим агентам. Це перетворює SDK на повноцінний рівень оркестрації.
Реальні застосунки рідко обмежуються одним промптом. Загальному агенту підтримки потрібні різні інструкції, інструменти та навіть моделі для обробки запитів про повернення коштів або рахунків. Sub-agents роблять таке делегування базовою функцією системи, а не «саморобним» роутером.
# Як це працює
Просто поверніть одного агента з методу tools() іншого. Батьківський агент делегує конкретне завдання та використовує відповідь sub-agent для фінальної відповіді на промпт.
public function tools(): iterable
{
return [
new RefundsAgent,
];
}
Кожен sub-agent має власні:
- Інструкції та system prompt
- Інструменти (наприклад,
RefundsAgentотримуєLookupOrder, тоді як основному агенту він не потрібен) - Провайдера та модель — ви можете закріпити sub-agent за Anthropic через
#[Provider(Lab::Anthropic)], навіть якщо основний агент працює на OpenAI - Налаштування, як-от temperature, max steps або timeout
Тонке налаштування: реалізуйте інтерфейс CanActAsTool у sub-agent, щоб визначити name() та description(), які бачитиме основний агент. Якщо цього не зробити, Laravel використає назву класу та стандартний опис.
Важливий нюанс: кожен виклик sub-agent відбувається ізольовано — він не отримує історію листування батьківського агента. Тому йому слід передавати чіткий і самодостатній опис завдання.
Повний опис API читайте в документації sub-agents.