Skip to content

Agentique : EPITA devient oracle de proprietes, ADK/Aspire reste le runtime — ne pas restaurer le runtime SK #14058

Description

@myia-ai-01

Decision

Ne pas restaurer l'ancien runtime Semantic Kernel EPITA comme runtime de production
scientifique. S'en servir comme oracle de proprietes a recuperer, et reimplementer ces
contrats au-dessus du runtime ADK / Aspire desormais reellement execute dans le depot.

C'est une simplification architecturale, pas un abandon : ce qui a de la valeur dans EPITA
est le jeu de contrats comportementaux (etat partage, designation, handoff, budgets,
specialistes), pas le moteur qui les portait.

Ce qui a change, et qui rend la decision possible — mesure firsthand 2026-09-01

L'argument n'est pas « ADK est plus moderne ». Il est qu'un runtime reellement execute
existe maintenant dans le depot, ce qui n'etait pas vrai quand la question s'est posee.

MyIA.AI.Notebooks/ML/DataScienceWithAgents/Track2-GoogleADK/utils/adk_runtime.py :

22: from google.adk.agents import Agent
23: from google.adk.models.lite_llm import LiteLlm
24: from google.adk.runners import Runner
25: from google.adk.sessions import InMemorySessionService
26: from google.genai import types

Day5-DS-Star/Lab11-Planner-Coder-Loop.ipynb : 16 cellules code, 16 executees, 0 erreur.
Chaine Planner -> Coder -> Executor -> Verifier, tool round-trip observable vers
get_dataset_schema (10 occurrences), sessions distinctes (verifier_session), modele
gemini-2.5-flash-free-tier. Lab12 pousse le meme runtime vers plusieurs analyses.

Une precision que la lecture superficielle rate. Le notebook n'importe pas ADK
directement : il fait from utils.adk_runtime import build_agent, run_agent_turn. Le seul
Agent( du notebook est un DSStarAgent( local, et Runner n'y apparait qu'en prose.
Il faut ouvrir adk_runtime.py pour etablir que le vrai ADK est bien la — ce que les
lignes ci-dessus font.

Cette couche est legitime et ne doit pas etre confondue avec le cas ict.bridges
(cf #14051) : adk_runtime est un wrapper mince multi-provider (factorisation via
LiteLlm) qui n'heberge aucun algorithme propre, la ou ict.bridges reimplemente des
estimateurs qui vivent ailleurs. Meme silhouette, statut oppose. Le discriminant est
« la couche detient-elle de la logique dont elle est la seule source ? ».

Ce que la decision implique concretement

  1. Ne pas rouvrir de chantier de restauration du runtime SK EPITA.
  2. Extraire d'EPITA la liste des contrats comportementaux, comme specification testable
    — c'est le sens de « oracle de proprietes » : EPITA dit ce qui doit tenir, pas
    comment l'executer.
  3. Implementer ces contrats au-dessus d'ADK (+ Aspire pour l'observabilite et les
    primitives distribuees).
  4. Un contrat n'est repute porte que s'il a un test qui echoue quand on le retire.

Acceptance

  • Liste ecrite des contrats EPITA, un par ligne, avec le fichier EPITA qui l'atteste
  • Pour chacun : porte / non porte par le runtime ADK actuel, mesure et non suppose
  • Les contrats non portes deviennent des grains, au-dessus d'ADK — jamais une
    restauration du moteur SK
  • Aucun chantier de restauration ouvert apres cette issue

Origine

Revue externe du 2026-09-01, verifiee firsthand avant d'etre actee (l'affirmation
« de vrais google.adk.agents.Agent » ne se lit pas dans le notebook : elle se lit dans
adk_runtime.py, et l'ecart valait d'etre mesure avant d'arbitrer).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions