Concepts
Sources, dossiers, questions, réponse adaptative, modes et budgets, preuves, threads et runs.
Sources#
Un fichier envoyé, une URL, une spécification de connecteur (arxiv:1706.03762) ou du texte (text:...)
(Formats).
- Identifiant
src_…; un plan de régions (pages, sections, chapitres, fenêtres de temps, enregistrements). - Une source inconnue nommée dans une question est inspectée à la volée et gardée dans la bibliothèque. Ajout
explicite:
POST /v1/sources. - Parmi beaucoup de sources, Sextant classe leurs courtes descriptions (titre, plan, premières lignes) et n'ouvre que
les meilleures, au plus
max_sources. - Dans une bibliothèque de séries (plusieurs rapports par société, un par an), les noms de fichiers, ou à défaut les premières pages, disent l'auteur et la période de chaque document: une question qui nomme une société et une année ouvre d'abord ces documents.
Sources dynamiques#
Recherches (hn-search:...), flux (feed:...), issues GitHub, DNS, directs.
- Un identifiant par spécification, quel que soit le contenu.
- Rafraîchie quand une requête l'ouvre et que sa capture est plus ancienne que
refresh_s(PATCH /v1/sources/{id}). Rien ne tourne en tâche de fond. - Chaque changement est un instantané daté; un contenu inchangé marque seulement le dernier comme à jour.
- Un run garde la capture qu'il a interrogée. Une capture qui sert une réponse est conservée comme source fixe dans le
dossier Kept from live sources (« Captures conservées » dans l'application); à la main:
POST /v1/sources/{id}/keep. twitch:<chaîne>ettwitch-chat:<chaîne>: rien n'est enregistré à l'ajout; chaque requête enregistre le flux (ou lit le chat) pendant qu'elle tourne, par morceaux de 10 s interrogés à leur arrivée. Durée:?window=Nouconfig.window_s, 5 à 300 s (chat: 120 s au plus), dans la limite de temps du mode.
Dossiers#
Ensembles de sources nommés et imbriqués (API).
- Une source peut être dans plusieurs dossiers; noms uniques entre voisins.
- Supprimer un dossier garde ses sources; ses sous-dossiers remontent d'un niveau.
- Cibler un dossier dans les
sourcesd'une question: par identifiant (fld_…), nom ("Contrats") ou chemin ("Clients/Acme"). Il est remplacé par ses sources et celles de ses sous-dossiers, puis la sélection habituelle s'applique.
Questions#
Un seul point d'accès, POST /v1/ask, pour toutes les questions. Sextant choisit la méthode:
- la plupart des questions: une recherche directe, puis une réponse citée;
- une question en plusieurs parties, comparative ou une liste: le workflow de recherche. Jusqu'à 4 sous-questions,
cherchées dans toutes les sources; preuves recoupées; chaque affirmation vérifiée contre ses citations; SQL en
lecture seule sur les tableaux trouvés (un total, une moyenne), cité comme preuve. En
deep, une boucle d'agent avec outils le mène (événementresearch_mode).
Réponse adaptative#
La réponse est aussi longue que la question le demande: une phrase pour « Quel âge a le PDG ? », un rapport structuré pour « Une étude complète de mes 10 PDF ». Ni la question ni la réponse n'ont de limite de taille fixe.
- Avant la lecture, la longueur est planifiée d'après la question (ses mots, sa longueur) et les sources qu'elle concerne.
- Pendant la lecture, le plan est révisé selon ce qui est trouvé: une demande ouverte dont les preuves couvrent
plusieurs sources devient un rapport, lu aussi profondément qu'en
deep. Un fait (une date, un montant, un nom) reste court. - Le plan figure dans
processing.adaptive_outputet dans les événementsoutput_plannedetoutput_replanned. Une réponse longue reçoit les jetons de modèle de langage qu'il lui faut au-delà demax_llm_tokens. max_output_tokensplafonne la réponse,budgetla recherche. Une réponse longue coûte plus (billing.price_usd); lemonthly_budget_usdd'une clé d'API plafonne la dépense (Tarifs).
Modes et budgets#
Un budget borne le temps et ce qu'une requête lit. Préréglages (Rapide, Équilibré, Approfondi dans l'application):
budget: un préréglage ("deep") ou un objet qui en part et remplace des champs:
{ "budget": { "preset": "deep", "max_latency_s": 60, "max_frames": 50 } }La limite de temps borne la recherche; la rédaction ajoute quelques secondes, plus pour un rapport long. Un budget est un plafond, pas un prix (Tarifs).
Preuves et citations#
- La réponse est rédigée dans la langue de la question.
confidencevient de signaux (pertinence, couverture, sources concordantes, chiffres cités mot pour mot, affirmations vérifiées, contradictions), pas d'une auto-évaluation d'un modèle.- Preuves faibles mais liées: la première phrase dit que les sources ne répondent pas directement, puis la réponse rapporte ce qu'elles disent, cité.
- Contradiction: signalée; un erratum ou une correction donne la valeur en vigueur.
Threads et relances#
Renvoyez le thread_id d'un résultat pour une relance (« et pour 2025 ? », « c'est faux, regarde la page 12 »). Elle
est réécrite en requête autonome et cherchée dans les sources du thread (sauf si elle en nomme d'autres), à partir des
preuves des tours précédents. Points d'accès: Threads.
Runs et liens de partage#
Chaque question est un run (run_id; une « recherche » dans l'application). Il garde ses
événements, passages lus, preuves, couverture par source, tableaux et requêtes SQL. Lien de partage
(environment_url) et SQL: Runs.
Espaces de travail#
Un par compte: sources, dossiers, threads, runs, solde. Un identifiant d'un autre espace répond 404, comme un
identifiant inexistant.