Noeon Research
Noeon Research
Goal Decomposition

When properly prompted, ChatGPT can correctly write a function in Python to sum up a list of numbers. This task is easy. On the other hand, if one asks ChatGPT to implement a Twitter clone, it will fail, producing incomplete and buggy code. Even a simplified Twitter-like system comprises a number of subsystems and non-trivial interactions and data transfers between them due to functional and technical constraints, as the System Design Primer illustrates [1].

It is possible to ask an LLM to come up with a high-level design, and then for each subsystem ask to refine the design into components, and then ask the same about components until it comes up with actual code. This hierarchical goal decomposition process is exactly what Auto-GPT tries to achieve, wrapping GPT-4 API calls in a loop with prompt engineering and long-term memory management [2]. At the same time, while working with goals, Auto-GPT faces many challenges of such a black-box approach: infinite goal decomposition, reasoning loops, inability to actually perform necessary steps, as well as inability to memoise and reuse already developed plans [3].

There is a huge abstraction gap between the low-level source code an agent needs to produce and high-level goals like "implement a Twitter clone". To overcome this problem, Noeon Research is building an IT automation system with rich semantic knowledge representation, the ability to form abstractions and decompose goals into lower-level subgoals.

Non-Axiomatic Reasoning System (NARS) [4] exemplifies one of the very few systems that can explicitly deal with the notion of a goal. Using Non-Axiomatic Logic (NAL), it represents goals as structured symbolic terms and thus can perform reasoning on them and with them, including decomposing goals into subgoals. But NARS is an immature research project, and many aspects of it are far from done. In particular, little headway has been made on the crucial problem of efficient resource allocation – finding facts relevant for logical inference in a huge database of facts. As facts and relations between them form a graph, resource allocation becomes a subgraph matching problem, very computationally demanding on its own.

An alternative to the top-down approach, where a high-level abstraction is recursively decomposed into lower-level abstractions, is the bottom-up approach, where we recursively compose low-level abstractions to create new high-level abstractions. For example, DreamCoder [5] learns to solve programming problems by growing a library of useful functions, using functions it has already invented to write new functions. Unfortunately, learned abstractions may not correspond to any known ones, and even when they do, they need to be recognised and properly named by a user.

Recently DeepMind presented a middle-ground approach [6]. Researchers combined user-supplied “proto-goals” with automatic pruning, which infers a subset of goals useful for solving a particular problem. The goals and proto-goals are represented as binary functions, which provides both its main advantage and major limitation: binary functions are easy to specify and relatively simple to understand and visualise. But they do not form a hierarchy of abstractions which limits applicability to more broad state and action spaces.

[1] System Design Primer. (2022). Twitter.

[2] Auto-GPT. (2023).

[3] Han Xiao. (2023) Auto-GPT Unmasked: The Hype and Hard Truths of Its Production Pitfalls.

[4] P. Wang, “Intelligence: From definition to design”. In International Workshop on Self-Supervised Learning (pp. 35-47). PMLR. 2022.

[5] K. Ellis et al., “DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning”. 2021.

[6] A. Bagaria, R. Jiang, R. Kumar, and T. Schaul, ‘Scaling Goal-based Exploration via Pruning Proto-goals’. arXiv, Feb. 09, 2023.
AI Safety
How does Noeon Research ensure its technology remains safe while improving in capability?
Mar 29, 2024
© 2024 Noeon Research. All rights reserved.
Midtown Tower 18F, 9-7-1 Akasaka, Minato-ku, Tokyo, Japan