Define a sweep configuration dict specifying method (grid, random, or bayes), metric name and goal, and parameter search spaces
Create the sweep on the W&B server: sweep_id = wandb.sweep(sweep_config, project='my-project')
Write a training function that calls wandb.init() at startup to receive hyperparameters via wandb.config, then logs the target metric with wandb.log({'val_loss': value})
Launch one or more agents to consume the sweep: wandb.agent(sweep_id, function=train, count=20) — run multiple agents in parallel across machines to scale
Monitor progress in the W&B UI sweep dashboard; use early termination (e.g., HyperbandStopper) by adding an early_terminate block to the sweep config
Retrieve the best run programmatically with wandb.Api().sweep('<entity>/<project>/<sweep_id>').best_run()
Known gotchas
Bayes search requires at least a few completed runs before it can model the search space — initializing with random search for the first handful of runs avoids cold-start poor suggestions
The sweep agent blocks the process; to run agents in parallel on the same machine use separate processes or subprocess calls rather than threads, as wandb.init() is not thread-safe within a single process
Parameter names in the sweep config must exactly match the keys accessed via wandb.config in the training function — a mismatch causes the agent to use default values silently
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp