Devika AI Software Engineer and How Does it Compare Against Devin

Updated on March 30 2024
image

Devika AI, a recently launched open source AI Software Engineer, is taking the autonomous AI coding enthusiasts by storm after Devin from Cognition AI and Microsoft Autodev captured some serious attention in last few weeks. Devika software engineer understands your high-level instructions, conducts targeted research, and then translates that knowledge into functional code. This isn’t just about writing lines; Devika AI assists throughout the entire development process, from planning and strategizing to debugging and troubleshooting.

In this article, we will explore Devika AI Software Engineer in-depth along with Devin AI vs Devika AI comparison.

Devika AI Software Engineer

Devika emerged as an open-source passion project by Mufeed VH (Hamzakutty), a 21-year-old genius from Thrissur, Kerala, India who is also the founder of Lyminal and Stition.AI. Mufeed’s journey with Devika AI began as a side project, sparked by his fascination with Devin, another AI software engineer from Cognition AI. Inspired by Devin’s capabilities, Mufeed envisioned Devika as an Indian version of Devin, aiming to make it a helpful tool that could automate mundane tasks for engineers, much like an intern.

Key Features and Capabilities of Devika AI

Certainly, Devika’s algorithm is a standout since it utilizes sophisticated AI planning and reasoning processes that can be used to break down tasks to workable bits. The software can also make decisions that are better informed by the context. Here, it involves several major Large Language Models including Claude 3, GPT-4, GPT-3.5 through the use of Ollama; thus, incorporating all Language Models within the desired specifications.

Focused Research: Contextual keyword extraction is the method that Devika visits for gathering the key information, therefore, increasing the precision level for requiring research.

Web Browsing and Interaction: By utilizing the search function, through which Devika can search the web, learn things, and talk with websites, playwright (engine) helps in precise web browsing assistance.

Code Generation: It writes code in multiple programming languages, tailored to the specific requirements of each project.

Dynamic State Tracking: It can also monitor the state and how the AI works in real-time. At the same time, the users can control the AI completely which completely makes the AI’s behavior transparent.

Natural Language Interaction: Through a chat interface, users can communicate by sending and receiving messages.

Planning: It is oriented on management and organizational style that is task-driven, which helps improve the management of creation of a software by making it easily arranged and hierarchical.

Architecture of Devika AI

Agent Core: This is the main module that manages the conversation history, the project context and the agent state changes; thus, it allows for a smooth conversation. It harmonizes the AI plans, reasons and the execution processes which is very essential for seamless activities among various sub-agents and modules .

Specialized Agents: These are the agents who do the macro tasks like planning, research, coding, debugging and reporting. By dividing tasks among specialized agents, concentration on a unique aspect of the software development process is achieved, creating a modular architecture.

LLM Interface: An LLM interface will interact with language models that underlie them via prompt templates. This results in using the most recent versions available of language models for code generation and natural language interaction like Claude 3.

Service Integrations: This component provides the ability to interface with external services such as GitHub and Netlify, which, in turn, helps ensure simplified merging with already existing development workflows and tools.

Utility Modules: For example, these modules serve as a reusable piece of code, functioning as configuration, logging and more, adding to the growth of Devika’s functions.

Planning and Reasoning Engine: This engine is being applied to every step of Devika’s decision-making path. It takes the complex objectives and translates them into workable events, considering the existing circumstances and available information in play. It gives Devika a systematic approach to which she can apply her intelligence to speed up decision making and get the task done.

Code Writing in Multiple Programming Languages: Devika enables automatic generation of codes in multiple programming languages, such as Java, C, and Python, depending on the project scope, research data, as well as user inputs.

Dynamic Agent State Tracking and Visualization: This process when used by Devika is presented as an activity progress graph. Besides the fact, it directs the developers to track and comprehend the AI decision making process.

Devika AI vs Traditional Software Engineering

In our understanding of the software engneering world, lets look at how Devika AI touches, simplifies and likely automates almost every single aspect:

AspectDevika AI Software EngineerTraditional Software Engineering
ApproachUses AI to understand complex instructions and generate code autonomously or with minimal human guidance.Follows a structured approach with clear phases and milestones, relying on detailed requirements and planning.
FlexibilityHighly flexible, capable of adapting to changes in requirements and design.Can be inflexible, with changes to requirements or design difficult to implement once development has begun.
CollaborationEncourages collaboration between AI and human developers, enhancing productivity and innovation.Typically involves less collaboration between AI and human developers, with a focus on human-led development processes.
Testing and Quality ControlIncludes early and frequent testing to catch issues and bugs early in the development process.Testing is done once the development phase is completed, which can lead to issues being discovered later in the process.
Cost and TimeCan reduce development costs and time by automating repetitive tasks and enhancing productivity.Can be expensive and time-consuming, particularly for large or complex projects.
InnovationSupports innovation through the ability to quickly adapt to new ideas and technologies.Can be conservative and risk-averse, limiting innovation and the development of new ideas.
SecurityProvides high security through advanced AI planning and reasoning capabilities.Typically provides less security, with a focus on functionality over security in the development process.

Comparison Between Devin AI and Devika AI

Devika Vs Devin
Devika Vs Devin

Every coding enthusiasts is looking forward to the comparison of Devin and Devika. Lets look at how they flare against each other as per our analysis:

FeatureDevin AIDevika AI
FocusCode GenerationVersatile (Code + Other Tasks)
Code GenerationMore powerfulCapable, but broader focus
Natural Language InteractionMay struggle with nuancesBetter contextual understanding
Commercial ModelProprietary (Closed Source)Commercial productCompletely Open Source
Collaboration with HumansAims to be completely autonomousDesigned to be more collaborative but promises to be autonomous with further updates
Current Benchmark PerformanceHigher solo success rate (13.86%)Lower success rate, but actively improving
Overall ApproachSpecialized development focus with focus on being independentMore as AI pair programmer for now

So, who is the winner?

Choose Devin AI for: Prioritizing raw code generation power.

Choose Devika for: Valuing broader functionality, open-source approach, and adaptability to changing requirements.

Also Read: Devin AI vs Autodev

Also Read: Autonomous AI Software Engineer “Devin”

How to Install and Use Devika from Github

Installing Devika AI requires a few steps and certain technical requirements. Assuming you are familiar with using a terminal window, here is a general guide:

Devika AI Github Code: Since Devika’s code is on GitHub, cloning the repository will require that you have Git installed on your computer. On their website, you may find installation instructions for Git.

Python prerequisite: Since Devika is a Python-based project, your system must have Python 3.6 or later installed. Python can be downloaded and examined on the official website.

First, make a copy of the repository. To install Devika, open a terminal window and go to the installation location. Next, clone using the following command:

git clone https://github.com/stitionai/devika.git

->Install Dependencies using the following command:

cd devika

->Once inside the directory, install the required dependencies using this command:

pip install -r requirements.txt
playwright install –with-deps # installs browsers in playwright (and their deps) if required

->Set up API Keys (Optional) – Devika can utilize various APIs to enhance its functionality. If you plan to use such APIs, you must acquire the necessary API keys and configure them in the `config.toml` file. Refer to the Devika documentation for specific instructions on how to set up the API key.

->Start Devika Server– Now you can launch the Devika server using this command:

python devika.py

This will start the backend server responsible for processing tasks.

->Run the UI – Devika’s user interface is a separate application. Navigate to the `ui` folder within the Devika directory:

cd ui

Then, use the following command to start the UI server:

bun run dev

This will launch the UI in a web browser, typically at http://localhost:3000/. You can now interact with Devika through the chat interface.

Conclusion

Devika AI Software Engineer, being an open source, marks an important inflexion point of AI expansion in software development: the future that will see AI leading to a huge improvement in the human capabilities as regards autonomous coding and software creation process, cost and time.

For me and coding enthusiasts alike, Devika, Devin and Autodev, all 3 are critical milestones in Software engineering and product development that will definitely restructure how software development is done nowadays, making it more effective, simple, and team-oriented.

About Appscribed

Appscribed is a comprehensive resource for SaaS tools, providing in-depth reviews, insightful comparisons, and feature analysis. It serves as a knowledge hub, offering access to the latest industry blogs and news, thereby empowering businesses to make informed decisions in their digital transformation journey.

Related Articles