Call It : une IA gère mes prédictions Twitch pendant que je joue, et 10 paiements sur 12 concordaient avec le registre de chess.com
Les Prédictions Twitch sont réservées aux affiliés, et quelqu'un doit encore ouvrir chaque pari et annoncer le résultat à la main. Call It regarde la partie par OBS et s'en charge : il ouvre le pari, le verrouille, paie et crée un clip du moment, sur n'importe quelle chaîne. Sur une diffusion d'échecs inédite, 10 paiements sur 12 concordaient avec chess.com.

En plein combat, le clavardage ne peut que regarder
Je diffusais du WoW sur une petite chaîne. En plein combat, les deux mains sur le clavier, mon clavardage ne pouvait que regarder. Twitch a un jeu de paris pour exactement ce moment-là, les Prédictions, mais il est réservé aux affiliés, et même avec ce statut, quelqu'un doit lancer chaque pari et annoncer le résultat à la main. Call It fait ce travail. Il regarde la partie par OBS et gère les paris de prédiction dans le clavardage : il les ouvre quand un combat va commencer, les verrouille vers la fin, les règle quand le résultat est à l'écran, et publie un clip et un marqueur de diffusion. N'importe quelle chaîne peut l'utiliser, sans statut d'affilié, sans modérateurs et sans serveur à héberger.

Ce qui s'est passé en direct
Sur mon propre jeu, Orvandel, un MMO que j'ai bâti, en direct sur Twitch : la carte titre d'un boss apparaît et Call It ouvre « Will The Bellows be defeated? » dans le clavardage. Un spectateur parie !1 300 (mon compte principal, qui joue le spectateur). La carte de la superposition se remplit à mesure que les points arrivent, et vers la fin du combat, elle se verrouille. Quand la bannière de victoire s'affiche, un modèle rapide propose le résultat et un deuxième modèle, plus fort, vérifie les images avant que quiconque soit payé. Le paiement arrive dans le clavardage avec un lien vers un clip, et un marqueur s'ajoute à la vidéo. L'agent fait lui-même les trois appels à Twitch.
Tiré de la diffusion :


Comment il décide
Toutes les 4 secondes, gpt-5.4-mini voit les trois dernières images d'OBS, l'état du pari et les décisions récentes, et doit appeler exactement un outil : wait, open_bet, lock_bet, resolve_bet ou cancel_bet. Le code ne choisit jamais l'action; il ne fait qu'imposer des limites : un pari à la fois, un délai entre les paris, la longueur de la question et des issues, un remboursement après expiration, et des plafonds de dépenses. Un paiement proposé passe par un deuxième regard de gpt-6.1-sol, qui voit les images de la proposition et les images plus récentes, et retient l'issue que les images prouvent, ou la rejette. Chaque décision, avec les images qu'elle a vues, est dans le journal des décisions.

Quand il ne voit pas le résultat, il rembourse
Une fois, il a ouvert un pari pendant que je parlais à un donneur de quête, n'a vu aucun combat, et a rendu leurs points à tout le monde. Un remboursement est la réponse de l'agent chaque fois que les images ne prouvent pas une issue, et le diffuseur ou un modérateur peut en forcer un en tout temps avec !callit cancel.

Mesuré contre quelque chose que je ne contrôle pas
Mon propre jeu ne peut pas corriger un pari, parce que c'est moi qui l'ai écrit. Alors j'ai rejoué de vraies diffusions d'échecs dans la même boucle et corrigé chaque paiement de résultat contre les registres publics des parties de chess.com, avec un script sans aucun modèle. Sur une diffusion de 2,4 heures que Call It n'avait jamais vue, 10 paiements sur 12 concordaient avec le registre et il a remboursé 8 paris au lieu de deviner. Le deuxième regard est intervenu sur 11 des 18 paiements proposés (5 mauvais gagnants corrigés, 6 paiements tirés du résultat d'une autre partie rejetés) et avait raison les 11 fois. Avant ces corrections, sur la diffusion qui m'a servi à l'ajuster, c'était 4 sur 10. Les fichiers d'exécution, les journaux de décisions et les notes sont dans eval/results/, et npm run grade les recorrige sans aucun appel de modèle.

Bâti dans un seul fil Codex
Tout le code du produit a été écrit dans OpenAI Codex, dans un seul fil, à partir de SPEC.md et d'AGENTS.md : 18 requêtes, 26 commits, 72 tests. Codex a écrit le client EventSub de Twitch, l'authentification par code d'appareil, la boucle de l'agent et les schémas d'outils, les garde-fous et les plafonds de dépenses, le registre des points et le calcul des paiements, le deuxième regard, les appels de clips et de marqueurs, la superposition, le mode de rejeu et le correcteur d'échecs. Chaque requête que j'ai envoyée est dans CODEX_PROMPTS.md dans l'ordre d'envoi, et l'historique des commits montre la construction étape par étape. J'ai utilisé Claude Code en parallèle de Codex pour la planification, la révision des requêtes, les tests en direct et les essais d'évaluation.

Ce qui n'est pas revendiqué
Le 10 sur 12 est corrigé par les registres de chess.com, pas par moi ni par un modèle, mais il vient des vidéos d'échecs d'un seul diffuseur, donc l'essai mis de côté teste des parties inédites dans une mise en page sur laquelle l'agent avait déjà été ajusté, et douze paiements, c'est peu. La démo en direct sur mon propre jeu n'a aucun correcteur externe, c'est pourquoi la mesure porte sur les échecs. L'agent lit des pixels et peut se tromper : le deuxième regard réduit les erreurs de paiement sans les éliminer, et le diffuseur peut rembourser n'importe quel pari avec !callit cancel. Il gère les paris en mode clavardage avec ses propres points; les Prédictions natives avec points de chaîne pour les chaînes affiliées sont la prochaine étape. Les clips et les marqueurs ne sont créés que lorsque la chaîne est vraiment en direct, et le mode en direct est plafonné par défaut à 600 appels de modèle.
Call It: an agent that watches your game through OBS and runs your Twitch chat's prediction bets, opening, locking, paying out and clipping the moment, on any channel with no Affiliate needed
Voir le projet