AI Workout Generation Feedback

I like it! the last 2 workouts it generated met my training needs for the day better than selecting from the stock set… but… yesterday I had more time to train than normal so after applying a filter to indicate to xert my minimal training time was 120m (double my avg on a Wednesday) and that I wanted a minimum of 130 XSS the AI did not take that into account when generating my workout.

It would be nice if it could take these parameters into the generation.

Of course its new and I might be missing something.

1 Like

You can have a look at this thread:

1 Like

We’re working on a front end to allow you to adjust the goals of the workout and letting the AI generator create it for you.


That will be great. I have been ill for almost a week now, and not looking forward to the proposed first session below. It absolutely makes sense if the user can adjust/add constrains to the generated workout. Especially when it comes to time available (both less and more) and difficulty. After illness I guess I can just pick something easy from the library and see how it is going, but if I wanted to use the generator I would like to limit the duration and difficulty in the first session, and then increase it a bit the next day if all went well.

I do not understand why the constraint must have a different UI than the filter you use for selecting workouts? After all you can think of the generator as a way of generating a workout that is best matching the search criteria and if all goes well the generated workout will be shown on the top because it is the best match (better that the workouts in the library). Of course there are a few search criteria which are not relevant such as the workout name, activity filters, and the workout source, but that shouldn’t really be a problem.

If you want to extend that thought a bit you could remove the autogen button, always create a Ai workout when you do a search/show the proposed workouts (might require faster generation using more parallelization) and present it in the search result list among the other workouts. The user can then select it in the same way as the other workouts using the Play Now button (which should be renamed to Select I guess?). If you do it that way the user will have a seamless experience for standard workouts and for the generated workouts.

One question to @xertedbrain : when you generate the workout do you iterate through a fixed set of possible workouts (brute force basically) or do you use some kind of nonlinear numerical optimization? It looks like you currently have the following variables when creating a workout:

  1. Number of repetitions, same for all sets, one variable
  2. Work and rest power for each set (unless they are set in a fixed relationship), total six variables
  3. Duration of work intervals, one variable
    So in total eight variables.

1 Like

In principle the AI generation frontend is similar to the filter but will be a bit easier to interact with and won’t be a range to filter but a specific value to use. It will also likely prevent some combinations. For example, you can’t say you want 140XSS in less than an hour with 2 diamond difficulty. So freely choosing durations and difficulty isn’t possible. If a criteria cannot be met, should the generator stop or look for something close to it. At the moment, it keeps going but if you have a duration of 1 hour and the criteria cannot be met, should it return “Sorry. No workout is possible.” If we can speed up the generation we may be able to provide this feedback more interactively.

In terms of how it works, since the solution space isn’t entireiy continuous, using non-linear optimization alone isn’t going to find solutions consistently (so we found out after trying many different methods) so we created a bit of a hybrid which works well.

It would also be nice to select a day to run Autogen on. Right now, it seems I’m limited to creating on the current day.

We’re still thinking about this one and what the interaction needs to be. We can create lots of they but organizing and managing them can be a problem. But they are single use workouts so they need to get generated when you need them and tossed out right after. Perhaps a planning option to “Use Autogenerated Workout” rather than picking a workout.

1 Like

why should they be any more single use than any other workout. You can open an AI gen workout in the workout creator and then save it as is or modify. If you like what is generated then it is a good option to have in your personal library. Recently it gave me a workout that I particularly liked so I saved it.

1 Like

Of course you can reuse it, but you don’t want to end up with 365 generated workouts in your library by default after one year of use. If you save it you might want to change the name etc.

The problem they have tried to solve is: what is the best workout today — based on the XSS target/deficit I have. And the fitness signature I have today. And perhaps a few other variables they take into account. And the answer to this question will be different from day to day.

1 Like

I don’t disagree, just making the point that if it is a good workout that you can save it to your personal library, that it is not necessarily throw away. Heck lots of people have lots of workouts in their library. I doubt anyone will use AI generation every time or even every day… (I hope you don’t do either Xert or AI gen workouts every day for a year :wink: ). AI Gen is just a nice added option when what comes up on the advice just does not feel right for the day and how you feel, the AI option is a nice way to go and if it had the constraints that were discussed above well so much the better.

Sure, but I think @xertedbrain ‘s point was that if you fill out your calendar with AI generated workouts (say for the next week) and then do a change to say the first day (e.g. you cut it short or produce a bit different numbers because you are not using ERG), then suddenly all the AI generated workouts the following days are suboptimal and should be replaced with different workouts.

The current ATA framework is an extension of the today’s training paradigm where you have various types or categories of workouts scheduled (periodized) in a way that aligns towards a goal - Base/Build/Peak. Workouts then fit into one of these categories and plan them out as part of your training. This is how today’s training plans work in one way or another.

A new paradigm (hint, hint) is not to categorize your training based on a pre-defined periodization method but to use workouts to achieve the specific improvement with specific frequency (i.e. recovery time) constraints. For example, at a given point in your training program, you may want your low training load to increase at a certain rate, your high training load to increase at another rate and your peak training load to increase at yet another rate all at same time. The rate of increase and your current training loads (low, high, peak) together with the desired recovery time dictate the amount of low, high and peak XSS you should accumulate at that time in order to acheive the progress and recovery desired. If you follow this new paradigm, you might not have a workout that meets those specific targets. Hence… :smile:

1 Like

I have to say I used the AI generator and liked what it proposed vs what was available in the suggestions on the occasion I used it. With some constraint capabilities it will be pretty impressive I think.

1 Like

A tunable progressive overload quantization and performance measurement machine. Wonderful!

1 Like

I used AI workout last night - its work out was fantastic and exactly what my “body” wanted.

It aligned with my time availably of 60-mins, however this is the first time I have used it because other times it gave me workouts that were 30-mins (I had more time) and then 1hr 45mins (I only had 60-mins available).

That’s my only gripe right now with the AI is I am in fact a random schedule this time of year. It worked fantastic for the workout I tried.

1 Like

I think I love what I think you’re saying here.

I’ll throw out the counter to my own argument, Autogen should be really simple. Right now, it gives you a good workout based on your XATA recommendation. You don’t need filters for Focus or duration, because it’s doing that for you. As others have pointed out, it’s so cool that it seems a waste not to be able to use it to build workouts you might want in the future.

AI Gen just need a time option and it will generate a workout.

1 Like

I think you also want to be able to constrain the difficulty or XSS.

I have been ill for a week now, and my current recommendation is 274 XSS (267 | 6.5 | 0.5) and the proposed workout takes 3 hours and 40 minutes at 80 difficulty.

That is a very long workout and not the best way to start after being ill. If we limit the duration then the difficulty will increase or the XSS must drop. We must instruct what we want here.

@xertedbrain Is it correct that the current generator will propose a workout with matching XSS without a constraint in the duration? And
Use a maximum difficulty of 80 or so?

It balances duration and difficulty. These are the trade-offs. If you decrease the duration, difficulty will go up for the same 3 XSS targets.