Pour one out for CodeWhisperer, Amazon’s AI-powered assistive coding tool. As of today, it’s kaput — form of.
CodeWhisperer is now Q Developer, a component 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 among the tasks developers do in the midst of their every day work, like debugging and upgrading apps, troubleshooting, and performing security scans — very like CodeWhisperer did.
In an interview with TechCrunch, Doug Seven, GM and director of AI developer experiences at AWS, implied that CodeWhisperer was a little 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 1000’s of corporate customers. (Poor early impressions surely didn’t help.)
“CodeWhisperer is where we got began [with code generation], but we actually desired to have a brand — and name — that fit a wider set of use cases,” Seven said. “You’ll be able to consider Q Developer because the evolution of CodeWhisperer into something that’s way more broad.”
To that end, Q Developer can generate code including SQL, a programming language commonly used to create and manage databases, in addition to test that code and assist with transforming and implementing recent code ideated from developer queries.
Much like Copilot, customers can fine-tune Q Developer on their internal codebases to enhance the relevancy of the tool’s programming recommendations. (The now-deprecated CodeWhisperer offered this feature, too.) And, because of 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 recent code if crucial, 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 together and applying updates across the crucial 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, within the case of feature development, Q Developer takes all the 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.”
Agents can even 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 — in search of anything that should be upgraded — and makes all those changes before returning it to the developer to review and commit themselves,” Seven added.
To me, Agents sounds quite a bit like GitHub’s Copilot Workspace, which similarly generates and implements plans for bug fixes and recent features in software. And — as with Workspace — I’m not entirely convinced that this more autonomous approach can solve the problems surrounding AI-powered coding assistants.
An evaluation of over 150 million lines of code committed to project repos over the past several years by GitClear found that Copilot was leading to 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 will be seriously flawed. Assistants’ guesses create bugs which can be often difficult to identify, especially when developers — who’re adopting AI coding assistants in great numbers — defer to the assistants’ judgement.
In less dangerous territory beyond coding, Q Developer will help manage an organization’s cloud infrastructure on AWS — or at the least get them the data they should 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 even generate (but not execute) AWS Command Line Interface commands and answer AWS cost-related questions comparable to “What were the highest three highest-cost services in Q1?”
So how much do these generative AI conveniences cost?
Q Developer is accessible free of charge within the AWS Console, Slack and IDEs comparable to 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 an information collection scheme by default. It also imposes monthly caps, including a maximum of 5 Agents tasks (e.g. implementing a feature) per thirty days and 25 queries about AWS account resources per thirty days. (It’s baffling to me that Amazon would impose a cap on questions one can ask about its own services, but here we’re.)
The premium version of Q Developer, Q Developer Pro, costs $19 per thirty days per user and adds higher usage limits, tools to administer users and policies, single sign-on and — perhaps most significantly — IP indemnity.
In lots of cases, the models underpinning code-generating services comparable to Q Developer are trained on code that’s copyrighted or under a restrictive license. Vendors claim that fair use protects them within the event that the models was knowingly or unknowingly developed on copyrighted code — but not everyone agrees. GitHub and OpenAI are being sued in a class motion 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 as long as they let AWS control their defense and settle “as AWS deems appropriate.”