All-Hands-AI / OpenHands

πŸ™Œ OpenHands: Code Less, Make More
https://all-hands.dev
MIT License
31.23k stars 3.6k forks source link

open-D-tutor #2955

Closed rezzie-rich closed 2 weeks ago

rezzie-rich commented 1 month ago

Description: I propose adding a new agent named "open-D-tutor" to the OpenDevin project. This agent's primary function will be to explain and teach users rather than generate any code. This agent will be highly beneficial for new developers learning programming and for experienced developers who need to quickly understand the structure and functionality of existing projects.

Key Features: Educational Focus: "open-D-tutor" will provide detailed explanations of the source code for any project, whether it's local or hosted on GitHub. It will help users understand functions, algorithms, and overall project architecture. Interactive Tutoring: Users can ask specific questions about the code or concepts they don't understand, and the agent will provide detailed explanations and clarifications. Project Integration: This agent can be used with any project, making it an excellent tool for new developers to learn programming through real-world examples, and for experienced developers to understand new codebases quickly.

Benefits: Learning Tool: "open-D-tutor" will be an invaluable resource for new developers learning programming by examining real projects. Enhanced Understanding: It will help developers at all levels better understand complex codebases, speeding up the onboarding process for new projects. Increased Engagement: By providing an educational component, OpenDevin can attract a broader audience, including educators and students.

Implementation Details: Agent Functionality: The agent will parse the source code and generate human-readable explanations and tutorials. It will support various programming languages and frameworks. Integration with Existing Tools: The agent will integrate with existing OpenDevin tools and UI, allowing users to select a project and receive explanations directly within the platform. User Interaction: Users will interact with "open-D-tutor" through a chat interface, where they can ask questions and receive detailed responses.

rezzie-rich commented 1 month ago

@mentatbot can you help with this?

tobitege commented 1 month ago

Now I'm curious what happens next πŸ˜‚

rezzie-rich commented 1 month ago

it's not installed here and i can't give mentat access to this repo. i gotta fork and try there before. unless you want to give it a try. it's free for 5 commits.

rezzie-rich commented 1 month ago

@tobitege what! it's working on the fork. let's see how it goes.

tobitege commented 1 month ago

I like the idea you posted. If it only was about code explanation and not execution, then it could be a different version of the coder micro agent` (see both the prompt.md and yaml file there): https://github.com/OpenDevin/OpenDevin/blob/5a5713009f7a0b3fd2f61f43bf14452bf1b92ad5/agenthub/micro/coder/agent.yaml

But when I'd use such an agent, I might be quite tempted to actually have simple snippets be executed, and then we're back into CodeActAgent territory. What do you think?

rezzie-rich commented 1 month ago

this was the original issue before i changed it for mentatbot, lol:

"There should be an agent only for teaching similar to chatgpt's gpt agent 'tutor me'. this agent should not generate any code instead its primary and only job should be to explain and teach a repo/local project.

One common risk in AI development is that people will not develop a deep understanding of coding over time which will eventually halt the innovation as we reach the maximum capabilities of gen-ai and do not have enough people to advance the technology.

having a tutor agent built into such a powerful project has many benefits: 1- makes learning programming dynamic, effective, and fast producing more high-quality developers to advance future development. 2- makes studying repos faster and less frustrating which also eventually helps new development faster. 3- create a profound nuance of any project giving a deeper understanding rather than just commanding an ai to right the code which can make it harder to debug if the ai produces faulty code therefore overcoming the ai's weaknesses. 4- helps draw positive attention from educators and helps make OD part of curricular tools which then can draw contributions from educational institutions making the project more robust and advanced (marketing). 5- can be the most powerful tool for building a bridge between developers and management teams making the cooperation more harmonious.

this is technically part of discussion #2936 with the goal of making OD more practical in its usage in real-world applications."

rezzie-rich commented 1 month ago

i think this agent should not generate any code instead, it should be dedicated only to educational purposes. it will be great for students as well as developers when it comes to getting familiar with any project. this way we might attract educational institutes for contribution as well.

tobitege commented 1 month ago

Sure, I'd be happy to look at a PR for this! πŸ‘

rezzie-rich commented 1 month ago

let's see what mentat generates. maybe you can take a look at that once it's ready.

rezzie-rich commented 1 month ago

@tobitege couldn't add you for review, probably because it's my first PR and requires approval from the maintainer. feel free to check it out and make changes as necessary. this will be a good test for mentatbot.

tobitege commented 1 month ago

@tobitege couldn't add you for review, probably because it's my first PR and requires approval from the maintainer. feel free to check it out and make changes as necessary. this will be a good test for mentatbot.

I was on it while you posted your comment. It's mixed bags, to say the least 😁

github-actions[bot] commented 3 weeks ago

This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 2 weeks ago

This issue was closed because it has been stalled for over 30 days with no activity.