An AI agent is often thought of having "sensors", "a memory", "machine learning processors" and "reaction" components. However, a machine with these does not necessarily become a self-programming AI agent. Beyond the parts mentioned above, is there any other elements or details necessary to make a machine capable of being a self-programming AI agent?
For example, a paper from 2011 declared that solving the optimization problem of maximizing the intelligence is a must-have feature for the self-programming process, as quoted below:
A system is said to carry out an instance of self-programming when it undergoes learning regarding some element of its "cognitive infrastructure", where the latter is defined as the fuzzy set of "intelligence-critical" features of the system; and the intelligence-criticality of a system feature is defined as its "feature quality," considered from the perspective of solving the optimization problem of maximizing the intelligence of a multi-feature system.
However, this description of "optimization of intelligence" is vague. Can anyone give a clear definition or better summary for the necessary components for self-programming agents?
This question is from the 2014 closed beta, with the asker having a UID of 23.