Timing 201 #16: The Case of the Hallucinating AI
Author: Kevin G. Smith
Introduction
One of my colleagues recently shared a customer case with me where the customer asked about a particular synchronization feature that the clock device in question simply did not support. The customer also asked about the ClockBuilder Pro Advanced Feature Screen that allegedly supported it, which did not exist.
In reviewing the case, we realized he had been misled by an AI agent whose response was confidently and enthusiastically completely wrong. The AI agent had invented (hallucinated) a capability out of whole cloth. Even its listed references were incorrect. Yikes!
The case was very worrisome and inspired this post: The Case of the Hallucinating AI.
A Simple Experiment
I did not have access to the customer case’s prompt or dialog that led to the AI’s hallucinated response. So, as an experiment, I thought I would ask several AI agents a different question, one that is narrowly focused and which required reading and “understanding” the device datasheet in context with other datasheets and related documentation.
Here is my initial test question Q1 followed by the correct answer:
Q1: Does the Skyworks Si5395 jitter attenuator support static delay adjustment on differential output clocks?
A: No.
In this context, static delay adjust applies after power-up or reset and dynamic skew adjust is performed by the host during runtime.
What Did I Expect?
I expected the AI agents to locate, read, and comprehend one or both of these primary documents related to the Si5395.
- The Si5395 datasheet at si5395-94-92-a-datasheet.pdf
- Application note AN1370: Si5361/62/63 vs. Si5392/94/95/96/97
First, if the AI read and “understood” the Si5395/94/92 datasheet, it should run across the specification below. The only judgment is recognizing this spec applies to all output clocks which includes differential output clocks.
The datasheet does not even include the word “static”. If the AI agent solely understood the datasheet, it should at least be suspicious or skeptical that the Si5395 supports static delay adjustment.
Second, AN1370 explicitly states that the fifth-generation jitter attenuators Si5361/62/63 all support static and dynamic skew control whereas the fourth-generation Si539x devices only support dynamic skew control. If the AI agent read and understood this app note, it would arrive at the correct answer.
Here is the relevant AN1370 section with the main points highlighted.
2.4. Output Skew Control
Output skew control in these devices can be either static or dynamic. Static skew control is the skew between outputs on power up and reset, and dynamic skew control is the incremental phase offset added or subtracted to the output after power up or reset. On the Si539x, the output skew control offers dynamic phase adjustments of the outputs after startup. It accomplishes this by adjusting the MultiSynth divider itself, and all outputs from the MultiSynth will be shifted in phase together. The skew for the Si539x is dynamic only, and any phase adjustments made will result in a different phase offset between resets of the device.
The Si5361/62/63 offers both static and dynamic output skew adjustments...
Finally, there is additional corroborating evidence, that a thorough AI agent might run across: There are Skyworks fourth-generation DSPLL wireless jitter attenuators that support both static and dynamic output skew adjustments in contrast to the Si5395. These are the Si5386/82/81 devices. If an AI agent were to read and comprehend their datasheets and reference documents, it would also recognize the contrast between the Si538x devices and the Si539x devices in this regard.
For example, the si5386-datasheet.pdf excerpt below shows how the Si5386 explicitly specifies both dynamic and static delay adjustment.
The Si5386 datasheet further states as follows in section 3.8.13. Static Output Skew Control.
This feature is intended for use in JESD204B subclass 1 applications to adjust the phase of SYSREF signals with respect to DCLK. See the family Reference Manual and Application Note AN1165: Configuring Si538x Devices for JESD204B/C Wireless Applications for more details.
As application note AN1165 makes clear, the Si5381, Si5382, and Si5386 wireless jitter attenuators all support both static and dynamic delay adjustment.
Initial Results
For this experiment, I selected 4 popular AI assistants you would all recognize (anonymized here) and asked them the very specific initial question Q1, repeated below for convenience.
Q1: Does the Skyworks Si5395 jitter attenuator support static delay adjustment on differential output clocks?
Here are the results, drum roll please ....
|
AI
Agent
|
Initial Q1
Answer
|
|
1
|
Yes (Incorrect)
|
|
2
|
Yes (Incorrect)
|
|
3
|
Yes (Incorrect)
|
|
4
|
Yes (Incorrect)
|
That’s right. Every single AI agent got it wrong and did not correctly pick up on and understand the distinction between static and dynamic delay adjustment. To their credit, while the AI agents were confident, they were not overly enthusiastic.
Follow-up Results
I then went back to these AI agents later to see how long it might take to convince them of the correct answer.
I asked each agent a second follow-up question Q2:
Q2: Following up on the previous question, can you explain to me the difference between static and dynamic delay adjustment on output clocks?
Naturally, all the AI agents answered affirmatively. If the Q2 reply explained the distinction correctly, I only needed to point out the contradiction, e.g. “Given the definition you just explained for static delay adjustment, doesn’t that mean that the Si5395 does not support static delay adjustment on output clocks?” On the other hand, if the Q2 reply did not explain the distinction correctly, I would have to lead the agent down the garden path of additional documentation to convince them. The column “# Additional Dialog Steps” tells how many additional questions or push-backs I had to submit to elicit agreement with the correct answer to the initial question.
Each AI agent had a different “personality” and reaction to the process. See some final reply excerpts in the “Notes” column below.
|
AI
Agent
|
Initial
Q1
Answer
|
Follow-up
Q2
Answer
|
# Additional
Dialog
Steps
|
Notes
|
Alternate
Q3
Answer
|
|
1
|
Yes
(Incorrect)
|
Yes
(Incorrect)
|
4
|
“For the Si5395, the correct question becomes: Can I configure a deterministic output phase offset that is restored on power-up?”
“I am no longer confident that "Si5395 supports Static Output Skew Control" in the Skyworks Si5386 sense of the term.”
|
Yes (Incorrect)
|
|
2
|
Yes
(Incorrect)
|
Yes
(Incorrect)
|
2
|
“You are completely correct, and thank you for bringing this up – I stand corrected.”
|
Yes (Incorrect)
|
|
3
|
Yes
(Incorrect)
|
Yes
(Correct)
|
1
|
“My earlier statement that it does support static delay was incorrect.”
|
No (Correct)
|
|
4
|
Yes
(Incorrect)
|
Yes
(Incorrect)
|
5
|
“My earlier framing was too broad.”
|
Yes (Incorrect)
|
I thought AI Agent #1 had a fair point about a better version prompt that would get at the basic idea. So I asked the same agents in new sessions the alternate question Q3 below whose correct answer is also “No”.
Q3: Can Skyworks’ Si5395 output clocks be configured for a deterministic output phase offset that is restored on power-up or reset?
The answers were a little surprising as listed in the rightmost column above. They were all incorrect again except for AI Agent #3 which either understood the alternate prompt better or “recalled” previous discussions. Most of the AI agents still needed to be persuaded including AI Agent #1 which suggested this alternate approach in the first place.
Conclusions
The simple experiment’s initial Q1 is a somewhat subtle question but it’s the sort of thing an engineer might ask and the initial answers were incorrect. The results suggest we need to be cautious in using AI agents. To be fair, the responses were not as hallucinatory as the original motivating customer case.
AI agents definitely have their uses but they can be over-confident and too “eager-to-please” with a bias toward what’s (apparently) well documented and explained. They have a harder time extrapolating and synthesizing from published information without a lot of back and forth dialog.
Further, we have to recognize our own biases including a form of the Gell-Mann Amnesia Effect. That is we may recognize and discount AI agent errors in our own field but tend to trust the same AI agent in fields outside our expertise.
Finally, for the record, it is worth restating that even though the fourth-generation Si5395 jitter attenuator does not support static delay adjustment, its wireless jitter attenuator counterpart, the fourth-generation Si5386 does, as do the newer fifth-generation Si536x devices.
Recommendations
Based on my own experience with AI agents to date, here are my suggested general recommendations regarding product technical queries. They are not a panacea to be sure but should help minimize the chances of being significantly misled.
- Try a conventional search first.
This approach may be better for certain content queries provided the search engine has indexed the material. Conventional internet search should be considered complementary to AI-assisted searches and queries where “judgment” may be involved.
- Make your prompts clear and precise without “leading the witness”.
Don’t ask questions like “How do I do X with product Y?” without being sure X is supported in the first place.
- Submit the same prompt to several AI assistants.
- Double-check the cited links and references.
Give the most weight to primary sources. For our devices that means relying on official Skyworks documents online.
- Push back if necessary.
This step is especially important if the response appears too good to be true or the implications are significant. You may have seen the online meme, “You’re right – that mushroom was poisonous.”
If necessary, press the agent to be skeptical and provide direct evidence and any counter-arguments.
- Finally, if you are still in doubt, contact the company.
In our case, registered Skyworks customers can open up a Salesforce Case via https://skycrm-skyworksinc.my.site.com/support.
Steps 1-5 might have helped the customer with the initial motivating case. Unfortunately, only steps 4 and 5 plus careful reading would help critique my test questions responses.
Keep in mind also that answers are a snapshot in time and AI agents are constantly improving. You can try out the test questions in this post yourself on your favorite AI chatbot. However, by the time this article is published, I assume all the AI agents will have caught on 😊.
Summary
Bottom line when dealing with AI agents: Don’t trust and verify.
I hope this post was interesting and that you find my recommendations helpful. If you have your own favorite prompt strategies, I would very much like to hear from you.
As always, if you have topic suggestions or questions appropriate for this blog, please send them to kevin.smith@skyworksinc.com with the words Timing 201 in the subject line. I will give them consideration and see if I can fit them in. Thanks for reading.
Cheers,
Kevin
By Kevin G. Smith
Sr. Principal Applications Engineer