Formules d'économie et points critiques du Vibe Coding

Établir un modèle de coût unifié utilisant des variables pour les trois types de facturation par token, par nombre d’appels API et par nombre de prompts, fournir des formules de points critiques et des suggestions de méthodologie de travail.

Les modèles de facturation des outils de codage IA peuvent être résumés en trois catégories :

  1. Facturation au token : Incluant diverses API, Claude Code (Claude Pro), Codex Cli (ChatGPT Plus), Zhipu Lite/Pro, la nouvelle version de Cursor, etc. Tous sont essentiellement facturés au token, certains produits offrant des remises forfaitaires.
  2. Facturation au nombre d’appels API : Tels qu’OpenRouter (quota gratuit), ModelScope, Gemini Code Assistant (1000 gratuits par jour), Chutes, etc.
  3. Facturation au nombre de prompts : Tels que l’ancienne version de Cursor (500 fois), Github Copilot (300 fois), etc.

Ces trois modèles sont essentiellement des paiements pour l’inférence de modèle et le traitement du contexte, la différence résidant dans la granularité de la tarification et la forme des limites.

Cet article établit un modèle de coût unifié, fournit des définitions de variables exploitables et des formules de calcul, et détermine les points critiques pour le choix des outils sous différentes charges de travail et méthodes. La considération des coûts englobe les dépenses en espèces, le temps consacré et le risque de reprise.

Fonction de coût total unifiée

Pour tout outil i, le coût total sur une période de facturation peut s’écrire :

$$ \begin{aligned} \mathrm{Total}_i &= \mathrm{Cash}_i + \mathrm{Time}_i + \mathrm{Risk}_i \ \mathrm{Time}_i &= R \cdot \mathrm{Hours}_i \ \mathrm{Risk}_i &= R \cdot \mathrm{ReworkHours}_i \end{aligned} $$

Où R est votre taux horaire (yuan/heure). Si vous ne souhaitez pas prendre en compte le temps, vous pouvez définir R à 0, et la formule se réduit à une comparaison de coûts purement monétaires.

Convention de variables

Pour unifier les trois modèles de facturation, la charge de travail est divisée en deux niveaux : “session” et “itération”. L’analyse et l’indexation lors de l’entrée dans un nouveau projet sont des opérations uniques, tandis que la conversation continue et les modifications de code dans le même contexte sont des opérations répétitives.

Définition des variables :

  • $S_i$ : Coût fixe de l’outil i (frais d’abonnement ou consommation mensuelle minimale)
  • $N_s$ : Nombre de nouvelles sessions dans cette période (changement de projet, effacement du contexte, ouverture d’une nouvelle session sont tous comptés)
  • $N_{it}$ : Nombre d’itérations valides dans cette période (clarification des besoins, modification du code, correction d’erreurs, etc.)
  • $R$ : Taux horaire (yuan/heure)
  • $h0_i$ : Temps de démarrage à froid pour chaque nouvelle session (heures)
  • $h1_i$ : Temps moyen par itération (heures)
  • $p_{\mathrm{fail},i}$ : Probabilité d’échec nécessitant une reprise à chaque itération (0 à 1)
  • $h_{\mathrm{re},i}$ : Temps moyen de reprise unique (heures)

Ainsi, les termes de temps et de risque peuvent s’écrire :

$$ \begin{aligned} \mathrm{Hours}i &= N_s \cdot h0_i + N{it} \cdot h1_i \ \mathrm{ReworkHours}i &= N{it} \cdot p_{\mathrm{fail},i} \cdot h_{\mathrm{re},i} \end{aligned} $$

Il ne reste plus qu’à écrire $Cash_i$ pour les trois modes de facturation.

Coût monétaire de la facturation au token

Les outils facturés au token sont généralement divisés en trois niveaux : entrée, entrée atteignant le cache d’entrée, sortie. Une erreur courante est de compter les mêmes tokens d’entrée à la fois dans l’élément d’entrée et dans l’élément de cache. Il est recommandé d’estimer d’abord le volume total des tokens d’entrée, puis de le répartir en fonction du taux de réussite du cache.

Définition des variables :

  • $Tin0_i$ : Volume total de tokens d’entrée pour chaque nouvelle session
  • $r0_i \in [0,1]$ : Taux de réussite du cache pour l’entrée d’une nouvelle session
  • $Tin1_i$ : Volume total de tokens d’entrée pour chaque itération
  • $r1_i \in [0,1]$ : Taux de réussite du cache pour l’entrée d’itération
  • $Tout0_i, Tout1_i$ : Volume de tokens de sortie
  • $Pin_i, Pcache_i, Pout_i$ : Paramètres de prix (yuan par million de tokens)

Pour les outils ne supportant pas la facturation du cache, on peut définir $r0_i=r1_i=0$ ou $Pcache_i=Pin_i$.

Alors :

$$ \begin{aligned} \mathrm{Cash}^{(\mathrm{token})}i &= S_i + \frac{1}{10^6}\Bigl[ N_s \cdot \bigl(Pin_i \cdot (1-r0_i)\cdot Tin0_i + Pcache_i \cdot r0_i\cdot Tin0_i + Pout_i \cdot Tout0_i\bigr) \ &\qquad + N{it} \cdot \bigl(Pin_i \cdot (1-r1_i)\cdot Tin1_i + Pcache_i \cdot r1_i\cdot Tin1_i + Pout_i \cdot Tout1_i\bigr) \Bigr] \end{aligned} $$

Cette formule explique directement une conclusion empirique : en travaillant de manière continue et immersive dans la même session, $N_{it}$ augmente mais $Tin0_i$ n’est payé qu’une seule fois, donc le coût moyen par itération diminue. Changer fréquemment de projet ou effacer souvent le contexte entraîne un paiement répété de $Tin0_i$.

Coût monétaire de la facturation au nombre d’appels API

La clé de la facturation par nombre d’appels API réside dans le fait que “un appel” couvre les opérations de dialogue, appel d’outils, lecture de fichiers, recherche, exécution de commandes, etc. Il faut estimer :

  • $A0_i$ : Nombre d’appels API pour chaque nouvelle session
  • $A1_i$ : Nombre d’appels API pour chaque itération
  • $Ccall_i$ : Prix unitaire par appel (yuan/appel)

Formule du coût monétaire :

$$ \mathrm{Cash}^{(\mathrm{call})}i = S_i + Ccall_i \cdot (N_s \cdot A0_i + N{it} \cdot A1_i) $$

Si l’outil offre un quota gratuit Q (appels/période) et nécessite une attente plutôt qu’un paiement après dépassement, le temps d’attente peut être compté dans le coût temporel, et les appels excédentaires convertis en $Hours_i$, tout en utilisant $Total_i$ pour la comparaison.

Coût monétaire de la facturation au nombre de prompts

La facturation au nombre de prompts équivaut un “prompt” à une soumission de tâche. Il faut estimer :

  • $P0_i$ : Nombre de prompts pour chaque nouvelle session
  • $P1_i$ : Nombre de prompts pour chaque itération
  • $Cprompt_i$ : Prix unitaire par prompt (yuan/prompt)

Formule du coût monétaire :

$$ \mathrm{Cash}^{(\mathrm{prompt})}i = S_i + Cprompt_i \cdot (N_s \cdot P0_i + N{it} \cdot P1_i) $$

Pour les produits “mensuel incluant N fois”, on peut utiliser le prix fictif (shadow price) pour approximation : si les frais d’abonnement de période sont $S_i$ et le quota est $Q_i$, alors $Cprompt_i \approx S_i / Q_i$. Bien que ce ne soit pas strictement un coût marginal en espèces, cela permet de convertir la “rareté du quota” en un coût d’opportunité calculable.

Point critique : Formule de la ligne de démarcation entre deux outils

Écrivons les formules ci-dessus sous une forme unifiée. Pour l’outil i :

$$ \mathrm{Total}_i = S_i

  • N_s \cdot (c0_i + R \cdot h0_i)
  • N_{it} \cdot (c1_i + R \cdot h1_i + R \cdot p_{\mathrm{fail},i} \cdot h_{\mathrm{re},i}) $$

Où $c0_i$ et $c1_i$ représentent respectivement les coûts monétaires du démarrage à froid et d’une itération unique, correspondant aux différents développements des trois modes de facturation.

Soit deux outils A et B, avec $N_s$ fixe. En posant $Total_A$ = $Total_B$, on peut résoudre le point critique du nombre d’itérations :

$$ N_{it}^{\ast}

\frac{ (S_B - S_A) + N_s \cdot \bigl((c0_B - c0_A) + R \cdot (h0_B - h0_A)\bigr) }{ (c1_A - c1_B) + R \cdot (h1_A - h1_B)

  • R \cdot \bigl(p_{\mathrm{fail},A} \cdot h_{\mathrm{re},A} - p_{\mathrm{fail},B} \cdot h_{\mathrm{re},B}\bigr) } $$

Explication :

Lorsque le dénominateur est positif, si $N_{it} > N_{it}^{\ast}$ alors A est plus économique, si $N_{it} < N_{it}^{\ast}$ alors B est plus économique. Lorsque le dénominateur est négatif, le sens de l’inégalité s’inverse. Lorsque le dénominateur est proche de 0, cela signifie que le coût marginal global par itération des deux est presque le même, le choix dépendant principalement des frais fixes et des coûts de démarrage à froid.

Vous pouvez utiliser cette formule pour calculer trois points critiques typiques : outil facturé au token vs outil facturé au prompt, outil facturé au token vs outil facturé aux appels API, et outil facturé aux appels API vs outil facturé au prompt. Il suffit de développer leurs $c0, c1$ respectifs en tokens, nombre d’appels ou nombre de prompts comme décrit ci-dessus.

Stratégies pratiques : Méthodes pour réduire les coûts

1. Développement immersif : Stratégie d’optimisation de la facturation au token

Pour les outils facturés au token (tels que Codex Cli), la stratégie principale est de maintenir la stabilité du contexte de travail.

Principe : Éviter le paiement répété de $Tin0_i$. Travailler continuellement sur le même projet permet d’amortir le coût de chargement initial du contexte, tandis que l’augmentation du taux de réussite du cache peut accélérer significativement la vitesse de réponse.

Pratique : Évitez de changer fréquemment de projet ou d’effacer le contexte. Si vous fermez le projet après avoir corrigé un seul bug, la valeur de la lecture massive de fichiers initiaux ne peut pas être pleinement utilisée.

2. Consolidation des besoins : Stratégie d’optimisation de la facturation au nombre d’appels API

Pour les outils facturés au nombre d’appels (tels que Gemini Code Assistant), la stratégie principale est de tirer pleinement parti des appels pour “établir le contexte”.

Principe : Amortir le coût $A0_i$. Les appels d’outils, la lecture de fichiers, etc., sont tous comptés dans le nombre d’appels.

Pratique : Traitez de manière centralisée plusieurs besoins connexes dans une seule session, augmentant la densité de valeur des opérations initiales telles que la lecture de fichiers. Évitez de vous déconnecter immédiatement après avoir terminé une petite tâche.

3. Traitement des tâches lourdes : Stratégie d’optimisation de la facturation au nombre de prompts

Pour les outils facturés au nombre de prompts (tels que l’ancienne version de Cursor), ils conviennent au traitement de grosses tâches ou de maintenance à froid.

Principe : Verrouiller le coût marginal. Quelle que soit la longueur du contexte, le coût par prompt est fixe.

Pratique : Les “grosses tâches” désignent celles qui consomment énormément de tokens (lecture de nombreux fichiers, contexte très long) mais dont la sortie est limitée, ou qui nécessitent un modèle de haute qualité pour le contrôle. Ce type de tâche est le plus rentable avec des outils facturés à la demande. Les petites tâches utilisant des outils facturés à la demande ont un rapport coût-efficacité plus faible.

Un processus de sélection calculable

Le diagramme de flux ci-dessous mappe les variables à la logique de sélection. Après avoir estimé l’ordre de grandeur de $N_s$ et $N_{it}$, utilisez la formule du point critique pour comparer et déterminer la solution optimale.

flowchart TD
    A[Définir la charge de travail de cette période] --> B[Estimer N_s : nombre de nouvelles sessions]
    B --> C[Estimer N_it : itérations par session]
    C --> D[Estimer c0, c1 pour chaque type d'outil]
    D --> E[Substituer dans la formule N_it*]
    E --> F{Forme de charge principale ?}
    F -->|N_s grand, N_it petit| G[Priorité : facturation par prompt ou par appels]
    F -->|N_s petit, N_it grand| H[Priorité : facturation au token]
    F -->|Les deux grands| I[Diviser le flux : démarrage avec prompt/appels, phase approfondie avec token]

    classDef in fill:#2c3e50,stroke:#ecf0f1,stroke-width:2px,color:#ecf0f1
    classDef calc fill:#3498db,stroke:#2980b9,stroke-width:2px,color:#fff
    classDef decide fill:#f39c12,stroke:#d35400,stroke-width:2px,color:#fff
    classDef out fill:#27ae60,stroke:#229954,stroke-width:2px,color:#fff

    class A,B,C in
    class D,E calc
    class F decide
    class G,H,I out