À propos du projet

Reef est la première infrastructure open source pour des agents continuellement auto-améliorants. Elle relie l'inférence des agents, le retour d'information, l'apprentissage et la livraison versionnée. Utilisez-la pour entraîner les poids d'un modèle avec Slime et SGLang, ou pour améliorer le harness d'un agent, y compris ses prompts, règles et compétences. ## Quand utiliser Reef Utilisez Reef lorsque vous voulez que votre agent continue de s'améliorer simplement en apprenant de vos interactions avec lui. Il prend en charge trois parcours d'apprentissage : - Entraînement des poids du modèle : pour un modèle plus performant conçu pour vous, nécessitant un modèle entraînable, une pile GPU et du retour d'information. - Optimisation du harness : pour un harness auto-améliorant (prompts, règles, compétences), nécessitant un point de terminaison de modèle, des tâches et un évaluateur ; pas de GPU d'entraînement local. - Découvertes scientifiques : entraînement au moment du test avec un environnement d'exécution, un vérificateur de correction et un objectif mesurable. ## Fonctionnement Reef traite chaque cycle d'apprentissage en quatre étapes : 1. **Serve** : servir les requêtes de l'agent et enregistrer les interactions. 2. **Observe** : associer le retour d'information aux interactions enregistrées. 3. **Grow** : produire une mise à jour à partir des enregistrements éligibles. 4. **Commit** : appliquer la politique de sélection et publier les mises à jour acceptées. ## Installation Installez depuis PyPI avec `uv pip install reef-infra` ou depuis les sources. Nécessite `git-lfs` pour les fonctionnalités d'artefacts et de points de contrôle. ## Utilisation Démarrez Reef comme serveur d'inférence pur : `uv run reef serve --inference.model-path Qwen/Qwen2.5-1.5B-Instruct`. Pour les déploiements avec entraînement des poids, utilisez l'exemple SAO. Envoyez des requêtes d'inférence via des points de terminaison compatibles OpenAI/Anthropic, signalez le retour d'information avec des scores et des reçus, et observez le modèle apprendre et mettre à jour les poids sans redémarrage. Pour les déploiements à harness évolutif, utilisez la recette intégrée Reefine. Elle affine un harness de codage à partir de demandes en langage naturel via une API de modèle. Installez le harness avec `reef-pi` et faites-le évoluer avec des commandes comme `reef-pi evolve "..."`. ## Recettes et exemples Reef inclut des recettes pour la découverte scientifique (TTT-Discover, Guidance-TTT), l'apprentissage continu sur des flux de tâches (SAO, Meta-Harness, GEPA) et l'apprentissage à partir de l'usage (OpenClaw-RL, SkillClaw, Reefine). Chacune dispose de guides, de code, d'exemples et de benchmarks mesurés. ## Architecture Le diagramme d'architecture montre les requêtes du harness circulant via un scénario vers l'inférence, le retour d'information lié aux reçus alimentant les enregistrements et l'entraînement des recettes, et l'évaluation des artefacts sélectionnant les mises à jour pour une publication versionnée. ## En savoir plus La documentation couvre le démarrage rapide, l'API HTTP, l'écriture de recettes, l'évolution du harness ou du modèle, le catalogue de recettes, la boucle principale et le glossaire. ## Communauté Rejoignez Discord, WeChat, GitHub Discussions, contribuez via le guide, proposez des RFC, signalez les vulnérabilités. ## Équipe Listée par ordre alphabétique, incluant Wenhao Chai, Shuangrui Ding, Shiyi Zoe Du, Hao He, Haoze He, Chonghe Jiang, Nan Jiang, Xuan Jiang, Xiaochen Li, Paul Liang, Bo Liu, Boyuan Long, Qiuyang Mang, Zhenting Qi, Ao Qu, Mingruo Qu, Zhaokai Wang, Xuezhi Yan, Hanfei Yu, Haofei Yu, Simon Yu, Han Zheng, Kaichen Zhou, Zijian Zhou, Jiacheng Zhu, Dingyi Zhuang, Xinkai Zou. ## Remerciements Nous remercions SGLang, slime et cordis pour les composants importants de Reef qu'ils alimentent.