Adjanti Runs a Cited Knowledge Agent on Amazon Bedrock AgentCore accessed via WhatsApp

Swarm and Nyolab moved Adjanti’s Hermes knowledge agent from a partner’s laptop to Amazon Bedrock AgentCore Runtime. It answers the team’s WhatsApp questions with cited sources, using GLM-5 on Amazon Bedrock.

Knowledge Agent
97%

Answers correct and cited on a 50-question test set, against a 90% pass mark

~1 min

Median reply time, down from 5 to 15 minutes searching by hand

~$2,250/yr

Estimated running cost for AWS infrastructure and Amazon Bedrock inference

Adjanti
Nyolab logo
Case study by
Nyolab

The team behind NYO, a governed AI gateway that puts frontier open models behind one API with per-key guardrails and usage accounting.

Visit hive

About the client

Adjanti is a London consultancy, led by three partners, that runs management and AI transformation work for UK law firms. The partners spend most of their time on site with clients.

The challenge

The team’s knowledge base in a shared drive holds its positioning, decisions, meeting notes, brand pack and templates, but it was only usable from a laptop with an AI assistant open. The team talks day to day on WhatsApp, so questions about a past decision or the latest website wording were answered from memory or not at all. Adjanti’s own product requirements document records the result: decisions re-argued, outdated wording reused, and a knowledge base that had stopped being the source of truth. Searching the drive by hand took an estimated 5 to 15 minutes per question.

A first version of the agent brought the knowledge base into WhatsApp, but it ran on one partner’s MacBook. It was reachable only about 30 to 40 percent of the hours in a week, when the laptop was awake and online. A later move to a single self-managed Amazon EC2 host left the firm responsible for operating system patching, process supervision, and recovery of the WhatsApp session and sign-ins, with no agent-level observability. As a legal-sector firm, Adjanti needed answers grounded in its own documents and open to audit.

The solution

Swarm engaged Nyolab as the specialist Hive team to put Adjanti’s existing agent into production on AWS without rebuilding it. Swarm and Nyolab kept the customer’s Hermes Agent framework, tuned prompts and its WhatsApp number. They packaged the agent, the WhatsApp bridge and its Model Context Protocol (MCP) tool servers into a single arm64 container.

The container runs on Amazon Bedrock AgentCore Runtime with the Instances compute type in eu-west-1, as one long-lived session on an AWS-managed AWS Graviton instance. Instances were chosen because a WhatsApp linked device allows only one live host and needs a persistent connection. An encrypted Amazon Elastic Block Store (Amazon EBS) volume holds the WhatsApp session, OAuth tokens and history, and it is re-attached whenever the session resumes, so the number never has to be re-paired. An AWS Lambda keeper, run by Amazon EventBridge Scheduler, checks the session every five minutes and resumes it after the 14-day session limit.

The agent’s primary model is GLM-5 on Amazon Bedrock in us-east-1. It is reached through Nyolab’s NYO router, Adjanti’s existing model provider. The agent reads the knowledge base through Adjanti’s OAuth MCP connector using read-only tools, quotes and links each source, and hands the question to a person when it is less than 80 percent confident.

The runtime sits in private subnets of an Amazon Virtual Private Cloud (Amazon VPC). It has no inbound rules, allows outbound traffic on port 443 only, and accepts only IAM-signed AgentCore API calls. Its keys are held in AWS Secrets Manager and encrypted with AWS Key Management Service (AWS KMS).

The infrastructure is defined in the AWS Cloud Development Kit (AWS CDK). Releases run from GitHub Actions through AWS CodeBuild and Amazon Elastic Container Registry (Amazon ECR) to a new runtime version. The build checks that the prompt-injection safety rule is still present. A health gate rolls the release back automatically if the agent does not report a WhatsApp connection within 150 seconds. AgentCore Observability, Amazon CloudWatch and Amazon Simple Notification Service (Amazon SNS) provide logs, traces and alarms.

Impact

The agent is in production on Amazon Bedrock AgentCore Runtime and no longer depends on a partner’s laptop, where it was available about 30 to 40 percent of weekly hours. The keeper publishes a connection metric to Amazon CloudWatch every five minutes, and that metric has reported the agent connected since the AgentCore go-live.

Partners now get a cited answer with a median reply time of about one minute, compared with 5 to 15 minutes of searching the drive by hand. On a 50-question test set built from the knowledge base, the agent averaged 97 percent of answers correct and cited at launch, against a pass mark of 90 percent. In its first seven days of production use it handled 606 model requests, with Amazon Bedrock serving the primary model.

Operating system patching, instance replacement and session recovery are now handled by AgentCore and the keeper rather than by a partner. Running cost is estimated at about $64 a month for AWS infrastructure and about $124 a month for Amazon Bedrock inference at the observed volume, roughly $2,250 a year.

Swarm and Nyolab documented the AgentCore Instances pattern (persistent volume, fixed session, keeper and health-gated releases), so future stateful channel agents can use templates.

More case studies

Put AI to work across your organization

Book a demo