My Latest Experience With ChatGPT and Its Condecending Personality

I've been a paying customer of OpenAI for a while in order to use their ChatGPT AI product suite. In the past I've used AI to generate lesson quizzes, at which it did a credible job. Recently I decided on a project for this Samraworld website that I thought ChatGPT could help me with. Well, it did help, but it took some patience. 

2025-05-06 · Charlie Samra ·

My Latest Experience With ChatGPT and Its Condecending Personality

From time to time somebody who has seen the Samraworld website has asked me if there will ever be a way to enter comments about individual lessons. The latest ask came from my wife, and so with some spare time on my hands this spring in Tokyo, I decided to give it a shot.

It occurred to me at the outset that AI could help this little project along and maybe get the whole thing done for me in a flash. Boy was I wrong about that.

My subscription to ChatGPT entitled me to use their latest models. I started out with the ChatGPT 4o model.

To get started, I explained some of the requirements for capturing comments. I did not go into too much detail because I wanted to see if we could do this in an iterative way. I should say that I had coded a rudimentary version of comments some time ago, but never implemented it for the general public. It was only available for members, who are users that are logged into Samraworld.

So with that as a base, I gave it my code and basically said, make it better, and add the ability to accept comments from guests. 

ChatGPT did a credible job of creating better, more functional versions of my code, both for JavaScript and PHP, which are the two languages in addition to HTML that comprise the codebase of Samraworld. In general the chatbot was impressed with me!

AI loves my code!
AI loves my code!

Some of my interactions with ChatGPT about certain requirements were interesting.  One requirement was to instrument the lesson page with reCAPTCHA, Google's service for examining a user's attributes and deciding whether they were real or not, to put it in a nutshell. In other words, is the user a human or not?

We got into a long discussion about what version to implement, and how. There was a misunderstanding on ChatGPT's part about which version I wanted to use, though some of that was on me. It had seemingly promoted the use of the Enterprise reCAPTCHA, and after installing it and trying to get it to work, I discovered that to use it I would have to pay a fee. ChatGPT did not give me a heads up about that until I asked, unfortunately. But in the end we were able to get a free version working. 

The Recaptcha payment scoop, belatedly...
The Recaptcha payment scoop, belatedly...
Recommendations and Next Steps now that we have a path to follow.
Recommendations and Next Steps now that we have a path to follow.
End of the Recaptcha tunnel.
End of the Recaptcha tunnel.

Another contentious topic was about time zones. If you enter a comment, you will notice that there is a note about what time the comment was posted. It will show "just now" when the comment initially gets posted, and over time that time will change to be relative to the initial time. For example, it will display "1 hour ago" or "3 weeks ago", depending on how long it has been since the comment was posted.

Well, we got into a discussion of what the database was storing for date and time, and how we could calculate the "time ago" value. This got a little crazy because ChatGPT thought the database was storing UTC time, but it was storing local time instead. This made the time ago value look crazy, sometimes in the future even.  Once we got that understood, it generated the correct code for me.

Yeah, I did have an excellent suggestion. So why didn't AI think of it first?
Yeah, I did have an excellent suggestion. So why didn't AI think of it first?

So it was the end of the day, and ChatGPT had generated all the layers of code needed to implement a comment input capability. But there were bugs, and misunderstandings of the requirements. And to be honest, I was thinking of requirements on the fly, so I was to blame too. But apparently the chatbot felt it was time to celebrate, as we finally had a working version.

<a class=Sycophantic or sincere? You decide!" width="700" height="418" style="max-width: 100%; height: auto;">
Sycophantic or sincere? You decide!

So I was getting this sort of praise all along, but it was getting a bit old. I was thinking that it was being purposely condescending, but why I have no idea. A bit too much praise for me, and was it sincere? That evening as I read a Times article about OpenAI, I discovered that OpenAI was aware of the issue. Sam Altman himself called the chatbot overly sycophantic, and the company subsequently made some changes to stop it. 

At some point that evening it occurred to me that there is probably a better model to use to generate code. And in fact there was. It was ChatGPT 4o-mini-high. So the next day I began using that better model, and that was indeed interesting. Using that model, well, it was a lot less about praising me and more about giving guidance, which was exactly what I wanted. This advanced model refactored the previous code, and after a fashion I got it to work. It is in production today. Try it out and enter a comment after one of the lessons, and let me know what you think!

 

Vocabulary

Flash Card Drill
subscription 定期(ていき)購読(こうどく)購読(こうどく)加入(かにゅう)
  1. I renewed my magazine subscription for another year.
    (わたし)雑誌(ざっし)定期(ていき)購読(こうどく)をもう1(ねん)更新(こうしん)した。
  2. The software works on a monthly subscription.
    そのソフトウェアは月額(げつがく)サブスクリプションで利用(りよう)できる。
iterative 反復(はんぷく)(てき)な、()(かえ)しの
  1. We used an iterative process to improve the design.
    (わたし)たちは設計(せっけい)改善(かいぜん)するために反復(はんぷく)(てき)なプロセスを使(つか)った。
  2. The team made iterative changes based on user feedback.
    チームはユーザーのフィードバックに(もと)づいて段階(だんかい)(てき)変更(へんこう)(おこな)った。
rudimentary 初歩(しょほ)(てき)な、基本(きほん)(てき)な、()発達(はったつ)
  1. She has only rudimentary knowledge of French.
    彼女(かのじょ)のフランス()知識(ちしき)はまだ初歩(しょほ)(てき)だ。
  2. The shelter had only rudimentary facilities.
    その避難(ひなん)(しょ)には最低限(さいていげん)設備(せつび)しかなかった。
attribute 属性(ぞくせい)特徴(とくちょう)特性(とくせい)
  1. Honesty is one of her best attributes.
    誠実(せいじつ)さは彼女(かのじょ)(もっと)(すぐ)れた特性(とくせい)(ひと)つだ。
  2. The database stores several attributes for each user.
    そのデータベースは(かく)ユーザーの複数(ふくすう)属性(ぞくせい)保存(ほぞん)している。
misunderstanding 誤解(ごかい)()(ちが)
  1. There was a misunderstanding about the meeting time.
    会議(かいぎ)時間(じかん)について誤解(ごかい)があった。
  2. We cleared up the misunderstanding quickly.
    (わたし)たちはその誤解(ごかい)をすぐに解消(かいしょう)した。
contentious 議論(ぎろん)()ぶ、(あらそ)()きの、論争(ろんそう)(おお)
  1. The new policy is highly contentious.
    その(あたら)しい方針(ほうしん)非常(ひじょう)議論(ぎろん)()んでいる。
  2. They had a contentious discussion about the budget.
    (かれ)らは予算(よさん)について論争(ろんそう)(てき)議論(ぎろん)をした。
praise 称賛(しょうさん)()める
  1. The teacher praised the student for her hard work.
    先生(せんせい)はその生徒(せいと)努力(どりょく)称賛(しょうさん)した。
  2. The film received praise from critics.
    その映画(えいが)批評(ひひょう)()たちから称賛(しょうさん)()けた。
condescending 見下(みくだ)した、(おん)()せがましい
  1. His condescending tone annoyed everyone in the room.
    (かれ)見下(みくだ)した口調(くちょう)は、その()にいた全員(ぜんいん)をいらだたせた。
  2. She disliked the condescending way he explained simple things.
    (かれ)簡単(かんたん)なことを説明(せつめい)する(とき)見下(みくだ)した態度(たいど)彼女(かのじょ)(きら)った。
sycophantic おべっかを使(つか)う、追従(ついしょう)(てき)
  1. The manager was surrounded by sycophantic employees.
    そのマネージャーの(まわ)りには、おべっかを使(つか)社員(しゃいん)たちがいた。
  2. Her sycophantic praise made him suspicious.
    彼女(かのじょ)のおべっかまじりの称賛(しょうさん)は、(かれ)不信(ふしん)(かん)(いだ)かせた。
refactor リファクタリングする、(さい)構成(こうせい)する
  1. The developer refactored the code to make it easier to maintain.
    開発(かいはつ)(しゃ)保守(ほしゅ)しやすくするためにコードをリファクタリングした。
  2. After the system was refactored, it ran more efficiently.
    システムがリファクタリングされた(のち)、より効率(こうりつ)(てき)動作(どうさ)するようになった。
  3. I asked Claude Code to refactor the Samraworld suite of websites.
    (わたし)はクロード・コードに、サムラワールドのウェブサイト(ぐん)のリファクタリングを依頼(いらい)しました。

Quizzes

Comments