llm-catalog-archive

Change

2ef8efa

2ef8efa7bfbb91f335d955dc4b0004a430dc130a · commit on GitHub

aws-blog-feed: changed (669563 bytes, HTTP 200)

raw/aws-blog-feed/response.xml modified

Lines added
+4,871
Lines removed
-5,169
Stored bytes at this commit
669,563
Timestamp
observed
Raw artifact at this commit
raw/aws-blog-feed/response.xml
Recorded headers
observed_at2026-09-17T04:53:29.534Z
origin_datenull
status200
final URLhttps://aws.amazon.com/blogs/machine-learning/feed/
etagnull
last-modifiedWed, 16 Sep 2026 23:26:13 GMT
dateThu, 17 Sep 2026 04:53:29 GMT
agenull
cache-controlnull
cf-cache-statusnull
content-encodingnull
content-lengthnull
@@@ -5,7 +5,7 @@
<atom:link href="https://aws.amazon.com/blogs/machine-learning/feed/" rel="self" type="application/rss+xml"/>
<link>https://aws.amazon.com/blogs/machine-learning/</link>
<description>Official Machine Learning Blog of Amazon Web Services</description>
- <lastBuildDate>Tue, 15 Sep 2026 16:42:46 +0000</lastBuildDate>
+ <lastBuildDate>Wed, 16 Sep 2026 19:00:00 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>
hourly </sy:updatePeriod>
@@@ -13,1261 +13,1082 @@
1 </sy:updateFrequency>
<item>
- <title>Optimizing cost and latency with Amazon Bedrock prompt caching</title>
- <link>https://aws.amazon.com/blogs/machine-learning/optimizing-cost-and-latency-with-amazon-bedrock-prompt-caching/</link>
+ <title>Improving HCLS AI reasoning with open-source agent skills</title>
+ <link>https://aws.amazon.com/blogs/machine-learning/improving-hcls-ai-reasoning-with-open-source-agent-skills/</link>
- <dc:creator><![CDATA[Daniel Abib]]></dc:creator>
- <pubDate>Tue, 15 Sep 2026 16:18:19 +0000</pubDate>
- <category><![CDATA[Advanced (300)]]></category>
- <category><![CDATA[Amazon Bedrock]]></category>
- <category><![CDATA[Technical How-to]]></category>
- <guid isPermaLink="false">c9f41d7f970343e8cc614d389738c9638a75056d</guid>
+ <dc:creator><![CDATA[Michael Hsieh]]></dc:creator>
+ <pubDate>Wed, 16 Sep 2026 19:00:00 +0000</pubDate>
+ <category><![CDATA[Amazon Bedrock]]></category>
+ <category><![CDATA[Amazon Quick Suite]]></category>
+ <category><![CDATA[Announcements]]></category>
+ <category><![CDATA[Artificial Intelligence]]></category>
+ <category><![CDATA[Generative AI]]></category>
+ <category><![CDATA[Healthcare]]></category>
+ <category><![CDATA[Intermediate (200)]]></category>
+ <category><![CDATA[Kiro]]></category>
+ <category><![CDATA[Life Sciences]]></category>
+ <category><![CDATA[Open Source]]></category>
+ <category><![CDATA[Strands Agents]]></category>
+ <guid isPermaLink="false">fd565c39336c51430810e927ad66178c9158fbf3</guid>
+
+ <description>AI agents on foundation models often misapply healthcare and life sciences decision frameworks, citing the right guideline but applying it incorrectly. This post shares 38 open-source agent skills across 11 HCLS domains that close this gap, with installation steps, three worked use
+ <content:encoded>&lt;p&gt;AI agents built on foundation models (FMs) often misapply healthcare and life sciences (HCLS) decision frameworks, even when they’ve seen the guidelines in training and in the system prompt. Ask an agent to classify a TP53 missense variant using ACMG/AMP criteria.
+&lt;p&gt;In this post, we share a collection of 38 open source agent skills spanning 11 HCLS domains that help close this methodology gap. We walk through installation and show how to use them across agentic AI services. We share our evaluation results to demonstrate measurable improvement across dr
+&lt;h2 id="solution-overview"&gt;Solution overview&lt;/h2&gt;
+&lt;p&gt;Agent skills in the HCLS Agent Skills collection are structured markdown documents (&lt;code&gt;SKILL.md&lt;/code&gt;) that encode domain decision procedures into a format AI agents can consume at inference time through progressive disclosure. Following the &lt;a href="https://agentskills.i
+&lt;p&gt;Skills in this repository are sorted as either reasoning or pipeline skills. Reasoning skills encode methodology and decision frameworks that guide how the agent thinks. For example, the &lt;a href="https://github.com/aws-samples/sample-hcls-agent-skills/blob/main/skills/genomic-variant-int
+&lt;p&gt;This dual taxonomy gives agents both the judgment to make correct decisions and the technical precision to execute them. Unlike Retrieval Augmented Generation (RAG), which retrieves limited passages from indexed documents to augment the response generation, skills encode the decision proced
+&lt;p&gt;Three properties make skills distinct from other approaches to domain specialization. Skills are auditable, portable, and straightforward to maintain. Every decision criterion is human-readable in markdown format, not hidden in model weights. A skill works across over 20 services (&lt;a hre
+&lt;p&gt;Now that you understand what skills contain, let’s set them up.&lt;/p&gt;
+&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
+&lt;p&gt;To follow along with the examples in this post, you need one of the supported services from AWS: &lt;a href="https://kiro.dev/ide/" target="_blank" rel="noopener"&gt;Kiro&lt;/a&gt; or &lt;a href="https://kiro.dev/cli/" target="_blank" rel="noopener"&gt;Kiro CLI&lt;/a&gt; for interactive ski
+&lt;p&gt;Start by cloning the repository:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;git clone https://github.com/awslabs/hcls-agent-skills.git
+cd hcls-agent-skills&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;To install skills only without the agent configuration, use the universal &lt;a href="https://github.com/vercel-labs/skills" target="_blank" rel="noopener"&gt;skills CLI&lt;/a&gt;:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-bash"&gt;npx skills add awslabs/hcls-agent-skills&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;For Kiro, the &lt;code&gt;install.sh&lt;/code&gt; script installs both skills and a pre-configured agent that equips them. The agent handles skill routing automatically, so you don’t need to invoke individual skills by name. Run &lt;code&gt;./install.sh --target kiro&lt;/code&gt;, then swit
+&lt;p&gt;For the AWS Strands Agents SDK, load skills directly in your Python code:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-python"&gt;from strands import Agent
+from strands.skills import AgentSkills
- <description>Prompt caching in Amazon Bedrock can cut input token costs by up to 90% when you repeatedly send the same context to foundation models. This post walks through six practical prompt caching scenarios using the Converse API: message content, system prompt, tool definition, mixed TTL,
- <content:encoded>&lt;p&gt;Prompt caching in Amazon Bedrock can reduce your input token costs by up to 90 percent when you repeatedly send the same context to foundation models, based on &lt;a href="https://aws.amazon.com/bedrock/pricing/" target="_blank" rel="noopener"&gt;Amazon Bedrock pr
-&lt;p&gt;You can mitigate this issue by shortening prompts, reducing context windows, or implementing application-level caching. Each option involves a trade-off:&lt;/p&gt;
-&lt;ul&gt;
- &lt;li&gt;&lt;strong&gt;Shortened prompts&lt;/strong&gt; reduce token count but might also reduce context quality.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Smaller context windows&lt;/strong&gt; lower cost at the expense of the model’s ability to reason over complete information.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Response caching&lt;/strong&gt; handles identical queries well, yet provides no benefit when the same context is paired with different questions.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;Prompt caching in Amazon Bedrock helps reduce this challenge at the infrastructure level. When you cache parts of your conversation context (system prompts, documents, tool definitions), Amazon Bedrock reads the cached tokens on subsequent requests instead of reprocessing them. This can red
-&lt;p&gt;This post walks through six practical prompt caching scenarios using the Converse API in Amazon Bedrock, progressing from basic to advanced patterns:&lt;/p&gt;
+agent = Agent(
+ model=model_id,
+ skills=AgentSkills(skills="./skills/"),
+)&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;For &lt;a href="https://aws.amazon.com/bedrock/agentcore/" target="_blank" rel="noopener"&gt;AgentCore&lt;/a&gt;, follow &lt;a href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-skills.html" target="_blank" rel="noopener"&gt;Skills&lt;/a&gt; to add agent skills to a
+&lt;p&gt;For Amazon Quick Desktop, run &lt;code&gt;./install.sh --target quick-desktop&lt;/code&gt; to see the full instructions for adding skills in the graphical interface. Alternatively, follow the instructions in &lt;a href="https://docs.aws.amazon.com/quick/latest/userguide/skills-desktop.html"
+&lt;h2 id="solution-walkthrough"&gt;Solution walkthrough&lt;/h2&gt;
+&lt;p&gt;With skills installed, we demonstrate three deployment patterns: the simplest single-agent approach in Quick Desktop, multi-agent orchestration in Kiro CLI that addresses context engineering challenges, and production deployment with Strands SDK on Amazon Bedrock AgentCore. We then show thr
+&lt;h3 id="agent-skills-in-action-with-quick-desktop"&gt;Agent skills in action with Quick Desktop&lt;/h3&gt;
+&lt;p&gt;With skills installed, Quick Desktop’s agent gains structured HCLS domain reasoning without additional configuration. When you ask a domain question, the agent automatically activates relevant skills based on trigger patterns in your query. For example, asking “What is the RAF impact of cod
+&lt;div style="width: 640px;" class="wp-video"&gt;
+ &lt;video class="wp-video-shortcode" id="video-139153-1" width="640" height="360" preload="metadata" controls="controls"&gt;
+ &lt;source type="video/mp4" src="https://d2908q01vomqb2.cloudfront.net/artifacts/DBSBlogs/ML-21213/quick-desktop-risk-adjustment-withskill.mp4?_=1"&gt;
+ &lt;/video&gt;
+&lt;/div&gt;
+&lt;p&gt;Amazon Quick Desktop chat with the risk-adjustment skill dynamically loaded to respond to a RAF coding question&lt;/p&gt;
+&lt;h3 id="multi-agent-architecture-with-kiro"&gt;Multi-agent architecture with Kiro&lt;/h3&gt;
+&lt;p&gt;Loading all 38 skills into a single agent context consumes ~80K tokens. This is workable with large-context models, but it creates a context engineering challenge. The agent must select the right subset from 38 available skills on every query and irrelevant skill content competes for attent
+&lt;p&gt;Kiro CLI’s multi-agent architecture solves both problems. A lightweight coordinator agent (no skills loaded) routes queries to eight domain specialists, each loading only its relevant skills (approximately 15K tokens per specialist). The coordinator handles intent classification while the s
+&lt;figure&gt;
+ &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/09/11/ML-21213-2.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/09/11/ML-21213-2.png" alt="Table of the eight doma
+ &lt;figcaption aria-hidden="true"&gt;
+ Table of the eight domain specialist agents in the Kiro CLI multi-agent architecture and the skills assigned to each
+ &lt;/figcaption&gt;
+&lt;/figure&gt;
+&lt;p&gt;The multi-agent configuration is defined in JSON agent files. Refer to the &lt;a href="https://github.com/aws-samples/sample-hcls-agent-skills/blob/main/agents/multiagent/kiro/hcls-multiagent.json" target="_blank" rel="noopener"&gt;coordinator agent config&lt;/a&gt; for the routing logic, a
+&lt;div style="width: 640px;" class="wp-video"&gt;
+ &lt;video class="wp-video-shortcode" id="video-139153-2" width="640" height="360" preload="metadata" controls="controls"&gt;
+ &lt;source type="video/mp4" src="https://d2908q01vomqb2.cloudfront.net/artifacts/DBSBlogs/ML-21213/kiro-multiagent-drug-repurposing.mp4?_=2"&gt;
+ &lt;/video&gt;
+&lt;/div&gt;
+&lt;p&gt;Kiro CLI answering a drug repurposing question in a code base using multi-agent routing and dynamic skill activation&lt;/p&gt;
+&lt;h3 id="strands-sdk-integration"&gt;Strands SDK integration&lt;/h3&gt;
+&lt;p&gt;The AWS Strands Agents SDK provides native skill loading for building custom HCLS agents:&lt;/p&gt;
+&lt;div class="hide-language"&gt;
+ &lt;pre&gt;&lt;code class="language-python"&gt;from strands import Agent
+from strands.skills import AgentSkills
+from strands.multiagent import MultiAgentOrchestrator
+
+# Define domain specialists with their skill sets
+genomics_agent = Agent(
+ name="hcls-genomics",
+ model=model_id,
+ skills=AgentSkills(skills="./skills/genomics/"),
+)
+
+imaging_agent = Agent(
+ name="hcls-imaging",
+ model=model_id,
+ skills=AgentSkills(skills="./skills/imaging/"),
+)
+
+# Coordinator routes to specialists
+coordinator = MultiAgentOrchestrator(
+ agents=[genomics_agent, imaging_agent, ...],
+ model=model_id,
+)
+
+response = coordinator("Classify NM_000546.6:c.743G&amp;gt;A in TP53 using ACMG criteria")&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;h3 id="deploying-to-amazon-bedrock-agentcore"&gt;Deploying to Amazon Bedrock AgentCore&lt;/h3&gt;
+&lt;p&gt;After your skill-equipped agent works locally, you can move it to production. Amazon Bedrock AgentCore provides an alternative path to inject skills into hosted agents. In addition to embedding them in the Strands agent code, you can configure skills at the environment level so they’re avai
+&lt;p&gt;With deployment covered, let’s look at what skill-equipped agents produce in practice. The following sample use cases are drawn from our evaluation prompt set.&lt;/p&gt;
+&lt;h3 id="use-case-1-evaluating-repurposing-candidates-for-rare-fibrotic-disease-in-drug-discovery"&gt;Use case 1: Evaluating repurposing candidates for rare fibrotic disease in drug discovery&lt;/h3&gt;
+&lt;p&gt;A team at a biotech company investigating drug repurposing for idiopathic pulmonary fibrosis (IPF) wants to evaluate approved drugs that modulate TGF-β1 signaling through the receptor kinase TGFBR1 (ALK5). In practice, a researcher needs to query drug-gene interaction databases, rank candid
+&lt;p&gt;Before adding skills, the agent provides a general literature review listing known TGFBR1 inhibitors without structured ranking criteria, evidence hierarchy, or translatability assessment framework. After equipping the agent with skills, the agent triggers &lt;a href="https://github.com/aws
&lt;ol type="1"&gt;
- &lt;li&gt;&lt;strong&gt;Message content caching&lt;/strong&gt;: Cache long documents for multi-question analysis.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;System prompt caching&lt;/strong&gt;: Cache persona definitions and instructions across conversations.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Tool definition caching&lt;/strong&gt;: Cache tool schemas for agentic workflows.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Mixed TTL caching&lt;/strong&gt;: Assign different cache lifetimes to different content tiers.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Tenant isolation&lt;/strong&gt;: Implement per-tenant cache separation in multi-tenant applications.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;LangChain integration&lt;/strong&gt;: Use prompt caching with the LangChain framework.&lt;/li&gt;
+ &lt;li&gt;The agent applies the DGIdb query framework, prioritizing interaction types (inhibitor &amp;gt; modulator &amp;gt; binder) and source databases (ChEMBL, DrugBank) over lower-confidence sources.&lt;/li&gt;
+ &lt;li&gt;It ranks candidates using a structured evidence hierarchy where direct target engagement outweighs pathway-level evidence, which in turn outweighs phenotypic association, with existing indication relevance applied as a modifier.&lt;/li&gt;
+ &lt;li&gt;It assesses mechanism-of-action overlap by mapping TGFBR1 inhibition to the key IPF pathological processes: fibroblast-to-myofibroblast transition, epithelial-mesenchymal transition, and extracellular matrix deposition.&lt;/li&gt;
+ &lt;li&gt;It evaluates clinical translatability using T0→T1 criteria, examining existing safety data from the original indication, therapeutic window compatibility, and concordance between available preclinical fibrosis models and human disease.&lt;/li&gt;
&lt;/ol&gt;
-&lt;h2 id="how-prompt-caching-works"&gt;How prompt caching works&lt;/h2&gt;
-&lt;p&gt;Prompt caching stores a snapshot of partially processed input so that subsequent requests with the same prefix skip redundant computation. This section covers the request flow, supported models, and pricing.&lt;/p&gt;
-&lt;p&gt;When you include a &lt;code&gt;cachePoint&lt;/code&gt; marker in your request, Amazon Bedrock evaluates whether the content preceding that marker matches an existing cache entry. If it does (a &lt;em&gt;cache hit&lt;/em&gt;), the model can skip reprocessing those tokens and begin generation
-&lt;p&gt;This diagram shows the flow:&lt;/p&gt;
-&lt;div style="width: 810px" class="wp-caption alignnone"&gt;
- &lt;a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/09/11/ML-20790-1.png" target="_blank" rel="noopener"&gt;&lt;img src="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/09/11/ML-20790-1.png" alt="Prompt caching request
- &lt;p class="wp-caption-text"&gt;Figure 1: Prompt caching request flow, where the first request writes to cache and the second request reads from cache, reducing TTFT and input token cost&lt;/p&gt;
-&lt;/div&gt;
-&lt;p&gt;With this flow in mind, four key concepts determine how caching behaves in practice:&lt;/p&gt;
+&lt;p&gt;The skill chain transforms a surface-level response into a structured regulatory-aware evaluation with quantified evidence rankings.&lt;/p&gt;
+&lt;h3 id="use-case-2-building-a-cms-hcc-risk-adjustment-pipeline-in-healthcare-claims-operations"&gt;Use case 2: Building a CMS-HCC risk adjustment pipeline in healthcare claims operations&lt;/h3&gt;
+&lt;p&gt;A Medicare Advantage plan with 12,000 members needs to calculate Risk Adjustment Factor (RAF) scores from ICD-10 diagnosis claims data using CMS-HCC Model V28 coefficients. The pipeline must apply the &lt;code&gt;ICD-10-to-HCC&lt;/code&gt; crosswalk, resolve disease hierarchies correctly, a
+&lt;p&gt;Before adding skills, the agent produces a plausible but incomplete pipeline, often missing hierarchy resolution entirely, using outdated V24 coefficients, or applying hierarchies after summing (which inflates scores). After equipping the agent with skills, the agent triggers &lt;a href="ht
&lt;ol type="1"&gt;
- &lt;li&gt;&lt;strong&gt;Cache scope&lt;/strong&gt;: Cache entries are scoped to individual AWS accounts and AWS Regions.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Token thresholds&lt;/strong&gt;: Each cache checkpoint must meet a minimum token threshold to activate. For example, Anthropic Claude Sonnet 4.5 and Sonnet 4.6 require at least 1,024 tokens per checkpoint, while Opus models require at least 4,096.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Time-to-live (TTL)&lt;/strong&gt;: Cache entries expire based on the TTL specified in the request. The default is 5 minutes, with select models supporting up to 1 hour.&lt;/li&gt;
- &lt;li&gt;&lt;strong&gt;Model-agnostic syntax&lt;/strong&gt;: The Converse API &lt;code&gt;cachePoint&lt;/code&gt; syntax is identical across supported model families, including Anthropic Claude and Amazon Nova.&lt;/li&gt;
+ &lt;li&gt;The agent generates correct SQL that joins diagnosis codes to the &lt;code&gt;ICD-10-to-HCC&lt;/code&gt; crosswalk table with deduplication within the measurement year, making sure each HCC is counted only once per member.&lt;/li&gt;
+ &lt;li&gt;It implements V28 hierarchy resolution correctly, where HCC 18 (Diabetes with Chronic Complications) supersedes HCC 19 (Diabetes without Complications) and HCC 326 (CKD Stage 5) supersedes HCC 327 (CKD Stage 4), helping prevent double-counting at multiple specificity levels.&lt;/li&gt;
+ &lt;li&gt;It applies the correct demographic segmentation by categorizing members into community, institutional, or dual-eligible populations with age/sex adjustments before summing HCC coefficients.&lt;/li&gt;
+ &lt;li&gt;It proactively explains that skipping hierarchy resolution double-counts conditions at multiple specificity levels, systematically inflating RAF scores and creating audit liability under CMS RADV review.&lt;/li&gt;
&lt;/ol&gt;
-&lt;p&gt;For the latest model support information, see the &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html" target="_blank" rel="noopener"&gt;Amazon Bedrock Prompt Caching documentation&lt;/a&gt;.&lt;/p&gt;
-&lt;h3 id="pricing"&gt;Pricing&lt;/h3&gt;
-&lt;p&gt;Prompt caching introduces two token categories in addition to standard input and output tokens:&lt;/p&gt;
+&lt;p&gt;The skill supports producing audit-defensible RAF scores rather than inflated estimates that would trigger CMS RADV audit findings.&lt;/p&gt;
+&lt;h3 id="use-case-3-t1-weighted-mri-preprocessing-for-voxel-based-morphometry-in-medical-imaging-research"&gt;Use case 3: T1-weighted MRI preprocessing for voxel-based morphometry in medical imaging research&lt;/h3&gt;
+&lt;p&gt;A neuroimaging study with 45 healthy adults needs a standard T1w preprocessing pipeline for voxel-based morphometry (VBM) analysis. Raw DICOM data has been converted to NIfTI. The pipeline must reorient, correct bias field, skull-strip, and register to MNI152 space in the correct order and
+&lt;p&gt;Before adding skills, the agent suggests a reasonable pipeline but may order bias correction after skull stripping (which biases brain masks), use inappropriate thresholds, or omit failure mode detection strategies. After equipping the agent with skills, the agent triggers &lt;a href="https
+&lt;ol type="1"&gt;
+ &lt;li&gt;The agent specifies the correct processing order with justification: reorient to standard space, then bias field correction before skull stripping, then brain extraction with parameters tuned for healthy adults, and finally registration to the MNI152 template.&lt;/li&gt;
+ &lt;li&gt;It explains the critical ordering dependency. Intensity inhomogeneity at brain borders causes the skull-stripping algorithm to remove too much or too little tissue if bias correction hasn’t been applied first, particularly in temporal and frontal regions.&lt;/li&gt;
+ &lt;li&gt;It provides a complete bash script with error checking at each stage and quality control outputs for visual inspection of intermediate results.&lt;/li&gt;
+ &lt;li&gt;It documents failure modes at each step: incorrect orientation metadata, residual signal shading near surface coils, neck tissue inclusion when extraction thresholds are too permissive, and registration failure at ventricular boundaries in older subjects.&lt;/li&gt;
+&lt;/ol&gt;
+&lt;p&gt;The skill catches the ordering dependency that would introduce systematic bias into the VBM analysis.&lt;/p&gt;
+&lt;p&gt;These use cases illustrate how HCLS skills reshape agent behavior qualitatively to produce more domain-aligned responses, but there’s always a question of how much better it is for researchers and developers.&lt;/p&gt;
+&lt;h3 id="evaluation-results"&gt;Evaluation results&lt;/h3&gt;
+&lt;p&gt;We conducted a pairwise evaluation to measure skill impact across 410 domain prompts (380 single-skill and 30 cross-skill) using two harness configurations. One of the two agent harnesses is Kiro CLI in which the Auto model is used to allow Kiro to select an optimal model for the task. The
+&lt;p&gt;We employ five scoring dimensions for the large language model (LLM) judge to measure how skills impact the agent’s response. Scientific accuracy evaluates the correctness of facts, mechanisms, citations, and domain knowledge. Coherence assesses whether the response follows a logical struct
+&lt;p&gt;The judge scores each dimension with 0–100 scale. However, LLM judges exhibit score compression, a phenomenon where the scores cluster in a certain range, making raw deltas (for example, +1.5) difficult to interpret. We therefore report two primary metrics. Firstly, win rate (WR), a percent
+&lt;p&gt;Overall, skills win 69.5–85.9 percent of head-to-head comparisons in the two agent harness configurations. Skills improve critical thinking, actionability, and scientific accuracy in both configurations. The strongest signal is on critical thinking, confirming that skills’ primary contribut
&lt;table border="1px" width="100%" cellpadding="10px"&gt;
&lt;tbody&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;strong&gt;Token Type&lt;/strong&gt;&lt;/td&gt;
- &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
- &lt;td&gt;&lt;strong&gt;Cost vs Standard Input&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Metric&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Kiro CLI&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Strands Agent&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;code&gt;cacheWriteInputTokens&lt;/code&gt;&lt;/td&gt;
- &lt;td&gt;Tokens written to cache (first request)&lt;/td&gt;
- &lt;td&gt;25% higher than standard input&lt;/td&gt;
+ &lt;td&gt;Prompts evaluated&lt;/td&gt;
+ &lt;td&gt;410&lt;/td&gt;
+ &lt;td&gt;410&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;code&gt;cacheReadInputTokens&lt;/code&gt;&lt;/td&gt;
- &lt;td&gt;Tokens read from cache (subsequent requests)&lt;/td&gt;
- &lt;td&gt;90% lower than standard input&lt;/td&gt;
+ &lt;td&gt;Skills overall WR (d)&lt;/td&gt;
+ &lt;td&gt;69.5% (0.39)&lt;/td&gt;
+ &lt;td&gt;85.9% (0.97)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;code&gt;cacheWriteInputTokens (1-hour TTL)&lt;/code&gt;&lt;/td&gt;
- &lt;td&gt;Tokens written to cache with 1-hour TTL&lt;/td&gt;
- &lt;td&gt;100% higher than standard input (2x)&lt;/td&gt;
+ &lt;td&gt;Critical thinking WR (d)&lt;/td&gt;
+ &lt;td&gt;78.0% (0.65)&lt;/td&gt;
+ &lt;td&gt;85.1% (1.03)&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Scientific accuracy WR (d)&lt;/td&gt;
+ &lt;td&gt;69.3% (0.34)&lt;/td&gt;
+ &lt;td&gt;86.2% (0.85)&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Actionability WR (d)&lt;/td&gt;
+ &lt;td&gt;68.0% (0.37)&lt;/td&gt;
+ &lt;td&gt;77.3% (0.56)&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Baseline-benefit correlation (r)&lt;/td&gt;
+ &lt;td&gt;-0.59&lt;/td&gt;
+ &lt;td&gt;-0.61&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Max variance reduction&lt;/td&gt;
+ &lt;td&gt;-61.9%&lt;/td&gt;
+ &lt;td&gt;-52.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
-&lt;p&gt;For workloads with repeated context, the savings reach approximately 75 percent on input token costs. For example, if you send a 10,000-token document with 10 different questions, the first request incurs a cache write cost. The remaining nine requests each read from cache at 90 percent red
-&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
-&lt;p&gt;Before getting started with the scenarios, make sure you have the following:&lt;/p&gt;
-&lt;ol type="1"&gt;
- &lt;li&gt;An AWS account with Amazon Bedrock access in a supported AWS Region (such as &lt;code&gt;us-west-2&lt;/code&gt;).&lt;/li&gt;
- &lt;li&gt;Model access enabled for the target model. The examples in this post use Anthropic Claude Sonnet 4.5 (&lt;code&gt;global.anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/code&gt;). See &lt;a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html" target="_blank" rel="no
- &lt;li&gt;Python 3.10 or later with the following dependencies installed:
- &lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-bash"&gt;pip install boto3&amp;gt;=1.43.0 langchain-aws&amp;gt;=0.2.12 matplotlib pandas&lt;/code&gt;&lt;/pre&gt;
- &lt;/div&gt; &lt;/li&gt;
-&lt;/ol&gt;
-&lt;blockquote&gt;
- &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Boto3 1.43.0 or later is required for the &lt;code&gt;ttl&lt;/code&gt; parameter in &lt;code&gt;cachePoint&lt;/code&gt; used in Scenario 4 (Mixed TTL).&lt;/p&gt;
-&lt;/blockquote&gt;
-&lt;ol start="4" type="1"&gt;
- &lt;li&gt;AWS credentials configured through the default profile or environment variables. See &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html" target="_blank" rel="noopener"&gt;Configure the AWS Command Line Interface (AWS CLI)&lt;/a&gt; for setup instruc
-&lt;/ol&gt;
-&lt;h2 id="scenario-1-message-content-caching"&gt;Scenario 1: Message content caching&lt;/h2&gt;
-&lt;p&gt;A common use case for prompt caching is caching long documents or reference content that you query repeatedly. For example, in a Retrieval Augmented Generation (RAG) application, you ask multiple questions about the same document, or a coding assistant references a large codebase.&lt;/p&gt;
-&lt;p&gt;In this scenario, you place a &lt;code&gt;cachePoint&lt;/code&gt; marker between the static document and the dynamic question. Amazon Bedrock caches the document on the first call and might reuse it on subsequent calls.&lt;/p&gt;
-&lt;h3 id="how-message-content-caching-works"&gt;How message content caching works&lt;/h3&gt;
-&lt;p&gt;Place a &lt;code&gt;cachePoint&lt;/code&gt; content block after the static content and before the dynamic question. Amazon Bedrock caches everything before the checkpoint and reuses it on subsequent requests:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;content = [
- {"text": "&amp;lt;static document content&amp;gt;"},
- {"cachePoint": {"type": "default"}}, # cache everything above
- {"text": "&amp;lt;user question&amp;gt;"} # dynamic, changes per request
-]&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-&lt;p&gt;The following code puts this pattern into practice with a complete working example.&lt;/p&gt;
-&lt;h3 id="implementation"&gt;Implementation&lt;/h3&gt;
-&lt;p&gt;First, set up the Amazon Bedrock runtime client and define a sample document. In a production application, this document can be a PDF, a knowledge base article, or other content exceeding the 1,024-token threshold:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;import boto3
-import json
-import time
-
-MODEL_ID = "global.anthropic.claude-sonnet-4-5-20250929-v1:0" # Minimum token requirement to activate cache: 1,024 tokens
-AWS_REGION = "us-west-2"
-
-bedrock = boto3.client("bedrock-runtime", region_name=AWS_REGION)
-
-# Document LARGE enough (&amp;gt;1024 tokens required for Claude Sonnet 4.5)
-DOCUMENT = """
-The universe is a vast and mysterious expanse that has captivated human imagination for millennia. From the earliest civilizations who looked up at the night sky and wondered about the nature of the stars, to modern astronomers using sophisticated telescopes and spacecraft to explore distant galaxie
-
-Our solar system, located in the Milky Way galaxy, is home to eight planets, numerous dwarf planets, and countless smaller objects including asteroids, comets, and meteoroids. The Sun, a middle-aged G-type main-sequence star, provides the energy that sustains life on Earth and influences the dynamic
-
-Mercury, the innermost planet, experiences extreme temperature variations due to its proximity to the Sun and lack of substantial atmosphere. Venus, often called Earth's twin due to its similar size, has a thick atmosphere composed primarily of carbon dioxide, creating a runaway greenhouse effect th
-
-Mars, the Red Planet, has long been a subject of fascination and speculation about the possibility of extraterrestrial life. Its rusty appearance comes from iron oxide prevalent on its surface. The planet features the largest volcano in the solar system, Olympus Mons, and a canyon system, Valles Mar
-
-The asteroid belt, located between Mars and Jupiter, contains millions of rocky objects ranging from small boulders to the dwarf planet Ceres. These remnants from the early solar system provide valuable insights into planetary formation and the conditions that existed billions of years ago. Scientis
-
-The terrestrial planets share common characteristics: rocky compositions, relatively small sizes compared to gas giants, and solid surfaces. Mercury's heavily cratered surface resembles our Moon, preserving a record of impacts from the early solar system. Venus's dense atmosphere traps heat so effec
-
-Jupiter, the largest planet, is a gas giant composed primarily of hydrogen and helium. Its Great Red Spot, a persistent anticyclonic storm, has been observed for over 400 years. Jupiter's intense magnetic field and numerous moons, including the four Galilean satellites discovered by Galileo Galilei
-
-Saturn, famous for its spectacular ring system, is another gas giant with dozens of moons. Titan, its largest moon, has a thick atmosphere and liquid hydrocarbon lakes, making it one of the most intriguing bodies in the solar system for astrobiological research. The Cassini-Huygens mission provided
-
-Uranus and Neptune, the ice giants, reside in the outer reaches of our solar system. Uranus rotates on its side, likely due to a massive impact early in its history. Neptune, the windiest planet, features storms with wind speeds exceeding 2,000 kilometers per hour. Both planets have ring systems, th
-
-Beyond Neptune lies the Kuiper Belt, a region populated by icy bodies including the dwarf planet Pluto. The New Horizons mission's flyby of Pluto in 2015 revealed a geologically active world with nitrogen glaciers and a hazy atmosphere. Even further out is the Oort Cloud, a hypothetical spherical sh
-
-The outer solar system remains largely unexplored compared to the inner planets. Only Voyager 2 has visited both Uranus and Neptune, conducting brief flybys in the 1980s. Future missions are being planned to study these ice giants in more detail, potentially including orbiters and atmospheric probes
-
-Gas giants and ice giants differ fundamentally in composition. While Jupiter and Saturn are primarily hydrogen and helium, Uranus and Neptune contain significant amounts of water, ammonia, and methane ices. This distinction gives the ice giants their characteristic blue-green colors and different in
-
-Exoplanet research has revolutionized our understanding of planetary systems. The Kepler space telescope discovered thousands of planets orbiting other stars, revealing that planets are common throughout our galaxy. Some of these exoplanets reside in the habitable zone of their stars, where liquid w
-
-The search for extraterrestrial intelligence, known as SETI, uses radio telescopes to listen for signals from advanced civilizations. While no definitive signals have been detected, the Drake Equation provides a framework for estimating the number of communicating civilizations in our galaxy.
-
-Black holes, regions of spacetime where gravity is so strong that nothing can escape, represent some of the most extreme objects in the universe. Stellar black holes form from the collapse of massive stars, while supermassive black holes, containing millions to billions of solar masses, reside at th
-
-The James Webb Space Telescope, launched in 2021, observes in infrared to study the earliest galaxies and probe planetary atmospheres for signs of life. Understanding the universe requires collaboration across disciplines including physics, chemistry, biology, and engineering.
-
-Stellar evolution describes how stars change over their lifetimes. Stars form in molecular clouds when gravity causes dense regions to collapse. Nuclear fusion in the core converts hydrogen to helium, releasing enormous amounts of energy. When stars exhaust their nuclear fuel, their fate depends on
-
-Galaxies, containing billions of stars, come in various shapes including spiral, elliptical, and irregular. The Milky Way is a barred spiral galaxy approximately 100,000 light-years in diameter. Galaxies often cluster together, forming groups and superclusters connected by cosmic filaments of dark m
-
-The cosmic microwave background radiation, discovered in 1965, provides a snapshot of the universe approximately 380,000 years after the Big Bang. Detailed measurements of this radiation have confirmed the Big Bang theory and revealed information about the early universe's composition and geometry.
-
-Space exploration has achieved remarkable milestones since the launch of Sputnik in 1957. Human spaceflight began with Yuri Gagarin's orbit in 1961 and culminated in the Apollo Moon landings. The International Space Station has hosted continuous human presence in space since 2000. Future missions ai
-
-The study of astrobiology examines the origin, evolution, and distribution of life in the universe. Scientists search for biosignatures in planetary atmospheres and analyze extremophiles on Earth to understand the limits of life. The discovery of organic molecules on Mars and in the plumes of Encela
-
-Gravitational wave astronomy represents one of the newest frontiers in space science. The LIGO and Virgo detectors have observed mergers of black holes and neutron stars, confirming predictions from Einstein's general theory of relativity. These observations have opened an entirely new window on the
-"""&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-&lt;p&gt;Next, define the caching function. The key elements are the &lt;code&gt;cachePoint&lt;/code&gt; block placed between the static document and the dynamic question:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;def converse_with_cache(document, question):
- """Query a document with prompt caching enabled."""
- content = [
- {"text": document},
- {"cachePoint": {"type": "default"}},
- {"text": question}
- ]
-
- response = bedrock.converse(
- modelId=MODEL_ID,
- messages=[{"role": "user", "content": content}],
- inferenceConfig={"maxTokens": 512}
- )
- return response["usage"]&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-&lt;p&gt;Run two requests to observe the caching behavior. The initial call populates the cache, and a subsequent call with a different question reuses it:&lt;/p&gt;
-&lt;div class="hide-language"&gt;
- &lt;pre&gt;&lt;code class="language-python"&gt;# Request 1: cache write (first time seeing this content)
-usage1 = converse_with_cache(DOCUMENT, "What are the key points?")
-print("Request 1 (cache write expected):")
-print(json.dumps(usage1, indent=2))
-
-time.sleep(1)
-
-# Request 2: cache read (same document, different question)
-usage2 = converse_with_cache(DOCUMENT, "Summarize the conclusions.")
-print("\nRequest 2 (cache read expected):")
-print(json.dumps(usage2, indent=2))&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-&lt;h3 id="reading-cache-metrics"&gt;Reading cache metrics&lt;/h3&gt;
-&lt;p&gt;The response &lt;code&gt;usage&lt;/code&gt; object includes two cache-specific fields:&lt;/p&gt;
+&lt;h4 id="effect-by-baseline-strength"&gt;Effect by baseline strength&lt;/h4&gt;
+&lt;p&gt;There is strong evidence showing agent skills help the most when the base agent struggles the most. The Pearson correlation between baseline response quality and skill benefit is −0.59 in Kiro CLI and −0.61 in Strands agent. We categorize the prompts based on the baseline agent’s overall sc
+&lt;p&gt;However, the strong tier finding is not absolute. Cross-domain reasoning skills achieve 80 percent win rate even at a strong baseline of 90.2, demonstrating that well-designed methodology frameworks add value across the quality spectrum when they teach a decision procedure the model wouldn’
+&lt;p&gt;The overall scores for baseline and skilled agents by baseline strength are shown in the following tables.&lt;/p&gt;
+&lt;p&gt;In Kiro CLI&lt;/p&gt;
&lt;table border="1px" width="100%" cellpadding="10px"&gt;
&lt;tbody&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;strong&gt;Field&lt;/strong&gt;&lt;/td&gt;
- &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Baseline Tier&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;N&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Baseline (mean±sd)&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Skills (mean±sd)&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Delta&lt;/strong&gt;&lt;/td&gt;
+ &lt;td&gt;&lt;strong&gt;Win Rate&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
- &lt;td&gt;&lt;code&gt;cacheWriteInputTokens&lt;/code&gt;&lt;/td&gt;
- &lt;td&gt;Tokens written to cache (appears on first request)&lt;/td&gt;
+ &lt;td&gt;Weak (&amp;lt;80)&lt;/td&gt;
+ &lt;td&gt;15&lt;/td&gt;
+ &lt;td&gt;75.8±4.0&lt;/td&gt;
+ &lt;td&gt;84.4±6.3&lt;/td&gt;
+ &lt;td&gt;+8.7&lt;/td&gt;

Diff display stops at 400 lines. The line counts above are from the whole diff. 59 lines shown here cut at 300 characters. The raw artifact at this commit is linked above.