Go back

Large language models (LLMs) are reshaping the software development landscape, offering powerful tools that assist developers in their daily workflows. From automating repetitive tasks to providing real-time code suggestions, these tools are becoming essential companions for software professionals.

In this insight, we delve into our experiences with some of the most prominent LLM-powered tools, their advantages, and the challenges that come with their adoption.

LLM Tools Evaluation

We evaluated several tools integrating LLMs to assist developers:

  • JetBrains Integrated AI
    Provided by JetBrains, available via a paid version.
  • ChatGPT
    Developed by OpenAI, this tool offers general solutions. It is accessible through a free version with limitations and a paid version (“ChatGPT Plus”) that offers enhanced performance.
  • Aider-chat
    The use of the open-source project is free, but it acts as an agent with another LLM (such as OpenAI, Anthropic, ollama) which is often paid.
  • Claude.ai
    Developed by Anthropic, similar to ChatGPT but with better quality technical responses. Claude.ai offers both a free version and a paid version (“Claude Pro”) that provides priority access and extended capabilities.

Strengths, Limitations and Usage

We used several integrated AIs in various tools to evaluate their strengths and limitations.

ToolStrengthsLimitationsUsage
JetBrains AI and IDE Tools (Copilot, Cursor AI)Quick suggestions, strong for commit messages, and seamless IDE integrationCan be overly persistent in recommending changesActing like a vigilant helper, always ready to suggest improvements, though not always appropriately
ChatGPTBroad knowledge base, effective for debugging and brainstorming general issuesVerbose, lacks project context, and has integration challenges with IDEsActing as advanced debugging companions or ‘rubber ducks’ to help articulate and solve issues
Aider-chatCommand-line-based, generates repository maps, and provides more context-aware suggestionsRequires manual file selection and an atomic approach to usageActing like a personal code writer, doing precisely what is asked without unnecessary additions
Claude.aiHigher-quality technical responses compared to ChatGPT, helpful for debugging and technical queriesLimited IDE integration and lacks in-depth project-specific knowledgeActing as advanced debugging companions or ‘rubber ducks’ to help articulate and solve issues

Why Adopting LLM Tools in Software Development

Advantages

  • Increased Productivity: LLMs automate repetitive tasks, allowing developers to focus on more complex aspects.
  • Improved Code Quality: Real-time suggestions and corrections reduce errors and improve maintainability.
  • Accessibility: Less experienced developers can progress more quickly thanks to the assistance provided.

Challenges

  • Excessive Dependence: Over-relying on these tools may limit the development of fundamental skills.
  • Bias and Inaccuracies: LLMs can reproduce biases from their training data or generate incorrect code.
  • Compatibility: Some tools do not integrate well with all development environments.

What Are the Data Security Concerns

  • The use of LLMs raises concerns about privacy and data security:
  • Privacy: Input data can be sent to external servers, posing risks of sensitive information leaks.
  • Intellectual Property: Generated code may be based on sources protected by copyright, raising legal questions.
  • Code Security: Code suggestions may introduce vulnerabilities if not carefully examined.

What we’d like to test more

Open-interpreter

Open Interpreter is an open-source tool that enables large language models (LLMs) to execute code – such as Python, JavaScript, and Shell – locally on your machine. It provides a ChatGPT – like interface in the terminal, allowing natural language interactions to perform tasks like data analysis, web browsing, and file management. Unlike OpenAI’s Code Interpreter, Open Interpreter runs entirely on your local environment, offering full internet access and the ability to use any necessary packages or libraries without restrictions on runtime or file size.

OpenHands

OpenHands is an open-source platform designed to develop AI agents that emulate human developers by writing code, executing commands, and browsing the web. These agents can perform tasks such as code modification, command execution, web browsing, and API calls. OpenHands supports various models, including Anthropic’s Claude 3.5 Sonnet, and offers multiple interfaces like a web UI, CLI, and GitHub Actions integration. The platform emphasizes community collaboration, with contributions from over 188 developers, and is released under the MIT license.

In a Nutshell

LLMs are undeniably transformative for software development, elevating productivity and enhancing code quality. However, their adoption must be approached thoughtfully, considering the challenges of data security, biases, and integration. As these tools evolve, they hold the promise of becoming even more reliable and indispensable to developers.