{"adoption": {"forks": 615, "observed_at": "2026-08-28T04:05:21.062472+00:00", "stars": 1679}, "canonical_url": "https://ross.abutalabs.com/products/rl-swarm", "card": {"archived": false, "artifact_type": "framework", "description": "A fully open source framework for creating RL training swarms over the internet.", "domain": ["machine-learning", "large-language-models", "artificial-intelligence", "microservices", "blockchain"], "enriched": true, "function": ["llm-training", "reinforcement-learning", "agent-framework", "p2p"], "health_score": 72, "homepage": "https://www.gensyn.ai", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["gensyn-ai/rl-swarm"], "name": "gensyn-ai/rl-swarm", "platform": ["python", "cross-platform"], "pushed_at": "2026-01-05T21:15:30+00:00", "repo": "gensyn-ai/rl-swarm", "stars": 1679, "tags": ["reinforcement-learning-swarm", "decentralized-training", "peer-to-peer-ml", "gensyn-testnet", "collaborative-training", "multi-agent-rl", "docker", "linux", "macos", "gpu"], "topics": [], "urls": [], "use_cases": ["join a decentralized RL training swarm from a consumer laptop", "train LLMs collaboratively with peers over the internet", "run a swarm node on a GPU in the cloud", "participate in code-generation RL tasks with on-chain identity", "create custom multi-agent reinforcement learning swarms", "contribute compute to crowd-sourced model training runs"], "what_it_is": "RL Swarm is an open-source, permissionless peer-to-peer framework for running reinforcement learning training swarms over the internet, built on the GenRL library. Participants train models collaboratively on shared tasks (currently code generation via the CodeZero environment) and can earn on-chain identity and progress tracking on the Gensyn Testnet.", "when_to_avoid": ["you need a single-node, fully local training pipeline without networking", "you require production-grade supervised fine-tuning with guaranteed convergence", "you cannot run Docker or manage Python environments", "you need an officially running swarm right now, since none are currently active"], "when_to_choose": ["you want to participate in or build decentralized, peer-to-peer RL training", "you want to run collaborative LLM fine-tuning on consumer hardware or cloud GPUs", "you need a composable multi-agent multi-stage RL environment framework", "you want on-chain identity and reputation for training participation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rl-swarm", "repo": "gensyn-ai/rl-swarm", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:21.062472+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:41:31.163136+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d3b64c899b6e3240c429245e3781440f13cf774d9c3034e79ca57d3d18687ea8", "fetched_at": "2026-08-28T04:05:21.062472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gensyn-ai/rl-swarm"}, {"content_hash": "0ac898f1cacdf3b6344976b2feb9b5560c53b89834203fef97346e26f81ee72b", "fetched_at": "2026-08-29T11:14:45.744813+00:00", "kind": "homepage", "missing": false, "url": "https://www.gensyn.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 60, "longevity": 39, "rhythm": 56}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 554, "days_push": 240, "days_rel": 294, "gap_med": 4.0, "n_releases_24m": 25}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}