July 21, 2024
Amazon CodeWhisperer is now called Q Developer and is expanding its functions


Pour one out for CodeWhisperer, Amazon’s AI-powered assistive coding tool. As of today, it’s kaput — sort of.

CodeWhisperer is now Q Developer, a part of Amazon’s Q family of business-oriented generative AI chatbots that also extends to the newly announced Q Business. Available through AWS, Q Developer helps with some of the tasks developers do in the course of their daily work, like debugging and upgrading apps, troubleshooting and performing security scans — much like CodeWhisperer did.

In an interview with TechCrunch, Doug Seven, GM and director of AI developer experiences at AWS, implied that CodeWhisperer was a bit of a branding fail. Third-party metrics reflect as much; even with a free tier, CodeWhisperer struggled to match the momentum of chief rival GitHub Copilot, which has over 1.8 million paying individual users and tens of thousands of corporate customers. (Poor early impressions surely didn’t help.)

“CodeWhisperer is where we got started [with code generation], but we really wanted to have a brand — and name — that fit a wider set of use cases,” Seven said. “You can think of Q Developer as the evolution of CodeWhisperer into something that’s much more broad.”

To that end, Q Developer can generate code including SQL, a programming language commonly used to create and manage databases, as well as test that code and assist with transforming and implementing new code ideated from developer queries.

Similar to Copilot, customers can fine-tune Q Developer on their internal codebases to improve the relevancy of the tool’s programming recommendations. (The now-deprecated CodeWhisperer offered this option, too.) And, thanks to a capability called Agents, Q Developer can autonomously perform things like implementing features and documenting and refactoring (i.e. restructuring) code.

Ask a request of Q Developer like “create an ‘add to favorites’ button in my app,” and Q Developer will analyze the app code, generate new code if necessary, create a step-by-step plan, and complete tests of the code before executing the proposed changes. Developers can review and iterate the plan before Q implements it, connecting steps and applying updates across the necessary files, code blocks and test suites.

“What happens behind the scenes is, Q Developer actually spins up a development environment to work on the code,” Seven said. “So, in the case of feature development, Q Developer takes the entire code repository, creates a branch of that repository, analyzes the repository, does the work that it’s been asked to do and returns those code changes to the developer.”

Amazon Q Developer

Image Credits: Amazon

Agents can also automate and manage code upgrading processes, Amazon says, with Java conversions live today (specifically Java 8 and 11 built using Apache Maven to Java version 17) and .NET conversions coming soon. “Q Developer analyzes the code — looking for anything that needs to be upgraded — and makes all those changes before returning it to the developer to review and commit themselves,” Seven added.

To me, Agents sounds a lot like GitHub’s Copilot Workspace, which similarly generates and implements plans for bug fixes and new features in software. And — as with Workspace — I’m not entirely convinced that this more autonomous approach can solve the issues surrounding AI-powered coding assistants.

An analysis of over 150 million lines of code committed to project repos over the past several years by GitClear found that Copilot was resulting in more mistaken code being pushed to codebases. Elsewhere, security researchers have warned that Copilot and similar tools can amplify existing bugs and security issues in software projects.

This isn’t surprising. AI-powered coding assistants seem impressive. But they’re trained on existing code, and their suggestions reflect patterns in other programmers’ work — work that can be seriously flawed. Assistants’ guesses create bugs that are often difficult to spot, especially when developers — who are adopting AI coding assistants in great numbers — defer to the assistants’ judgement.

In less risky territory beyond coding, Q Developer can help manage a company’s cloud infrastructure on AWS — or at least get them the info they need to do the managing themselves.

Q Developer can fulfill requests like “List all of my Lambda functions” and “list my resources residing in other AWS regions.” Currently in preview, the bot can also generate (but not execute) AWS Command Line Interface commands and answer AWS cost-related questions, such as “What were the top three highest-cost services in Q1?”

Amazon Q Developer

Image Credits: Amazon

So how much do these generative AI conveniences cost?

Q Developer is available for free in the AWS Console, Slack and IDEs such as Visual Studio Code, GitLab Duo and JetBrains — but with limitations. The free version doesn’t allow fine-tuning to custom libraries, packages and APIs, and opts users into a data collection scheme by default. It also imposes monthly caps, including a maximum of five Agents tasks (e.g. implementing a feature) per month and 25 queries about AWS account resources per month. (It’s baffling to me that Amazon would impose a cap on questions one can ask about its own services, but here we are.)

The premium version of Q Developer, Q Developer Pro, costs $19 per month per user and adds higher usage limits, tools to manage users and policies, single sign-on and — perhaps most importantly — IP indemnity.

Amazon Q Developer

Image Credits: Amazon

In many cases, the models underpinning code-generating services such as Q Developer are trained on code that’s copyrighted or under a restrictive license. Vendors claim that fair use protects them in the event that the model was knowingly or unknowingly developed on copyrighted code — but not everyone agrees. GitHub and OpenAI are being sued in a class action motion that accuses them of violating copyright by allowing Copilot to regurgitate licensed code snippets without providing credit.

Amazon says that it’ll defend Q Developer Pro customers against claims alleging that the service infringes on a third-party’s IP rights so long as they let AWS control their defense and settle “as AWS deems appropriate.”





Source link