Prompt engineering is the discipline of designing inputs to FMs to achieve high-quality outputs without modifying model weights. The AIP-C01 exam covers both prompting techniques and the Bedrock infrastructure for managing prompts at production scale.
Foundational Principles
Effective prompts share five properties: clarity (unambiguous instructions), specificity (output format, length, tone, inclusions/exclusions defined explicitly), context (all background information the model needs must be in the prompt), role assignment (defining the model's persona and constraints), and step-by-step decomposition for complex tasks.
Core Prompting Techniques
Zero-shot Prompting
No examples provided — the FM uses its pre-trained knowledge directly. Effective for straightforward classification, translation, and summarization where the FM already has strong prior knowledge. Fails for highly specialized domain tasks where pattern demonstration is needed.
Few-shot Prompting
Provide 1–5 demonstration examples (input → output pairs) before the actual task. Critical: example quality matters more than quantity. Poor examples actively degrade performance. Few-shot is especially effective for enforcing consistent output format and applying domain-specific patterns the model may not exhibit by default.
Chain-of-Thought (CoT) Prompting
Adding "Let's think step by step" or "단계적으로 생각해" to the prompt causes the FM to make its intermediate reasoning steps explicit. CoT significantly improves accuracy on mathematical reasoning, logical inference, and multi-step analysis tasks. Zero-shot CoT requires only the trigger phrase, while few-shot CoT includes example reasoning chains in the demonstrations.
Negative Prompting
Explicitly stating what the model should NOT do: "Do not provide medical advice. Do not speculate on legal matters. Do not collect personal information." Works at the model behavior level and pairs with Amazon Bedrock Guardrails (system-level filtering) for defense in depth.
System Prompts and Role Prompting
System prompts (the field in Bedrock's Converse API) define overall model behavior separately from user messages. A well-structured system prompt includes: role definition, behavioral guidelines, and output format specification. Role prompting ("You are an expert customer support agent for ACME Corp...") shifts the model's perspective and tone from a generic assistant to a domain-specific one, improving consistency and reducing off-topic responses.
Prompt Templates and Variable Management
Production prompts are templates with variable slots for dynamic data. Key security consideration: never blindly interpolate raw user input into prompt templates — prompt injection attacks can override system instructions. Escape or sanitize user inputs before template insertion. Variable names should be descriptive and consistent across the codebase.
Amazon Bedrock Prompt Caching
Prompt Caching stores the KV (Key-Value) cache of long, frequently repeated prompt prefixes (system prompts, large context documents, few-shot examples). On a cache hit: input token cost is reduced by approximately 90%, and TTFT (Time To First Token) latency decreases significantly. Cache validity is 5 minutes (default) to 1 hour. Ideal for chatbots with large system prompts, repeated document analysis, and high-volume inference with stable prompt prefixes.
Amazon Bedrock Prompt Management
Prompt Management provides version control for prompts as a Bedrock service (not in code). Each prompt modification creates a new version. Prompts are referenced in application code by ARN — updating the prompt in Bedrock takes effect immediately without redeployment. Non-technical stakeholders (product managers, data scientists) can iterate on prompts independently of engineering release cycles.
Bedrock Prompt Flows
Prompt Flows is a visual workflow builder connecting prompts, knowledge bases, Lambda functions, and agents. Node types include Prompt, Knowledge Base, Lambda, Condition (branching), and Iterator (loop over arrays). Enables complex multi-step GenAI pipelines — for example: user query → intent classification → conditional branch (technical query to KB lookup, general query to direct response) → response generation — without writing orchestration code.
!Bedrock Prompt Flows branching example
Output Parsing and Structured Outputs
For structured output, instruct the FM explicitly: include JSON schema in the prompt, provide few-shot examples with correct JSON structure, and use to halt generation after the closing brace. Claude models support (function calling), which provides higher reliability for structured output than prompt-only approaches by constraining the output to a defined schema at the API level.