Context Lang with Autobot assistant
Rogue Degen
Robert Mazurowski
There are 2 project which are connected.
My projects do not try to make an "automatic" software engeneer or employee as that is fantasy. My tools are designed to be general purpose and give 100 percent control and be practical right now, not in 10 years. There is no process behind them.
Most AI tools concentrate on the end results, while I want to have control.
ContextLang is a HTML like "programing" language allowing to use descriptions like variables and prompts like functions. It allows wrapping a description of something for example a general project description, a list of libraries, a list of requirements or a single requirements in a context variable, which can reside in txt file or be a part of a codefile. It can then be imported into the file were it will be used in a prompt where code will be generated generated, or can be declared in the same file.
ContextLang
- Can be written inside code comments and will be compatible with almost any language comments
- It is like writing code, except it is coding using descriptions, Good spec == good code
- It is like React if it comes to adoption, a new project can be developed with it, or it can be integrated to an existing codebase large or small
- It suits any AI workflow, whether it is to change or add descriptions and generate the whole codebase from scratch or, iterating over the same codebase, whether your are TDD, DDD, sdfgsdaf or anything else.
- It is cheap to use as it aims to use 2 Open AI api call per code generation.
EXAMPLE
ContextLang is designed to be easily embeded into code so the user can compose context flows like with code.
Here is my favourite example of using Context from the Docs inside a python file:
Context also allows import contents of files, and in the future URLs ( TO DO).
#<file:TABLE_SCHEMA>shema_example.csv<file:TABLE_SCHEMA/>
# <prompt:PANDAS_CODE>
# Please write a function which takes in a path to a csv file and name as arguments
# and filters the csv file by the name and then prints the dataframe. Use the provided schema with several rows of data as examples.
# {TABLE_SCHEMA}
# <prompt:PANDAS_CODE/>
# <PANDAS_CODE>
# <PANDAS_CODE/>
The generated code will apear between the PANDAS_CODE output tag when the Context Command is run.
For more examples like html, css, solidity or python check this folder:
https://github.com/werfish/Context-Lang/tree/main/test/Generator%20Test
For a project example try:
https://github.com/werfish/Context-Lang/tree/main/test/Generator%20Test/API_TEST
Autobot assistant
This project aimed to allow working with context remotely, away from the computer. It evelolved over last several months to much more. It is a competitor to Open Interpreter, in fact, right now it actually uses Open Intepreter for running python code so it became more.
Unlike Code Intepreter it works with GPT 3.5 turbo, and it is better at tasks such as traversing filesystem, coding, cli copmmands and operating the desktop as Autobot uses langchain and crew ai and is a multiagent system.
The tool is designed NOT to do much thinking on it's own, but allow me to be in control. It is purely a TOOL to run TOOLs, based on conversation memory context.
BIG SELLING POINTS:
- It can allow disabled people to control a PC remotely
- It allows working on the computer while being on a trip or in the garden or working out (challenge 3).
- It doesn't claim to do anything automatically and allows the user to control every step.
- It can operate the desktop, opening programs, clicking etc. It can do basic Robotics Process Automation (RPA), it can log in to apps, log an invoice, it will probably be able to automate any business process when I implment the final feature
- I am currently developing a Generalized Programmatic Agent Runtime (GPAR), which will basically allow easy automation of process.
Autobot assistant allows:
- use telegram as the UI, allows both text and voice input (Fully Implemented)
- allows chaining commands via simple programming language compatible with voice (Demo, full feature under way, GPAR)
- Has preconfigured starting project folders
- traversing the file system, reading and creating files (Fully implemented)
- loading a folder tree if asked to set a folder as a working folder (If code repo then parses via .gitignore, Fully Implemented)
- Allows precise changes in code files like "Delete this line, write a funtion that, add try catch to function A and B, copy code from file A to file B"
- Executing CLI commands (Partially implemented, lacks support for interactive CLI automation)
- RAG on code repositories (partially implemented, required user to configure new repos, the process is not automatic)
- Executing python code to do things that can't be done with the tools the agent has like for example calling an API, Reading excel data, using functionality from Python libraries like a tool etc
- wider ContextLang integration (in Progress)
I think the killer feature of this tool, will be GPAR.
The programming language is voice friendly so these workflows can be programmed with voice.
GPAR will have step caching, which means if the AI executed the workflow correctly, it will cache the tool with inputs and it will just run the Determinstic version, and only run an AI step if there is an error.
All the below steps my bot can do 90 percent correctly with gpt 3.5 .
GPAR does not violate Sam Altmans rule to "Develop like the AI was way smarter, do add many guardrails to make it work for now."
The better the models the more high level the commands can be.
Currently my bot has only the STEP thing implemnted, I can chain as many steps as I would like.
All the single step functionalities below are implemted. My bot could do it using just the STEP,
but it would lower probability of success.
The GPAR workflow does not need variables as it uses the conversation memory for remembering things.
In the example below it tells the Ai to load the project folders which is a list of folders configured by the user as a starting point for work, then it tells to create a new folder in the folder nr 3, then it creates a new file in that folder, then prompt from STEP LOOP returns a list based on conversation memory (no variables needed)
EXAMPLE GPAR PROGRAM:
PROCESS
STEP Load the list of project folders
STEP Inside nr 3 create a new folder called 'ufo_books'
STEP Please create a new file in the ufo_books folder, called "ufobooks.txt"
STEP List 10 best books according to you about UFOs
STEP LOOP for each of the ufo books
STEP Open Firefox and navigate to google.com
STEP Click on Google search and type the name of the book and the word "price"
STEP Take a picture of the screen and read the price of the book
STEP Insert the price into the ufobooks file
END STEP LOOP
STEP Notify me when the task is complete
👉🏻 https://www.youtube.com/watch?v=gmx3KQ9D-jQ&t=1s