Amazon CodeWhisperer is an AWS service that offers real-time, AI-driven code suggestions. Utilizing large language models (LLMs) and an extensive library of open-source code, it comprehends the context of your project and provides relevant recommendations as you type.
This is part of a series of articles about ChatGPT alternatives.
Amazon CodeWhisperer features
Amazon CodeWhisperer provides the following main features:
Tailored code suggestions: CodeWhisperer offers code suggestions personalized based on the user’s existing code and comments.
Compatibility with popular programming languages and IDEs: The tool supports programming languages such as Python, Java, and JavaScript. It integrates with leading IDEs like Visual Studio Code and IntelliJ IDEA.
Integrates with AWS Services: As an Amazon product, CodeWhisperer is integrated with other AWS services, such as Lambda functions or S3 storage solutions.
Built-in security scans: To ensure the security of your applications, CodeWhisperer includes integrated security scans that detect potential vulnerabilities in generated code.
Reference tracker for open-source code: This feature helps you monitor open-source libraries used in your projects by providing relevant documentation links within the coding environment itself.
Bias avoidance: The AI-powered suggestion engine is designed to prevent biases based on race, gender, or nationality when generating recommendations.
The pricing details below are subject to change. For up-to-date pricing information, see the official pricing page.
Individual Tier
The individual tier is free and simple to set up, but it does not include the benefits of organizational license management.
If you are using CodeWhisperer at the individual tier, you can:
Use CodeWhisperer with the AWS Toolkit in either VS Code or JetBrains.
Authenticate with Builder ID.
Control your own reference tracker settings.
Access code generation for all supported languages.
Share code fragment data with AWS by default (you can opt-out in the IDE settings).
Share telemetry data with AWS by default (you can opt-out in the IDE settings).
Run up to 50 security scans per month.
Professional Tier
The professional tier incurs charges for additional features, with your employer covering the costs through their company AWS account.
Pricing for the CodeWhisperer Professional Tier is calculated on a “per user, per month” basis. Organizations are billed monthly based on the maximum number of users who have access to CodeWhisperer during a calendar month’s billing period. At the time of this writing, the professional tier costs $19 per user.
If you are using CodeWhisperer at the professional tier, you can:
Appoint administrators, who can centrally manage which developers should have access to CodeWhisperer and set policies at the organizational level.
Use CodeWhisperer with the AWS Toolkit in either VS Code or JetBrains.
Authenticate with credentials set up by your employer’s AWS account’s IAM Identity Center administrator in IAM Identity Center.
Not use Builder ID.
Allow your administrator to control the reference tracker settings.
Access code generation for all supported languages.
Not share code fragment data with AWS.
Share telemetry data with AWS by default (you can opt-out in the IDE settings).
Run up to 500 security scans per month.
Amazon CodeWhisperer vs. GitHub Copilot
GitHub Copilot, an AI-driven software development tool by Microsoft-owned GitHub, was introduced in 2021 and became generally available in 2022.
There are some notable differences between GitHub Copilot and Amazon CodeWhisperer:
Generality
Copilot is a general-purpose AI-assisted development tool, while CodeWhisperer primarily targets use cases related to Amazon platforms, such as Amazon Web Services. Copilot doesn’t cater specifically to Microsoft technologies or related programming use cases, despite being hosted on a Microsoft-owned platform.
CodeWhisperer is designed to support Amazon technology scenarios, and usually performs better with Amazon-related technologies. However, it can also be used in non-Amazon environments.
Language Support
Copilot can generate code for almost any language and is optimized for a broader range of languages, including Python, JavaScript, TypeScript, Ruby, Go, C#, and C++. Additionally, Copilot supports nearly all major IDEs.
CodeWhisperer supports fewer programming languages and IDEs. It currently supports C#, Java, JavaScript, Python, and TypeScript, with most compatible IDEs being Amazon-based (JetBrains and Visual Studio Code are the exceptions).
Enterprise Features
CodeWhisperer provides enterprise features such as security scans, documentation references, and the ability to opt out of sharing code fragments and telemetry data with Amazon.
Copilot does not currently provide similar enterprise features, making it more limited for use in enterprise environments.
Challenges of Implementing CodeWhisperer
Despite its numerous benefits, developers and organizations may face some challenges when implementing Amazon CodeWhisperer, including:
Code quality and security: Even though Codewhisperer does provide some features to verify the security and quality of the code, it could still generate code that does not meet an organization’s quality or security requirements. Any code it generates must be carefully reviewed, limiting its productivity gains.
Data leakage concerns: As an AI-powered service, CodeWhisperer requires access to your source code to generate suggestions. Organizations must ensure proper data protection measures and compliance with relevant regulations while using such services.
Integration with existing workflows: Developers may need to adjust their current development processes to effectively incorporate CodeWhisperer, potentially involving changes in coding practices or team collaboration methods.
Potential overreliance on AI-generated code: While helpful, it’s essential for developers not to become overly dependent on generated code and continue developing their skills.
Tabnine: An enterprise-grade Codewhisperer alternative
Tabnine is an AI code assistant used by over 1 million developers from thousands of companies worldwide. It provides contextual code suggestions that boost productivity, streamlining repetitive coding tasks and producing high-quality, industry-standard code. Tabnine’s code suggestions are based on Large Language Models that are exclusively trained on credible open-source licenses with permissive licensing. With Tabnine Enterprise, developers have the flexibility to run the model on-premises or in a Virtual Private Cloud (VPC), ensuring full control over their data and infrastructure while leveraging the power of Tabnine to comply with enterprise data security policies.
Advantages for enterprises:
Trained exclusively on permissive open-source repositories
Eliminates privacy, security, and compliance risks
Avoid copyleft exposure and respect developers’ intent
Can be locally adapted to your codebase and knowledge base without exposing your code
Tabnine Chat
Tabnine has recently released Tabnine Chat which is an AI assistant trained on your entire codebase, safe open source code, and every StackOverflow Q&A, while ensuring all of your intellectual property remains protected and private.
Tabnine Chat is always available for you, right in the IDE, to:
Answer any of your questions regarding your code
Generate new code from scratch
Explain a piece of code
Search your code repos for specific functions or pieces of code