Mark Zuckerberg explains how he wrote his home AI

The Facebook exec's creation illustrates the promises and piftalls of virtual assistants.

Kay Nietfeld/AFP/Getty Images

Ever since Mark Zuckerberg revealed his intention to create his own AI helper, some questions have loomed large: just how would he go about it? And can one man write an effective artificial intelligence when it frequently requires whole teams? At last, the Facebook CEO has provided some answers. The Zuckerberg has written a lengthy piece explaining not only how he created the Jarvis AI that's running his home, but the inherent challenges in making an assistant that works the way you'd expect.

Some parts of the process were easier than expected. He created a Facebook Messenger chat bot to start with instead of writing a dedicated app (an always-listening voice app came later), and took advantage of Facebook's facial recognition for his door-facing cameras. He even managed to get the AI to thrive on relatively "open-ended" requests where it learns what works. Zuck can tell Jarvis whether or not songs are "light," for example, and teach it to play mood-appropriate music without having to request specific tracks.

At the same time, Zuckerberg ran into numerous headaches. Despite loads of smart household equipment (such as Crestron home automation, Sonos audio and a Nest Cam), the executive found himself reverse-engineering code and even jury-rigging appliances to get things online. He also discovered that context is a problem: if you ask to turn on the air conditioning in "my office," does the AI know whose office it is? Voice recognition systems are very geared toward structured commands, Zuckerberg says, and aren't very good at understanding conversational speech.

Jarvis is one of Zuckerberg's yearly personal challenges, and isn't likely to see extensive work after this. However, the tech mogul isn't dropping everything after this. He wants to write an Android app (the listening client is iOS-only), string more listening stations around his home and connect more appliances. He'd also like to give the AI more independence: he wants it to learn skills on its own, and would like to make his technology available if he can abstract it. The software is currently built around the Zuckerberg's specific needs, so he can't just release it as-is. Whatever happens, don't be surprised if the effort behind Jarvis influences Facebook's larger AI strategy.