Lexic
Acronym | Meaning |
---|---|
AI | Artificial Intelligence |
CPAI | Computer Programmer AI |
CPI | Collection of Programming Instruction |
PI | Programming Instruction |
SPIEO | Set of Pairs "Input-Expected Ouput" |
Acronym | Meaning |
---|---|
AI | Artificial Intelligence |
CPAI | Computer Programmer AI |
CPI | Collection of Programming Instruction |
PI | Programming Instruction |
SPIEO | Set of Pairs "Input-Expected Ouput" |
This journal, or collection of notes, is about a documenting concepts and ideas to create a Computer Programmer AI (CPAI).
What is refered by a CPAI is an application that is capable of producing software code to solve specific problems.
The idea of is based on modern software architectures and AI modern technics to create an application that can deduce or guess an algorithm based on a provided Set of Pairs "Input-Expected Output" (SPIEO) and a Collection of Programming Instruction (CPI).
If an algorithm is found that solves the SPIEO using the CPI, it will be memorized as a new Programming Instruction (PI) in the CPI.
The SPIEO are provided in the form of a validation function or a validation program.
It would be as if a unit test function is provided to a software developer for him to code the logic that will pass all the assertion in the test.
This means the CPAI will need to be teached through SPIEO for it to discover new algorithm that will enriched its CPI.
To resume, the objectives would not be to create an AI that would develop application by understanding the meaning of a given instruction such as "create a program/function that do this" but it would rather be to create some sort of super software developer assistant.
The developper/architect can access the collection of algorithm produced by the CPAI like he would by using a library (like boost for example) but if no function matches what the developper/architect needs, he can create a SPIEO for the CPAI to generate the required behavior function.
The advantages of the CPAI would ideally be:
The idea to produce a program such as the CPAI, is to start small (small CPI and simple SPEIO) from an initial concept (that will be described in another note) and adapt the architecture and the concept iteratively based on the progress and challenges met.
Please feel free to provide ideas and inputs that would make this challenge a success.