Help Needed :)

AndreVianna

New member
Joined
Sep 18, 2024
Messages
4
Location
Ottawa, ON, Canada
Programming Experience
10+
Hi Guys.
I am looking for Devs of all levels to help me on an AI Project in .NET C#.

Here is a brief of the proposal of the project:

The objective of the app is to be an AI-assisted application that enables users to create, configure and use AI agents that can execute complex tasks and workflows with no-code.

Unlike simple chat or single-step tasks, the app is designed to handle intricate projects that typically require multiple steps, planning, and coordination among various AI agents with specialized skills.
This includes projects like building a game from scratch, creating a functional website, writing a research paper, producing a video, or developing a complex software application.

The app utilizes specialized AI agents, each possessing expertise in a particular domain or task. For example, a "Detail-Oriented Tester" agent would excel at software testing, while a "Creative Designer" agent would focus on generating visual artifacts. An "Experienced Cosmologist" would have knowledge and expertise in cosmology papers.

The app's strength lies in its ability to coordinate these specialized agents, much like a human team, to achieve a common goal.
It employs a system of hierarchical tasks, similar to a Gantt chart, where a main thread (managed by an orchestrator AI) delegates subtasks to other threads, creating a dynamic workflow.

This app is a work in progress, but the core structure for enabling complex task management is already taking shape. The ultimate vision is to make the app accessible to both technical and non-technical users, empowering them to leverage the power of AI for complex problem-solving.

I am not trying to compete with LangChain, CrewAI, AutoGen, or AutoGPT. What differentiates the app from them is that it is an end-user application, while those others are frameworks designed for developers to build AI applications. This is a crucial difference in terms of target audience and technical expertise required.

The app aims to empower end-users, including those without programming experience, to leverage AI for complex task management.
The app will provide a higher level of abstraction, with a user-friendly interface, shielding users from the technical complexities of AI model integration, workflow orchestration, and agent management. The goal is to make complex AI capabilities accessible to anyone.

The app is built entirely in .NET and will be portable to any OS.

The work is in that stage that one person can't do it effectively anymore. That is why I am looking for .NET Devs that are willing to dedicate part of their time to help me on this project.

I would also love to have someone that would like to help me get funding for the project. I have no experience with that at all.

Please contact me if you want to participate.
 
Moved thread to Job postings...
 
Let me share some insights into the motivation behind this exciting project and extend a special invitation to those passionate about pushing the boundaries of AI technology.
Why this app? A Vision for The AI-Assisted Workflow Management

Being Ahead of the Curve: The app isn't just about following trends – it's about acting on them. By developing this app, we're placing ourselves at the forefront of AI innovation, turning cutting-edge concepts into practical reality. Go beyond just know about AI but actually do something useful with it.
Leveraging the Power of .NET: While many AI projects default to Python, we've chosen to harness the maturity and rich toolset of .NET. This decision opens up new possibilities for creating sophisticated, high-performance AI applications with robust, user-friendly interfaces.
Simplifying Complexity: Our experience has shown that the real complexity lies within the Large Language Models themselves. With major providers offering API access to these models, we're focusing on building the crucial layers of abstraction that turn raw AI power into practical, user-friendly tools.
Community-Driven Innovation: While there's potential for this app to evolve into a commercial product, our primary goal is to drive innovation and learning in the AI community. It's about creating something valuable and pushing the boundaries of what's possible.

The Difference
You might be familiar with projects like AutoGPT, AutoGen, SmythOS, or CrewAI. The app draws inspiration from these pioneering efforts but aims to take the concept further. Our vision is to create a more intuitive, powerful, and flexible system for AI-driven task management.
This app's core concept is elegantly simple yet profoundly powerful:

- Assemble a team of AI agents to analyze and break down complex tasks.
- Empower these agents to define and generate other specialized agents on the fly for each subtask.
- Orchestrate the delegation and monitoring of these tasks.
- Provide users with the ability to fine-tune results at each step of the process in an intuitive way.

We're at an exciting juncture in this app's development, and we're reaching out to the community for support. Whether you're a seasoned developer, an AI researcher, or simply someone passionate about the future of AI, there's a place for you in this project.
 
So in other words instead of creating yet another AI, you want to make Visio for AI.
 
Yes. I do not want to create another AI. I actually want to mix them. The app allows you to connect different agents to different models from different providers.
For hi level tasks that needs planning I would use openai-o1. For intermediate tasks that need expertise but are straight forward I would use gpt-40 or claude-3.5-sonnet. For quick atomic tasks any small cheap model. But I will not fix that in the app. The user chooses how to configura that. But for those users that do not have the knowledge to tweak that I would provide with the default and an interface to help choose.
Models, Agents, Tasks, Tools, are all lego parts to build the workflow. The main difference is that I want to provider a super high level agent that will build that workflow for you.
Here, just a very rough example:

User: Hi, I would like to create a game.
App: Hello, what kind of game would you like to create.
User: I want to create a mobile game similar to Candy Crush.
App (after thinking and/or searching the web): Oh. That is a popular mobile puzzle game where players swap adjacent pieces of candy on a grid to form rows or columns of at least three matching candies, right? When a match is made, the candies disappear, and new ones fall into place, potentially creating chain reactions. The game has various levels with specific objectives, like clearing a certain number of candies or achieving a high score within a limited number of moves. It also includes special candy combinations that create powerful effects, helping players progress through increasingly challenging levels.
User: You got it but instead of Candies images I want to use Emojis.
App (after thinking): And how do you want me to help you. Do you have any coding experience?
User: No, I don't. I want you to build the game while I tell you what I want it to do.
App (after thinking): Great how would like to call your game?
......
From now own the app starts an interview mode (maybe even another agent) to grab more info about the game. Like an experienced analyst would do to a client or PO.
Meanwhile the App in the background is creating a folder for the project. Creating artifacts from all the interactions. Like a text document (or a DB entry) with the initial interview. (Long Term Memory). Another document/entry with an initial roadmap. Another document/entry with a project definition. Another with a step-by-step planning for the execution with phases and tasks (Chain of Though). And so, it goes. Everything contained in the Workspace. The app can create agents specialized to analyse and refine those artifacts. (Reflection). From the execution plan the Agent can delegate another agent to refine even more each phase. (Tree of Though)
From each answer from the User the Agent can spin another agent to evaluate and refine the answer and its consequences to the main project (Tree of Though)
And all that would them be fed to the agent interacting with the user to create a meaningful interaction. (Active Prompting)
.....
When it is time to create something from roadmap. The agent would use tools to code and tests (Tooling)

Well, you get the idea. All those techniques described above seems complex, but they are just about resource management and prompt engineering. No new AI needed.
 
Can a higher level agent detect that a lower agent is hallucinating? Or will the higher level agent join in on the hallucination of the lower level agent and amplify it up to the higher levels?

How will an agent get the required tools and environments needed to run those tools? For example, I ask your tool to create me a game for iPhone and publish the game into the Apple Store. I'm running the tool on an Android phone made in 2015. Will in tell Alexa to purchase order for a MacBook? How will it configure the MacBook to install the necessary tool on it? How will it upload the code generated by another agent into the new machine? Will it find a lower level agent to impersonate a human that will submit the game into the Apple Store?
 
Excellent questions.
1. About detecting hallucinations. There are techniques to do that but until recently it was mostly based on "Best of N" (the higher level agent would spawn several agents to the same task and choose the best result) or "Look Ahead" (the higher level agent would keep track of a certain number of steps in 2 or 3 threads before deciding which one to keep). But those techniques are usually very expensive in time and cost. But since the release of openai-o1 I have been doing some experiments and it seems to have the capacity to identify hallucinations from other agents. And that is awesome. it reduces the time, cost, and complexity of the workflow.

2. In AI tooling does not necessarily mean a physical tool. It means to give the AI agent the capacity to ask the "system" to execute a external process. Here is an example. One agent writes a piece of code that needs to be tested. It sends a execution request (in the form of a Json) to the "System". If the system has capability to execute that task automatically. In our .NET env it could be to run a "dotnet test" command with some arguments against the code being created in the workflow workspace. Them the system runs the command in a shell env and grabs the result and sends back to the agent as the response to the json request. In your example the workspace could be a docker with Linux, the system could have an Android simulator and run the app in the simulator and grab the result and even screen shots to send back to the agent. What ever can be done from a command line a the agent can request the "system" to execute.

In both cases above the last resort is to ask the help from the user. All workflows require the user to acknowledge the progress at some points. It could be only at the end. at specific milestones, at the end of every phase, at the end of every step in the phase, or at every task executed by an agent. (the user can configure it). Also, the agent can pause and ask the user if it find a task it is not yet capable to execute. If the user detects a uncaught hallucination he can simple backtrack the workflow to see where it started and continue from that point with extra instructions to avoid it. Or if the "system" can't automate a task It can ask the user to execute it and input back the result.
 
Hello AndreVianna,
Nice to meet you.
I have 8 years of experience in development of web and cross platform app using C#.
I am expert in ASP.NET, .NET MAUI, WPF and WinForms.
Looking forward to work with you.
Best regards,
 
Back
Top Bottom