At the other end of the scale, individual developers can now use CodeWhisper via AWS Builder ID, a new personal login for AWS which developers can keep as they “move between jobs, schools, or other organizations.”
CodeWhisperer remains in preview though, which means it is currently free, with pricing to be revealed when it reaches general availability.
According to the documentation for Builder ID, CodeWhisperer is the only AWS service that supports the new login type, though this may change shortly.
A key feature for enterprise administrators is the ability to enable or disable a feature called “include suggestions with code references.” This touches on an aspect of AI coding that has proved controversial for Copilot, the AI coding service from Microsoft’s GitHub. Specifically, developers have observed that the service may generate code that seems similar to that in open source projects, but which appears without attribution or licensing information.
CodeWhisperer includes ML models “trained on various data sources, including Amazon and open-source code,” according to the documentation, so could potentially also be vulnerable to issues such as using code in ways that conflict with its open source license. The enterprise documentation acknowledges this, stating that “sometimes, a suggestion [CodeWhisperer] is giving you may be similar to a specific piece of training data.”
If the feature is enabled, then when CodeWhisperer has source references linked to a code suggestion, the reference will be provided “so that you can learn more about … where the training data comes from.” This might include checking the license, though at the time of writing it is not clear whether the service will provide the license with the references. If the feature is disabled, then code suggestions linked to code references will not appear at all. Enterprise developers will not be able to change this setting once configured by the administrator.
AWS has tried to reassure developers that “During the preview, no developer-written code will be used to train CodeWhisperer models.” Code and its context will be transmitted to the service, and optionally “your content processed by CodeWhisperer may be used for service improvement.” This last is a setting that can be unchecked.
CodeWhisperer is part of the AWS IDE Toolkit, and integrates with JetBrains IDEs, Visual Studio Code, AWS Cloud 9, and the Lambda console. Developers are advised that for CodeWhisperer to work at its best, it pays to use intuitive names for code elements, and comments that are short and “map to smaller discrete tasks so that no single function is too long.” The docs also warn that “recommended code might not always work as intended.”
As for the Builder ID, it is described as a complement rather than an alternative to AWS accounts and is not used for billing. “Your AWS Builder ID represents you as an individual and is separate from your AWS accounts,” the docs explain.