---
title: "Déployer des agents Python avec SDK et politique de routage"
description: "Offre un runtime Python‑first pour agents IA avec SDK, politique de routage, reprises, résultats typés et suivi de tâche, pour ingénieurs plateforme et développeurs Python."
lang: fr
lastUpdated: 2026-06-07
url: https://dev.duale.ai/fr/solutions/developers
---

## AI-generated summary

Cette page explique le runtime Duale AI destiné aux développeurs Python, en présentant le SDK Python, la politique de routage fournisseur, la gestion des reprises et des événements de tâches, et les limites actuelles du produit.

- Le SDK Python permet de soumettre un travail agentique borné, d’attacher une RoutingPolicy, de fixer un délai, d’obtenir un résultat typé et conserver l’ID de tâche pour le suivi.
- Le SDK accepte une RoutingPolicy avec précision cible, garde‑fous, préférence de vitesse ; le runtime choisit le modèle supporté sans que l’agent contacte le fournisseur.
- Le runtime émet des événements de tâche (soumission, résultat final) ; l’application doit sauvegarder le task_id car le SDK n’expose pas de point de rejeu aujourd’hui.
- Le produit se cantonne à la soumission de tâches via le SDK Python ; il n’offre ni framework d’agents, ni constructeur no‑code, ni kit d’amorçage, ni plateforme d’assistants.
- Une page de revue sécurité détaille l’accès à l’hébergement, aux sous‑traitants, aux déplacements de données et aux éléments de revue pour les équipes sécurité.

Summaries were generated by AI. Generative AI is experimental.

---

<Hero
  eyebrow="Pour les leads plateforme"
  title={
<>
  Construisez des agents Python que votre plateforme peut <AccentText>opérer</AccentText>
</>
}
  subtitle="Duale AI donne aux équipes Python un runtime durable pour le travail agentique borné : contrats stables, politique de routage, reprises, identifiants de tâche et contexte de revue propre au projet sans lier chaque projet à une pile fournisseur."
  primaryCta={{ label: "Demander l'accès Python", dialog: "contact" }}
  secondaryCta={{ label: "Voir les tarifs", href: "https://dev.duale.ai/fr/product/pricing.md" }}
/>

<Section title="Supporté aujourd'hui" subtitle="La promesse développeur est volontairement étroite : Python d'abord, primitives runtime d'abord, chemin production d'abord.">
  <CardGrid columns={3}>
    <Card title="SDK Python" icon="code">
      Utilisez Python pour soumettre un travail agentique borné, attacher une politique de routage, définir des délais,
      demander des résultats typés et conserver un identifiant de tâche pour le suivi.
    </Card>

    <Card title="Routage fournisseur" icon="mixer-horizontal">
      Traitez les modèles comme une capacité remplaçable. Routez par entrées de politique comme qualité, vitesse,
      préférence de garde-fous et priorité, au lieu de coder chaque appel en dur.
    </Card>

    <Card title="Evénements de tâche" icon="commit">
      Soumission, résultat terminal, timeouts, erreurs, reprises et décisions de routage peuvent devenir des événements
      produit quand l'intégration les capture.
    </Card>
  </CardGrid>
</Section>

<Band>
  <Section title="Forme Python" subtitle="Un vrai chemin de code, pas une grille marketing multi-framework.">
    ```python
    import asyncio
    from datetime import datetime, timedelta, timezone

    from pydantic import BaseModel

    from duale import DualeConfig, DualeSDK, RoutingPolicy, ask

    class SupportDecision(BaseModel):
        next_action: str
        reason: str
        risk: str

    async def main() -> None:
        deadline = datetime.now(timezone.utc) + timedelta(minutes=30)

        async with DualeSDK(config=DualeConfig(), auto_start=False) as sdk:
            response = await ask(
                action="Analyse ce dossier support et retourne la prochaine action sûre.",
                res=SupportDecision,
                routing=RoutingPolicy(
                    target_accuracy=0.8,
                    target_guardrails=0.7,
                    speed_preference=0.4,
                ),
                deadline=deadline,
                sdk=sdk,
            )
            decision = await response.model()
            print(response.task_id, decision.next_action)

    asyncio.run(main())
    ```
  </Section>
</Band>

<Section title="Couche de production réutilisable" subtitle="L'objectif est de donner à chaque projet agentique les mêmes primitives runtime, dès que le chemin production commence.">
  <CardGrid columns={3}>
    <Card title="Reprises et délais" icon="exclamation-triangle">
      Le travail agentique peut échouer, durer trop longtemps ou nécessiter une route plus sûre. Le runtime rend ces
      comportements explicites au lieu de les cacher dans de la glue applicative.
    </Card>

    <Card title="Entrée et sortie stables" icon="file-text">
      Définissez une fois la frontière du travail. Modèles, politique fournisseur, rétention et exigences de gouvernance
      peuvent changer sans réécrire l'algorithme métier.
    </Card>

    <Card title="Contrôles projet" icon="eye">
      Gardez assez de contexte de tâche pour décider si un flux doit continuer, reprendre, attendre ou passer dans une
      revue propre au projet. Le produit ne rend pas cette politique de revue implicite.
    </Card>

    <Card title="Choix des fournisseurs" icon="layers">
      Passez entre fournisseurs de modèles supportés quand les coûts, la latence, la qualité ou les exigences changent.
      Le contrat agent reste l'interface durable.
    </Card>

    <Card title="Contexte de tâche traçable" icon="reader">
      Gardez assez de contexte pour comprendre pourquoi une tâche a réussi, échoué, attendu ou repris quand
      l'intégration enregistre ces signaux.
    </Card>

    <Card title="Revue sécurité" icon="lock-closed" href="https://dev.duale.ai/fr/product/security.md">
      Les équipes sécurité peuvent revoir hébergement, sous-traitants, accès, mouvements de données et éléments de revue
      disponibles sur demande avant qu'un projet s'étende.
    </Card>
  </CardGrid>
</Section>

<Section title="Bon périmètre aujourd'hui" subtitle="Des frontières claires valent mieux que des promesses larges.">
  <CardGrid columns={2}>
    <Card title="Utilisez Duale AI pour" icon="check">
      Des agents Python qui ont besoin de politique de routage, reprise, résultats typés, contexte de tâche et d'un
      chemin du prototype au logiciel opéré.
    </Card>

    <Card title="Frontière actuelle" icon="exclamation-triangle">
      Développement natif dans d'autres langages, constructeurs visuels d'agents, places de marché d'assistants ou kits
      de démarrage par framework.
    </Card>
  </CardGrid>
</Section>

## Questions développeurs

### Comment démarrer avec le SDK 

Demandez l'accès Python via le formulaire de contact. Installez le paquet `duale`, définissez `DUALE_TENANT_ID` et
`DUALE_AUTH_TOKEN`, instanciez `DualeSDK(config=DualeConfig())`, puis soumettez une première tâche bornée avec
`ask(action=..., res=..., routing=RoutingPolicy(...), deadline=..., sdk=sdk)`. Le premier agent tourne sur l'espace
d'évaluation avant tout déploiement production.

### Comment le routage fournisseur fonctionne-t-il depuis le SDK 

Votre code soumet une `RoutingPolicy` avec précision cible, garde-fous et préférence de vitesse. Le runtime note les
modèles supportés selon la politique et en sélectionne un par tâche ; votre code agent n'appelle jamais un fournisseur
de modèle directement. La découverte cross-fournisseurs et l'ordre de bascule restent au plan de route, pas livrés
aujourd'hui.

### Que doit conserver mon application après la soumission 

Persistez `response.task_id` : c'est le corrélateur durable pour tout ce que votre application journalise sur cette
tâche. Le résultat terminal revient via `await response.model()`, validé contre le modèle de réponse passé à `ask`. En
cas d'échec, `DualeError.problem_details` porte l'enveloppe RFC 9457 : `error_code`, `detail`, `retryable`,
`retry_after_seconds` et `error_category`. Les deltas de contenu et événements d'outil arrivent en direct sur
`response.stream()` pendant l'exécution ; si votre produit a besoin d'un historique consultable de ces événements,
stockez-les côté application à mesure qu'ils arrivent — le SDK n'expose pas de point de rejeu aujourd'hui.

### Comment le SDK gère-t-il reprises et échecs 

Le transport HTTP du SDK reconnecte les flux d'événements interrompus avec backoff exponentiel et jitter ; le runtime
gère les reprises au niveau tâche dans une politique bornée. Votre code n'implémente ni l'une ni l'autre couche. Les
tâches en échec retournent un résultat terminal avec catégorie d'erreur et drapeau `retryable` ; l'identifiant de
tâche relie la décision de routage et l'historique d'événements à cette tentative.

### Quand Duale AI n'est-il pas encore le bon choix 

Duale AI est un runtime, pas un framework d'agents, pas une passerelle de modèles, pas un fournisseur de modèles
et pas une plateforme d'agents managée. Ce n'est pas le bon choix si vous cherchez un chemin de développement non
Python, un constructeur no-code d'agents, un constructeur visuel d'agents, une place de marché d'assistants
préconstruits, un kit de démarrage propre à un framework ou un assistant employé clé en main. La surface supportée
aujourd'hui est le chemin de soumission de tâches du SDK Python : action bornée, politique de routage, délai,
résultat typé et identifiant de tâche.

<Cta title="Apportez un agent Python et testez le chemin production." primaryCta={{ label: "Demander l'accès Python", dialog: "contact" }} secondaryCta={{ label: "Voir la posture sécurité", href: "https://dev.duale.ai/fr/product/security.md" }} />

<JsonLd
  data={{
"@type": "SoftwareApplication",
name: "Duale AI",
applicationCategory: "DeveloperApplication",
inLanguage: "fr-FR",
audience: {
  "@type": "BusinessAudience",
  audienceType: "Ingénieurs plateforme et développeurs Python",
},
offers: {
  "@type": "Offer",
  priceCurrency: "EUR",
  availability: "https://schema.org/PreOrder",
},
description:
  "Runtime Python-first pour agents IA durables avec politique de routage, reprises, résultats typés, événements runtime quand configurés et contrats stables.",
operatingSystem: "Web",
}}
/>

## Related content

- [Runtime de production pour agents IA durables en Python](https://dev.duale.ai/fr/home.md)
- [Solutions pour les équipes plateforme, métier et gouvernance](https://dev.duale.ai/fr/solutions.md)
- [Déployer des agents IA dans un portefeuille partagé](https://dev.duale.ai/fr/solutions/business.md)
- [Tarification pour l'orchestration fiable d'agents IA (AIOp)](https://dev.duale.ai/fr/product/pricing.md)
- [Modèle de contrôle pour gouvernance des agents IA](https://dev.duale.ai/fr/solutions/governance.md)
- [Revue de sécurité du centre de confiance pour les agents IA](https://dev.duale.ai/fr/product/security.md)

---

## Sitemap

See the full [Markdown sitemap](https://dev.duale.ai/sitemap.md) for all pages.
