Customer Support Chatbot
A support chatbot with three separate routes, where plain code decides when the database may be written to.
The problem
Support bots fail in two common ways: they make up answers, and they save incomplete tickets. This one has three routes that never overlap. It collects bug reports over several turns, answers only from the shop's FAQ, and sends everything else to a person.
What I built
- An AgentCore Harness on Amazon Nova Pro 1.0 that keeps conversation state across turns.
- An AgentCore Gateway that gives the model one tool, defined by an OpenAPI contract: a Lambda function that writes bug reports to DynamoDB.
- A routing guard in plain code that blocks early writes, removes
<thinking>tags from replies and handles fallbacks. - A Flask web app with login and a panel that shows which route was chosen and the source of each answer.
- Bedrock evaluation on a JSONL dataset, with a model scoring the answers and a per-case metrics table.
Request path
- ClientFlask UI · CLI chat
- Policy Guardroute · preconditions · output filter
- AgentCore HarnessAmazon Nova Pro 1.0 · grounded prompt
- Gateway → Lambda → DynamoDBcreate_bug_report · OPEN ticket