I 10x’d my Coding Productivity Using this AI Tool: I wish I had known it Earlier 🤯

Nevo David - Jul 22 - - Dev Community

I usually work on multiple projects simultaneously, and managing all these projects can become very hectic and overwhelming. So, I wanted a solution to reduce my workload.

Considering the significant progress in AI in the past few years, I was specifically looking for an AI tool that can

  • Access my GitHub repository.
  • Solves any given issue autonomously.
  • Tests the code and pushes the fix to the repository.

wick

So, I started my research and stumbled upon quite a few solutions. Here is my experience working with these solutions.

But before that, let’s understand what AI and SWE (Software Engineering) agents are.


What are AI Agents?

AI agents are systems powered by AI models that can autonomously perform tasks, interact with their environment, and make decisions based on their programming and the data they process.

Components of AI Agents

An AI agent has three crucial components.

  • Inference Engine: Inference Engines are AI models responsible for planning and decision-making.
  • Memory: The memory component allows the agents to manage short-term and long-term information to keep track of the workflows.
  • Tools: Tools enable Agents to interact with the external environment. For instance, a GitHub tool allows the agent to extract information from repositories and make necessary changes.

minion happy


Characteristics of an SWE Agent

So, what makes an AI agent a SWE agent?

A SWE agent is an AI agent that mimics the qualities and characteristics of a human software developer, such as

  • Long-term planning and reasoning
  • Use standard developer tools.
  • Improve code quality through testing and feedback.
  • Debug and resolve issues autonomously.
  • Collaborate with human counterparts as and when needed.

Simillar to any AI agent, an SWE agent has

  • A robust inference engine. Preferably state-of-the-art code models.
  • A memory component to keep track of events.
  • Specific tools for writing, debugging, and running codes (Isolated code environment, Internet, GitHub, File tools, etc.)

Devin - The AI Software Developer

Devin is the first thing you will find when discussing AI agents that can code. It is an SWE agent from Cognition Labs, which started it all. It garnered a lot of attention from developers, founders, and investors and quickly became the talk of the town.

However, a few things made me turn away from it.

  • Closed Source: It is a closed source. So, there is no scope for customization.
  • OpenAI only: It exclusively utilizes OpenAI models, considering Llama 3 400b launch. I wanted something more flexible.
  • Not Publicly Available: It is still on the waitlist, and few people can access it.

While enterprises may prefer it, I needed something more transparent and flexible.

devin


Open-source Alternatives

The next obvious choice was all the open-source alternatives for Devin. While they are more transparent and flexible in terms of LLM providers. They still didn’t click with me.

Most open-source solutions are

  • Bloated: They ship with many things I might never use.
  • Complex: Running these tools felt like a job.
  • Non-extensible: I can’t extend their capabilities using external tools and integrations.

That being said, they certainly hold their own merits.


swekit

SweKit - Simple Extensible Software Engineering Agent Framework

After extensive searching and research, I was leaning towards building it myself until I stumbled upon this framework.

SweKit is an open-source framework from Composio that helps you create simple and extensible SWE agents.

It clicked all the criteria I was looking for.

  • Customizable: It is simple and highly customizable. You can use the LLM providers of your choice and change the prompts to suit your requirements.
  • Framework Agnostic: It works with all the popular agentic frameworks, such as LangChain and LlamaIndex.
  • Extensible: Adding more tools, such as browsing and scrapping, can easily extend the agent's capability. You can add tools from the Composio ecosystem.
  • Open-source: Needless to say, the code is open-source, so you can fork and add custom changes.
  • Multiple Language Support: SweKit has native support for Python and Typescript. You can go with the language of your choice.

SweKit can access any public or private repository, work on provided issues, and push changes to the repository.

SWE agent arch

The SWE agent runs in Docker by default for security and isolation. This sandboxes the agent's operations, protecting against unintended consequences of arbitrary code execution. You can also run it locally, but be cautious, as it won't have Docker's protective layer.

thank you


Final Words

I have already started using this in my projects, and I cannot stress enough how much time and energy it has saved me.

I spoke with the team building Composio, and I can confidently say this will be a game-changer.

I cannot star them enough, so do me a favour, visit the repository, use the product and give them a star.

show them support by starring the repo ⭐

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player