Constructing a ChatGPT Learning Companion for my daughter
A minor exploration into using LLMs to help my daughter learn Chinese
In trying to tutor my daughter in her school work, I’ve come to realise that teaching at the primary school level has less to do with knowledge than delivery. Young children require a lot of patience and the teacher to be able to see things from their point of view and communicate in a certain way.
Unfortunately, I am short on patience. Also, I believe the situation is aggravated when teaching one’s child because you inadvertently bring in your expectations for the child in your communication. That creates extra pressure during the tutoring sessions. Every frown, every micro-expression, is taken in by the child and can be construed as disappointment. Over time, it can generate a lot of stress.
I was then inspired by a conversation I had with a friend and I started to think about ways to alleviate this using AI. Perhaps there is a way for me to help my daughter learn, but taking my lack of communication skills and impatience out of the picture.
A ChatGPT Chinese Learning Companion
What I did was to construct a custom GPT on ChatGPT to help my daughter revise her Chinese spelling. The prompt used to generate the GPT, which I call 熙师, is shared here.
Basically, I uploaded a copy of my daughter’s primary school Chinese curriculum and asked chatGPT to generate explanations, example sentences and simple multiple choice questions to test her understanding.
As this GPT is targeted for use by young children, I can’t share it publicly via ChatGPT’s marketplace as per OpenAI’s policy. You will have to set it up in your own chatGPT subscription. Instructions are shared in the repository as well.
My daughter’s initial reactions
My daughter was really amused when I told her that I had “coded” a Chinese spelling revision spelling app for her. When she used it, she took to the interface quite naturally. The ChatGPT function where the text is read out by a friendly voice helped ease the initial adoption challenges as well.
The fact that my daughter can ask ChatGPT to keep repeating till she understood also made it easier for my daughter to learn. ChatGPT has infinite patience.
Also, she really appreciated the ability for ChatGPT to explain things to her in English when she had a hard time understanding. Of course, I had prompted ChatGPT to only give explanations in English if needed and not by default. And the questions are not in English so she still had to read the questions in Chinese.
What I liked about it
The first thing I was surprised by was how well ChatGPT read the Chinese curriculum PDF that I uploaded. All the Chinese spelling words were read accurately and segmented properly by the lesson of the week. No formatting or special instructions on how to read the PDF needed. This goes to show how far AI has gotten in document reading in the last few years. See the image below to see how all the lessons are properly enumerated (I asked ChatGPT to enquire which lesson to revise before starting).
On the whole, ChatGPT was able to generate relevant content for each of the Chinese spelling phrases. It’s not perfect but much better than I expected.
As instructed in the prompt, the ChatGPT learning companion always took a very encouraging tone. It was pretty encouraging for me to see the positive response my daughter had to ChatGPT’s encouragement.
The text-to-speech feature made the encouragement feel more real as well. The voice was personable and gave my daughter another medium to receive information other than reading the words on screen.
What I didn’t like about it
I guess ChatGPT’s model isn’t too well trained on the Chinese language. (When I say “isn’t too well trained”, it probably is still better in Mandarin than the average Singaporean Chinese person.) some of the sentences constructed by ChatGPT for the multiple choice questions didn’t quite make sense. I guess it could be an artifact of ChatGPT trying to construct sentences with incorrect usage of the spelling phrases. After all, it’s still an autoregressive model that predicts the next token given the previous ones.
My next gripe is with the text-to-speech function. While it provided a higher level of personal interactivity, the voice generation took quite a bit of time and as such the lesson didn’t flow too well if we used the speech generation at every step due to the waiting. Also there was limited control over the speech generation in ChatGPT. For example, I found the speech generated to be quite fast and there was no way for me to slow it down.
Lastly, because the behaviour of the custom GPT is entirely controlled via the instructions given to it during its construction (see “Instructions” section in the repo), changing the prompt instructions can result in unexpected change in the flow of the lesson.
For example, I tried to support two lesson modes. One for revision of the entire curriculum where only 5 questions are asked for a short exercise and another just for the spelling test of the week where all 10 phrases should be revised. I found that changing the instructions in one would result in changes in the way the other is presented.
That being said, I see the above difficulties/shortcomings as engineering challenges that can be overcome by current techniques and by OpenAI deciding to open up more features. They are not insurmountable. It’s simply a matter of enable more features for the public.
What I thought would have liked to have
Following from the last shortcoming mentioned, I would have liked to be able to split the lesson into small independent parts that I can prompt engineer separately but yet bring together under one coherent agent. This is will overcome the problem of changing the prompt in one part affecting behaviour in other parts and is possible using techniques like Model Context Protocols (MCP) and Agent2Agent (A2A) for agents to communicate with each other. And of course, OpenAI to open up these features to the public.
I would also have loved the ability the specify buttons for standard responses, such as “Can you explain it to me again?”. My daughter was spending quite a bit of time typing.
Lastly, I would have loved the ability to introduce other medium of communication like writing and drawing because learning Chinese requires the student to learn how to write the Chinese characters. This would of course be more involved in terms of software engineering and would require ChatGPT to quickly be able to read my daughter’s handwriting.
Looking into the future and my personal reflections
As I reflect on this short foray into using ChatGPT for education, the first thing I realise as I was committing my “code” to the repo is that the “code” is just the prompt. Of course, I understand that this is just a hobbyist level prototype and nowhere near production grade. But heck, this would have been impossible a few years ago. The ability to generate natural sounding content with high-level instructions is quite phenomenal.
Combined with non-text content generation like videos, I think AI really has a chance to make a difference in education. There will be debate on whether it makes our children lazy or take away their ability to think critically. To that, I’m still not quite sure yet personally. Maybe that will be true. Maybe the effect will be different at different levels of learning.
However, in my case, my personal take is that I’m not asking AI to solve problems for my daughter. I’m not asking ChatGPT to think on her behalf. What I’m asking ChatGPT to do is to be a companion to my daughter, helping her think and learn while at the same time not having to deal with my shortcomings as a teacher.
I can imagine how this might be helpful for students who may not have access to private tuition. Or how AI learning companions can be equipped with the latest/best teaching methodologies that achieve the best learning outcomes for our students.
For now, some of the shortcomings such as not being able to practice writing Chinese, will stop me from using this for my daughter’s Chinese learning. Also, she has enough homework already.
Maybe I’ll use it when we are on a holiday, just to keep up a low level of engagement with schoolwork and prevent too much backsliding.
Just maybe…





