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.
翻译:我们概述了AIDA的设计及其概念实施的初步证明,AIDA是一个自主的智能开发商代理,从头开始开发软件。AIDA采用软件要求规格,并使用语义知识图的推理来解释这些要求,然后设计并写出软件以满足这些要求。AIDA在数据、算法和代码的核心领域使用宣示和程序知识,加上一些一般知识。推理代码库利用这种知识来识别需要的组件,然后设计并围绕这些部件建立成为软件的必要信息结构。这些结构、激励要求以及由此产生的源代码本身都是新知识,都添加到知识图中,可以用于今后的推理。这样,AIDA还学习了她编写代码后写代码时的效率更高。