Introducing SweKit: A Framework for Building SWE Agents

Composio - SWE Agents

The release of Devin from Cognition Lab sparked a notable surge in developer interest in Software Engineering (SWE) Agents. This followed the release of several closed—and open-source alternatives, and we have thoroughly tried them all.

However, the solutions were not to our taste.

Through our observations, most existing solutions were:

  • Bloated: They ship with many things that you may never use.

  • Complex: Running these tools felt like a job.

  • Non-extensible: You can’t extend their capabilities using external tools and integrations.

That being said, they certainly hold their own merits,

As the platform offers cutting-edge tooling solutions for AI agents, we sought something different—something highly customizable and extensible yet simple.

Finally, after many engineering hours, we have shipped the first framework for building SWE agents.

So, let’s get familiar with the newest framework in the town.

Introduction to SweKit

The idea was simple: we wanted to build a framework that could be easily customized and extended. To achieve this, we adopted the Lego format for building AI agents, allowing you, as a developer, to easily build and customize your agents using Composio’s tooling ecosystem.

Key characteristics of SweKit

  • 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 like LangChain, LlamaIndex, etc.

  • Extensible: You can extend the capability of SWE agents by integrating tools from the Composio eco-system, such as Tavily, Jira, Notion, Linear, and more. You can even add your custom applications as tools to the agent.

  • Open-source: The code is open-source, so you can fork and add custom changes.

The SWEKit is available in Python and JavaScript, so developers can choose the most comfortable language to build highly customized SWE agents.

SWEKit Overview

The SWEKit allows you to

  • ● Scaffold agents that work out of the box with your choice of agentic frameworks, such as Crewai, Llamaindex, and more.

  • ● Benchmark your agents against SWE-bench.

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 use cloud sandbox providers like E2B and FlyIO.

Here is an example diagram of how SweKit helps you build an SWE agent that can automatically resolve GitHub issues.

( Fig: The workflow of the SWE agent was built with SweKit to resolve issues.)

Here is a brief explanation of the above SweKit workflow diagram

  • ● Issue Creation on GitHub: The workflow starts when an issue is created on GitHub. This could be a bug report, a feature request, or any other issue that needs attention.

  • Webhook Trigger: Once the issue is created, a webhook is activated. Webhooks are user-defined HTTP callbacks that are triggered by specific events. In this case, the event is the creation of a GitHub issue. The webhook sends data related to the issue to the SWEKit.

  • SWEKit Activation: Upon receiving the webhook notification, SWEKit engages.

  • Interaction with Agentic Framework: SWEKit interacts with an agentic framework to orchestrate the interaction with LLMs.

  • Utilization of LLMs: The agentic framework uses the LLMs for reasoning, decision-making, and tool calling.

  • Ready-to-Use Toolset: SWEKit leverages ready-to-use toolsets to interact with external environments to accomplish the task.

To begin using SweKit, please visit our GitHub repository.