GithubHelp home page GithubHelp logo

allynee / unity-agent Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.9 MB

A unity agent that helps non-experts design and prototype ubicomp environments using intuitive interactions.

Python 24.00% C# 76.00%
large-language-models memory-management open-ended-learning unity

unity-agent's Introduction

Unity-Agent

This is an individal project for the module IS470 (Guided Research in Computing).

About the project

🤖 Topic: Enabling Continuous Learning in Generative Code Agents

🎯 Limitations in Conventional Approaches

  • Emulating human coders through computational agents faces substantial challenges due to existing training methodologies.
  • Traditional methods, like fine-tuning PLMs, demand considerable data and computational resource
  • While LLMs like GPT-4 are capable of code generation, they face limitations in environments with limited or niche data (e.g., emerging languages, niche frameworks, and specialized tools).

🧐 Research Goal: Exploring adaptive learning as an alternative approach

  • Addressing Niche and Limited Data Challenges: Develop a memory system that enables autonomous agents to work effectively in environments with constrained data.
  • Memory-Based Learning: Implement a lightweight memory management system that empowers agents to store and retrieve insights from past experiences and tasks.
  • Enhanced Autonomy and Precision: Enable the computational agents to autonomously refine and enhance their code generation strategies and outputs progressively.
  • Applicability in Diverse Programming Contexts: Ensure the developed memory system is versatile, enabling agents to generalize from past learnings and acquire new capabilities for tackling diverse and challenging tasks within the same domain of problems.

🪑 Task: Embodied Prototyping in Ubicomp Environments

  • The task entails enabling non-experts to design and prototype within ubiquitous computing (ubicomp) environments using intuitive interactions.

  • It involves the development of an autonomous agent capable of translating natural language commands into executable code, subsequently modifying the virtual environment.

    Example 1:

    • User command: “Put a button on the table”
    • Expected agent action: Manifests a button in the virtual space. Figure 1: The agent’s response to the command “Put a button on the table”.

    Example 2:

    • User command: “When I press the button, make the table white”
    • Expected agent action: Modifies the table's properties such that its color changes in real-time upon pressing the button. Figure 2: Dynamic modification of virtual elements - making the table white upon pressing the button.
  • The task faces challenges such as the acquisition of well-curated data due to the specialized and diverse nature of ubicomp spaces.

  • The research aims to bypass the need for extensive curated data, enabling the code agent to incrementally learn from the environment and human feedback, enhancing its capabilities in modifying the virtual environment.

Code Agent Memory Architecture

The introduced lightweight memory management mechanism for an autonomous code agent consists of four components:

  • 📑 Planner : Interprets user commands into a sequence of instructions.
  • 👾 Coder: Translates instructions into executable code.
  • 🧠 Memory Manager : Provides the Planner and Coder with relevant past experiences.
  • 🗣️ Critic: Analyzes environmental data and user feedback to refine the agent’s output.

Figure 3: Proposed architecture of the code agent.

Usage

Future Work

Acknowledgements

License

References

unity-agent's People

Contributors

allynee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.