The high level controller would be the feedback loop that tries to satisfy your goals with the student.
For example, say you want the student to get at least 70% correct answers in each section.
So you store the students previous progress in persistent memory, like a database, and first see which topics/sections you haven’t covered, and what are the previous scores (if any).
Then you drive the conversation to cover all the topics, and get at least 70% on each topic. You examine the schedule and completeness of the table, and proceed to interact with the student to fill this table out and get the threshold 70% score in each category.
So you are using a chunk of memory, and letting the computer examine it, which drives the conversation with the student.
So the computer is examining this data, and you then would push the AI to delve into whatever new topic, or cover old topics with a quiz, with achieving the goals as the objective.
You could even track how many times you try, and give up after a certain point and move on, so you don’t get stuck in an infinite loop.
Also I see in your JSON non printable characters and math formulas, you need to be sure about your character encoding in training JSON files to be UTF-8 so that it wouldn’t break. That might be the cause of the errors with your files.
Seeing your JSON and structure, I would personally try to isolate entities you’re operating with and track their sources. Here is my logic behind it (again, very subjective)
Your goal is to TEACH, STUDENTS some CONCEPTS which are broken into complex SUBJECTS with UNITS and LESSONS as children of first and second level, where TEACH means transfer UNDERSTANDING of the SUBJECT that can be verified by high SCORE obtained during the TEST…
I would start with building the CONCEPT object structure to understand what and how it can be taught…
Your response is worth gold. Intuitively, I was doing something similar but wasn’t sure if it was a good way to improve. However, your explanation, and I imagine your extensive experience, confirm that it is the correct approach
Doing what I do for decades kind of helps to train abstract thinking… Which is often a good thing, however sometimes the price to pay is people tend to take you for an alien
But the thing started well before, when I realized that grammar is something so easy for me that even teachers in school and professors in university had a hard time to keep up with my logic. Maybe being natively bilingual has something to do with this, as you may “switch optics” on the fly.