Google’s Bard chatbot is getting better at logic and reasoning. Google took a cue from human thinking to achieve this.
“Implicit code execution” is what Google calls Bard’s new capability, which allows the chatbot to automatically recognize when programming code can help it solve a task. According to Google, this explicitly includes math tasks, programming queries, and requests to manipulate strings.
Thanks to the new technique, Bard can reliably spell the word “lollipop” in reverse, for example. But it has to generate Python code itself to solve the task. What is new is that Bard automatically recognizes that it needs this code as a tool to solve the task more reliably.
In addition, Google has equipped Bard with an export feature for Google Sheets: When Bard generates a spreadsheet, it can be sent directly to Sheets.
System 1 for creative writing, System 2 for logic
Google says it was inspired for “Implicit Code Execution” by US psychologist Daniel Kahneman’s famous System 1 and System 2 logic. In the human brain, System 1 is responsible for fast, intuitive actions, while System 2 is responsible for more sophisticated, time-consuming tasks such as reasoning.
Large language models are “System 1” systems in this logic, and therefore well suited to creative writing and quick results. They are less well suited to reasoning, which is more the domain of comparatively slow, traditional computer systems that are formalistic and less flexible.
The new Bard update is a combination of these two capabilities in the manner described above. In internal tests, Google says Bard solves tasks that benefit from code more accurately 30 percent of the time.
However, the new system is not yet perfect: the chatbot may fail to generate code, and the code may be incorrect or not included in the output.
Google Deepmind and Princeton researchers recently unveiled a framework called “Tree of Thoughts” that also aims to apply a System 1 principle to a language model by crossing the classic decision tree approach with the new capabilities of a large language model. However, the method now used for Bard is different.