Development with AWS Services · Topic 7 of 7
AI-Assisted Development and Managed AI Services
Use Kiro and Amazon Q Developer to generate, review and secure code, and call Amazon Bedrock, Textract, Transcribe and Comprehend from application code.
- 5 min
- Kiro specs use
requirements.md,design.mdandtasks.md; steering files give persistent project context. - Amazon Q Developer offers completions, chat, code generation and security scanning.
- AI generated code needs human review, tests and security scanning before it ships.
What it is
This page covers two different ideas that share the word AI.
AI-assisted development tools help you write code. They suggest, generate, review and refactor code inside your editor, but they are not part of your application.
Managed AI services are APIs your application calls at run time. Amazon Bedrock generates text from foundation models. Amazon Textract reads documents. Amazon Transcribe turns speech into text. Amazon Comprehend analyzes text. You call them with an SDK, and AWS runs the models.
How it works
Tools that help you write code
| Task | What the tools offer |
|---|---|
| Generate code | Inline completions as you type, chat that writes functions, and agentic coding that edits several files |
| Review code | Chat that explains code and points out likely problems before a pull request |
| Optimize and refactor | Suggestions to simplify, debug, optimize or upgrade code, such as moving to a newer language version |
| Security scanning | Scans that flag vulnerabilities in your code and propose fixes |
Kiro is an agentic development environment from AWS, available as an IDE and a command line tool. Its signature feature is spec driven development. A spec turns an idea into three files: requirements.md (user stories and acceptance criteria), design.md (the technical design) and tasks.md (a list of trackable implementation tasks).
Kiro also reads steering files, markdown in .kiro/steering/ that record project conventions so you do not repeat them in every chat. Hooks are JSON definitions in .kiro/hooks/ that run an action when an event happens, such as a file save.
Amazon Q Developer provides inline code suggestions, chat, code generation and security scanning in supported IDEs and in the AWS Management Console. AWS has announced that the IDE plugins reach end of support on April 30, 2027, and points users to Kiro.
Treat generated code as a draft from a fast junior colleague. Read it, run the tests, run a security scan, and keep secrets and customer data out of prompts. A human still owns the pull request.
Calling Amazon Bedrock
Use the bedrock-runtime client. The Converse API sends messages in one format that works across models that support messages. InvokeModel sends a model specific JSON body instead. ConverseStream and InvokeModelWithResponseStream return the answer in chunks.
import boto3
br = boto3.client("bedrock-runtime")
resp = br.converse(
modelId=MODEL_ID,
messages=[{"role": "user", "content": [{"text": "Summarize this ticket: ..."}]}],
inferenceConfig={"maxTokens": 300, "temperature": 0.2},
)
answer = resp["output"]["message"]["content"][0]["text"]
- The caller's role needs
bedrock:InvokeModel(andbedrock:InvokeModelWithResponseStreamfor streaming) on the model. - A guardrail that your team already configured is applied by passing its ID and version in the request, or by calling
ApplyGuardrail. - Throttling errors are retried with backoff like any SDK call.
Amazon Bedrock AgentCore is the platform for running AI agents. Its Runtime hosts them, Memory keeps context, Gateway turns APIs and Lambda functions into tools, and Observability traces them.
Document, speech and text services
| Service | Typical calls | Notes |
|---|---|---|
| Textract | DetectDocumentText, AnalyzeDocument (tables, forms), AnalyzeExpense, AnalyzeID | Synchronous calls suit single page documents; use StartDocumentAnalysis for multipage PDFs in S3 |
| Transcribe | StartTranscriptionJob with an S3 media URI | Results are written as JSON; streaming transcription handles live audio |
| Comprehend | DetectSentiment, DetectEntities, DetectKeyPhrases, DetectPiiEntities, DetectDominantLanguage | Batch variants process many documents per call |
Asynchronous jobs return a job ID. You learn that a job finished from an Amazon SNS message (Textract) or an EventBridge job state change event (Transcribe), or by polling the job status.
How the exam asks about this
- "A team wants to turn a feature idea into requirements, a design and tracked tasks before coding." -> Kiro spec driven development.
- "Extract tables and form fields from scanned invoices, with the least custom code." -> Amazon Textract.
- "Add summarization to an app and keep the same code if the model changes." -> Call the Bedrock Converse API.
What to remember for the exam
- Kiro specs use
requirements.md,design.mdandtasks.md; steering files give persistent project context. - Amazon Q Developer offers completions, chat, code generation and security scanning.
- AI generated code needs human review, tests and security scanning before it ships.
- Bedrock Converse gives a model independent message format;
InvokeModeluses model specific bodies. - The calling role needs
bedrock:InvokeModel. - Textract reads documents, Transcribe converts speech, Comprehend analyzes text.
- Multipage Textract documents use asynchronous Start and Get calls with SNS notification.
Match the task to the service. Documents go to Textract, speech to Transcribe, text analysis to Comprehend, and generated text to Bedrock. Prefer the purpose built service for each task.
Common mistakes
Calling a synchronous Textract operation on a multipage PDF. Use the asynchronous Start and Get operations with the file in S3.
Trusting generated code without review. Tools can produce insecure or subtly wrong code, so tests and scans still apply.
Forgetting model permissions. An AccessDeniedException from Bedrock usually means the role lacks bedrock:InvokeModel for that model.
Check yourself
What three files make up a Kiro spec?
requirements.md, design.md and tasks.md.
Which Bedrock API gives one message format across models?
Converse, which also supports a streaming variant, ConverseStream.
How do you process a 40 page PDF with Textract?
Store it in S3 and use the asynchronous Start and Get operations, with SNS announcing completion.
Topic 7 of 7 in Development with AWS Services
Test yourself on Development with AWS Services
The full AWS DVA-C03 question bank has 850 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by AWS. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.