TarifsDocumentation
Commencer
Solutions · Ingénierie

Le travail qui n’arrive jamais en tête de file.

Chaque session dispose de son propre ordinateur cloud et de sa propre branche. L’agent reproduit le bug, écrit le correctif, exécute les tests et ouvre une demande de modification. Vous examinez un diff.

CommencerParlez-nous
kortix/session-9f4c2b7e · retry backoff jitter2 fichiers · +7 −1 · 214 tests réussis
 packages/queue/src/retry.ts−const delay = base * 2 ** attempt;+// Full jitter. Without it every worker wakes on the same tick and the+// retry storm is indistinguishable from the outage that caused it.+const delay = Math.random() * base * 2 ** attempt;   packages/queue/src/retry.test.ts+test("spreads retries across the window", () => {+  const spread = sample(1_000).stddev / EXPECTED_MEAN;+  expect(spread).toBeGreaterThan(0.4);+});
Illustration. Le nom de la branche est l’identifiant de session, car c’est le rôle d’une branche de session.
La transmission

Le backlog auquel vous avez cessé de prétendre que vous vous attaqueriez.

Pas les réécritures. Le petit travail bien défini qu’elles cachent : reproductions, mises à jour de dépendances, tests instables, renommage dans deux cents fichiers.

  1. 01

    Le bug que personne n’a reproduit

    Il prend le rapport, construit le cas sur sa propre machine et revient avec un test en échec ou la raison pour laquelle il n’a pas pu reproduire le problème. Une session qui ne peut pas reproduire le bug le dit. Elle n’invente pas de correctif pour un bug qu’elle n’a jamais vu.

  2. 02

    Le test instable que tout le monde relance

    Il exécute la suite en boucle, isole le test réellement défaillant et sa fréquence d’échec, puis trouve l’état partagé ou l’hypothèse temporelle sous-jacente. La demande de modification contient le taux d’échec mesuré avant et après.

  3. 03

    Mises à jour de dépendances, build vérifié

    Mettez à niveau, construisez, exécutez la suite, lisez le changelog pour repérer les changements incompatibles et adaptez les points d’appel concernés. Si la suite échoue, la demande de modification est tout de même ouverte, avec les échecs dans la description plutôt qu’une prétendue réussite.

  4. 04

    La migration mécanique dans deux cents fichiers

    Un renommage, un déplacement d’API, une règle de lint activée — le genre de changement trivial par fichier et insupportable à grande échelle. Il travaille fichier par fichier sur sa propre branche et livre un diff facile à examiner.

  5. 05

    Les exceptions de la nuit dernière, regroupées

    Il lit les erreurs de la journée, les regroupe par cause racine plutôt que par message, les classe selon le nombre de personnes touchées et traite la première jusqu’au correctif.

  6. 06

    La documentation qui a divergé du code

    Il compare le comportement documenté au comportement réel et corrige le document pour l’aligner sur le code, ou signale que le code est fautif. Les deux sont le même type de commit ici — tout est un fichier.

Le résultat

Un diff sur une branche, avec la suite déjà exécutée.

Vous recevez un diff sur une branche, avec les tests déjà exécutés sur la machine qui l’a produit. Il n’y a rien de nouveau à apprendre à lire.

kortix/session-9f4c2b7e · retry backoff jitterChange request
packages/queue/src/retry.ts
-const delay = base * 2 ** attempt;
+// Full jitter. Without it every worker wakes on the same tick and the
+// retry storm is indistinguishable from the outage that caused it.
+const delay = Math.random() * base * 2 ** attempt;
packages/queue/src/retry.test.ts
+test("spreads retries across the window", () => {
+ const spread = sample(1_000).stddev / EXPECTED_MEAN;
+ expect(spread).toBeGreaterThan(0.4);
+});
2 fichiers · +7 −1 · 214 tests réussis
Illustration. Le nom de la branche est l’identifiant de session, car c’est le rôle d’une branche de session.

Vous examinez la modification, pas un rapport à son sujet

L’agent valide son travail sur la branche de session et ouvre une demande de modification vers main. Vous examinez un diff accompagné d’une description — le même objet qu’aurait ouvert un collègue.

Il a été exécuté avant votre lecture

Le bac à sable est une vraie machine Linux : l’agent installe, construit et exécute lui-même la suite. Une demande de modification qui arrive en échec le précise dans la description au lieu de prétendre qu’elle est réussie.

Une branche, une machine, aucune collision

Les sessions ne partagent pas leur arborescence de travail. Vingt sessions peuvent travailler simultanément sur le même dépôt, chacune sur sa propre branche et son propre ordinateur, sans se gêner.

Où il intervient

Le dépôt, le tracker, le fil.

La plupart du travail se déroule dans le dépôt cloné par la session. Les connecteurs couvrent le reste et leurs identifiants restent de notre côté, jamais dans la machine.

Le dépôt lui-même
Cloné dans le bac à sable au début de la session, sur une branche vierge. L’agent dispose d’un shell, d’un système de fichiers et de tout l’historique — il peut faire un bisect, exécuter la suite et lire le commit qui a introduit la ligne qu’il s’apprête à modifier.
GitHub
Lisez les tickets, commentaires et états de branche, puis écrivez là où vous l’avez autorisé. Kortix ouvre lui-même la demande de modification ; le connecteur sert à tout ce qui l’entoure.
Linear
Récupérez le ticket à l’origine de la session, lisez les critères d’acceptation et publiez le lien vers la demande de modification lorsque le travail est terminé. Le ticket reste la source de vérité du périmètre.
Slack
Le canal en direct. Mentionnez le bot dans un fil et ce fil devient une session ; la réponse et tous les fichiers produits reviennent dans le même fil. Teams est livré mais désactivé jusqu’à son activation dans votre déploiement.
Vos propres services
Pointez Kortix vers une spécification OpenAPI ou Postman, un endpoint GraphQL, un serveur MCP distant ou une URL de base HTTP brute. Il lit la source, détermine l’authentification et transforme chaque opération en outil appelable par l’agent.

Easy connect couvre plus de 3 000 applications via leurs écrans OAuth. Tout ce qui ne figure pas dans ce catalogue est accessible via MCP, OpenAPI, GraphQL ou HTTP brut — généralement la réponse honnête pour un service interne, qui n’a jamais eu d’entrée de catalogue publique.

Comment il s’exécute

Demandez maintenant, surveillez l’essentiel, dormez pendant le reste.

Trois façons de démarrer la même session. L’isolation et le parcours de revue ne changent pas selon le déclencheur.

  1. 01À la demande

    Depuis le fil où vous êtes déjà

    Décrivez le bug dans un fil Slack ou démarrez une session depuis l’application web ou la CLI. Vous recevez une réaction sur votre propre message, pas une publication du bot, et la réponse arrive dans le même fil.

  2. 02Avec intervention humaine

    Il s’arrête là où vous le lui demandez

    Définissez une action sur Ask : l’exécution s’arrête à l’appel et attend, en vous montrant l’action et ses arguments. Approuvez-la ; le même appel se termine et la session reprend exactement là où elle s’était arrêtée.

  3. 03Automatisé

    Un cron ou un webhook signé depuis vos propres alertes

    Triez les exceptions de la nuit à 06:00. Ou reliez vos alertes à un webhook signé afin qu’un événement de notification démarre une session avec la charge utile de l’incident déjà présente dans le prompt.

Control

Rien ne se fusionne tout seul.

La question n’est pas ce qu’un agent peut écrire, mais ce qu’il peut intégrer. Voici la réponse exacte.

La fusion est interdite par défaut
Un agent ne peut pas fusionner vers main. L’autorisation existe — un administrateur peut accorder project.cr.merge — mais elle est définie dans kortix.yaml ; l’élargir constitue donc lui-même une modification soumise à revue. Rien de tout cela n’est une valeur par défaut cachée.
Les étapes d’approbation sont désactivées jusqu’à leur configuration
La configuration livrée par défaut est permissive : les actions s’exécutent sauf indication contraire. Définissez Ask pour celles qui doivent s’arrêter et Block pour celles qui ne doivent jamais se produire, par action ou avec une règle de pattern. Nous préférons vous indiquer la valeur par défaut plutôt que vous laisser supposer qu’elle est plus sûre.
Chaque session est isolée des autres
Une machine Linux éphémère par session, sur sa propre branche. La seule chose réellement partagée est le monde extérieur — c’est pourquoi l’accès est décidé par les connecteurs, pas par la machine.
Les identifiants des connecteurs n’entrent jamais dans la machine
Le bac à sable contient un token Kortix limité au projet et aucune clé tierce. La passerelle déchiffre l’identifiant réel côté serveur et l’ajoute à l’appel sortant. Un secret d’exécution que vous accordez volontairement est différent : c’est une vraie valeur d’environnement lisible par l’agent, et c’est précisément son rôle.
Chaque appel d’outil est consigné
La passerelle qui résout l’identifiant est aussi celle qui écrit l’enregistrement : l’action, l’agent, la personne ou le déclencheur derrière la session, le résultat et l’auteur de la libération d’un appel suspendu.
Fonctionnement de l’isolationFonctionnement du relais des connecteurs

La même plateforme, pour les autres équipes

Un projet, un ensemble de connecteurs, une mémoire qui s’enrichit. Chaque équipe écrit les compétences adaptées à son travail, sans mettre en place un second système.

  • VentesRecherche, brouillons et hygiène CRM, soumis à votre approbation
  • MarketingDu travail de production qui vous ressemble, parce que la voix est un fichier
  • ProduitRetour synthétisé en spécifications, preuves à l’appui
  • FinanceLa clôture, le rapprochement et la note d’écart
  • PersonnesPlanification, kits et intégration — jamais la décision d’embauche
  • ITDes runbooks qui s’exécutent, et une plateforme qui résiste à votre contrôle
  • Data ScienceUne vraie machine, une vraie requête, une analyse que vous pouvez relancer
Toutes les solutions →

Faites fonctionner toute votre entreprise depuis un dépôt qui vous appartient.

Commencez par une tâche et développez à partir de là.

Commencer

Produit

  • Ordinateur de l’agent
  • L’entreprise sous forme de code
  • Connecteurs
  • Automatisations
  • Canaux
  • Agents et compétences
  • Sécurité
  • Auto-hébergé
  • Enterprise
  • Tarifs
  • Télécharger

Solutions

  • Ventes
  • Marketing
  • Ingénierie
  • Produit
  • Finance
  • Personnes
  • IT
  • Data Science

Développeurs

  • Documentation
  • AI Operating System
  • CLI
  • SDK
  • Démarrage rapide
  • Pour les développeurs
  • Marketplace
  • GitHub

Entreprise

  • À propos
  • Carrières
  • Blog
  • Journal des modifications
  • Cas d’usage
  • Marque

Connecter

  • X
  • LinkedIn
  • Discord
  • Statut
  • Assistance
  • Conditions
  • Confidentialité
©2026 Kortix