论文标题
自主智能软件开发
Autonomous Intelligent Software Development
论文作者
论文摘要
我们介绍了AIDA的设计和首次概念验证实现,AIDA是一种从头开始开发软件的自主智能开发人员。 AIDA采用软件要求规范,并在语义知识图上使用推理来解释需求,然后设计和写入软件以满足它们。 AIDA在数据,算法和代码的核心领域中同时使用声明性和程序知识,以及一些常识。推理代码库使用这些知识来识别所需的组件,然后设计并构建成为软件的必要信息结构。这些结构,激励要求以及由此产生的源代码本身都是添加到知识图中的所有新知识,可以用于将来的推理。这样,Aida在编写代码时也学习,并在编写后续代码时变得更加有效。
We present an overview of the design and first proof-of-concept implementation for AIDA, an autonomous intelligent developer agent that develops software from scratch. AIDA takes a software requirements specification and uses reasoning over a semantic knowledge graph to interpret the requirements, then designs and writes software to satisfy them. AIDA uses both declarative and procedural knowledge in the core domains of data, algorithms, and code, plus some general knowledge. The reasoning codebase uses this knowledge to identify needed components, then designs and builds the necessary information structures around them that become the software. These structures, the motivating requirements, and the resulting source code itself are all new knowledge that are added to the knowledge graph, becoming available for future reasoning. In this way, AIDA also learns as she writes code and becomes more efficient when writing subsequent code.