Darkwood selection / SymfonyLive Berlin 2026
Le vrai défi n'est pas de faire répondre un modèle. C'est de le brancher sur une application qui a des règles, des données, des droits et des effets de bord.
Changer de modèle sans réécrire l'app.
Relier l'IA aux données métier.
Exposer du code Symfony contrôlé.
Platform · Agent · Store · AI Bundle · MCP Bundle · MCP SDK
Même intention, modèle différent
$result = $platform->request(
model: new GptModel('gpt-4.1-mini'),
input: 'Résume cette commande client.'
);
Texte, tool call, signal de fin.
Observer le coût pendant la réponse.
Répondre sans bloquer l'interface.
Audio · Image · PDF · Binaire
Le modèle devient une pièce d'un pipeline média, pas une zone de texte magique.
final readonly class ProductInsight
{
public function __construct(
public string $risk,
public array $nextActions,
) {}
}
#[AsTool('refund_order')]
public function refundOrder(string $orderId): RefundResult
{
return $this->refunds->request($orderId);
}
Spécialiser une tâche bornée.
Passer le relais avec contexte.
Comprendre qui a décidé quoi.
Analyse Darkwood
Modèles, agents, store, bundles.
Interopérabilité des tools et contextes.
Workflows, navigation agentique, orchestration métier.
@matyo91