What is Amazon CodeWhisperer?
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.
Selecting the right AI solution
Whether you’re an individual developer looking for an AI code assistant to make your life easier, or a manager choosing a tool to deploy out to your entire engineering team to improve the effectiveness and satisfaction of your team, it’s critical to evaluate potential vendors holistically:
- Does the AI code assistant offer a comprehensive platform with in-line code completions and support via chat?
- Does the vendor support the full variety of IDEs and languages your team currently utilizes?
- Does the AI code assistant leverage world-class models? Are they able to evolve their models as the technology improves?
- Can the AI platform be optimized for your engineering team with tailored models and context-awareness?
- Does the vendor offer complete privacy for your codebase and data around usage? Do they offer air-gapped deployments (on-premises or VPC) and guarantee zero data retention?
- Was the AI code assistant trained exclusively on code with permissive licenses? Does the vendor offer protection from legal risk by limiting the recommendations to software you have the rights to and not just promises of indemnification?
- Can the vendor meet your company’s expectations for security and compliance?
Only Tabnine meets all of these requirements expected by enterprise engineering teams and has the history and scale of developer adoption to prove it.
Read more about AI for software development in our guide for AI coding tools.
The AI that you control
Since launching our first AI code assistant in 2018, Tabnine has pioneered generative AI for software development. Tabnine helps development teams of every size use AI to accelerate and simplify the software development process without sacrificing privacy or security. Tabnine boosts engineering velocity, code quality, and developer happiness by automating the coding workflow through AI tools customized to your team. With more than one million monthly users, Tabnine typically automates 30–50% of code creation for each developer and has generated more than 1% of the world’s code.
Unlike generic coding assistants, Tabnine is the AI that you control.
Private
Tabnine ensures the privacy of your code and your engineering team’s activities. Tabnine lives where and how you want it to — deployed as protected SaaS for convenience, on-premises for you to lock down the environment, or on virtual private cloud for the balance of the two. Tabnine guarantees zero data retention, and we never use your code, data, or behaviors to feed our general models.
Personalized
Tabnine is personalized to your team for maximum business impact. Tabnine is built on best-of-breed large language models (with the flexibility to switch as new models emerge or improve), while giving you the ability to fine tune or deploy fully customized models.
Tabnine is context-aware of your code and patterns, delivering recommendations based on your internal standards and engineering practices.
Tabnine works the way you want, in the tools you use. Tabnine supports a wide scope of IDEs and languages, improving and adding more all the time. Tabnine also provides engineering managers with visibility into how AI is used in their software development process and the impacts it’s having on team performance.
Protected
Tabnine is secure and trusted. Tabnine believes in building trust through algorithmic transparency, and thus shares how our models are built and trained with our customers.
Furthermore, we’re relentlessly focused on protecting our customers’ interests. Tabnine offers both total indemnification, as well as the option of unique AI models that are only trained on code with permissive licenses. This means that Tabnine is capable of only returning code recommendations that are not subject to future questions of ownership and potential litigation. We respect open source code authors and their rights as well as the rights of each and every one of our customers.
As you should expect from any vendor, Tabnine offers proven, enterprise-grade security and meets key industry standards.
Get started with Tabnine for free today, or contact us to learn how we can help your engineering team be happier and more productive.