I have subjected myself to these constraints to face the challenge ahead:

  • to author the bootstrap portion of the system by myself, or with the smallest possible group of developers
  • to write the least amount of code (e.g. not to write an ideal AI language first)
  • to reuse existing narrow AI solutions and open-source infrastructure to the widest possible extent
  • as Turing suggested, to build a ‘child’ mechanism capable of being taught, and to subsequently train it to achieve ‘adult’ capability
  • to design a scalable architecture having a multitude of mentors and users

It looks now that I am trying to solve at least the following AI-hard problems simultaneously:

  • to communicate with humans using natural language
  • to learn by being taught
  • to achieve generally applicable commonsense behavior
  • to achieve automatic programming, e.g. programming from very high level specifications, using algorithmic and domain knowledge, plus real-time advice from human mentors

Although daunting, I believe small progress on this combination of problems will proceed into a virtuous circle of exponential improvement.