AIエージェント開発

Strandsハーネスとは|AWSのエージェント基盤を動かす【2026年9月】

Strandsハーネスとは|AWSのエージェント基盤を動かす【2026年9月】

この記事の結論

Strandsハーネスは、AWSのStrandsチームが2026年9月21日にApache 2.0で公開した組み立て済みのエージェント基盤です。SDKとの関係、3つの入口、「28%安い」の条件、本番前に決める4点を公式の記載で整理します。

2026年9月30日時点で、Strandsハーネス(Strands harness)は AWS の Strands チームが2026年9月21日に Apache 2.0 で公開したオープンソースの「組み立て済みエージェント」で、Python か TypeScript の1行でシェル・ファイル編集・Web 検索・記憶・コンテキスト管理を備えたエージェントが動き、公式ブログは同じ Claude・GPT のモデルで6つのベンチマークを回したときにコストが28%低かったと書いています。モデルは Amazon Bedrock・Anthropic・OpenAI・Google・Ollama・LiteLLM から文字列1つで切り替えられ、Linux コンテナが動く環境ならどこにでも配備できます。

この記事の要点(2026年9月30日時点)

  • Strandsハーネスは、Strands Agents の SDK(ドキュメントでは Strands Harness SDK と表記)の部品に、ツール・記憶・セッション・コンテキスト管理・調整済みのシステムプロンプトを最初から載せた層。create_harness() は素の Agent を返すので、既定値はどれでも差し替えられる
  • 既定のモデルは Amazon Bedrock 上の Claude Opus 5。model="openai/gpt-5.6-sol" のように provider/name を1つ渡せば別の LLM に替わり、Ollama でローカルの LLM も使える
  • 「28%」は AWS が同じ Claude・GPT のモデルで6つのベンチマークを回した結果。Fable 5 では Claude Code よりコストが77%低かったとも書いている。比較の詳細は後日の論文で出すとしている
  • 版は0.x。minor の更新(0.X.0)は破壊的変更を含む決まりなので、本番では minor を固定する。既定ではツール呼び出しに承認がかからず、セッションと記憶は ./.agent に保存される
  • npm のパッケージは Node.js 22以上を指定している(Quickstart の記載は20以上)。TypeScript で試すなら22以上を用意する

対象読者:Strands Agents SDK や Bedrock AgentCore でエージェントを作っている開発者と、自前のエージェント基盤を持つかどうかを判断する PM。読み終えたらできること:Strandsハーネスと SDK の違いを説明でき、Quickstart の手順で最初のエージェントを動かし、本番に載せる前に決める4点(保存先・権限・実行環境・版)を洗い出せます。

「Claude Code で手元ではうまく動いたエージェントを、そのまま自社のクラウドで動かしたい」。Strandsハーネスの公式ブログは、この要望を出発点に挙げています。この記事は、Strands の公式ブログ(2026年9月21日掲載)、strandsagents.com のドキュメント(ハーネスの概要・Quickstart・設定リファレンス・モデル・コンテキストとキャッシュ・承認・本番運用・版の方針)、GitHub の README とリリース、PyPI と npm の登録情報を2026年9月30日に読み、書かれている範囲で整理したものです。コード例はドキュメントと README に載っている形のまま引用しています。国内では9月29日に Publickey が公開を報じています。

Strandsハーネスとは|9月21日公開の組み立て済みエージェント

Strandsハーネスは、モデルを包んでエージェントとして動かすための「ハーネス」を、最初から組み立てた状態で渡すオープンソースのライブラリです。公式ブログは「コーディングエージェントではなく汎用のエージェントとして作った」と書いており、調べもの・比較・ファイルへの書き出しのような作業を1行の指示で任せる例を載せています。

Strandsハーネスの基本情報。公開日2026年9月21日、提供元AWSのStrandsチーム、ライセンスApache 2.0、言語PythonとTypeScript、既定モデルはClaude Opus 5(Amazon Bedrock)

2026年9月30日時点で公式に確認できた基本情報は次のとおりです。

項目 2026年9月30日時点 根拠
公開日 2026年9月21日(公式ブログの掲載日) 公式ブログ
提供元 AWS の Strands チーム GitHub の README(harness-py)
ライセンス Apache 2.0 公式ブログ・PyPI
言語 Python・TypeScript ドキュメント
パッケージ名 strands-harness(Python)/@strands-agents/harness(TypeScript) Quickstart
最新版 Python 0.1.2(9月22日)/TypeScript 0.1.1(9月22日)/Strands CLI 0.1.4(9月25日) PyPI・npm(日付は UTC)
必要な環境 Python 3.10以上/Node.js は Quickstart が20以上、npm のパッケージ指定が22以上 Quickstart・npm
既定モデル Claude Opus 5(Amazon Bedrock) 設定リファレンス・Quickstart
選べるプロバイダー Amazon Bedrock・Anthropic・OpenAI・Google・Ollama・LiteLLM 公式ブログ・ドキュメント
配備先の例 Modal・Cloudflare Containers・Azure Container Apps・Google Cloud Run・Amazon ECS・Amazon Bedrock AgentCore 公式ブログ

ハーネス自体に利用料の記載はありません。モデルは自分の Bedrock・Anthropic・OpenAI・Google の認証情報で呼び出す形なので、費用は各社のモデル利用料と、配備先の実行環境の料金になります。

Strands Agents SDKとの関係|「ハーネス」が指すもの

Strands のドキュメントは、ハーネスを「モデルをエージェントに変える、モデルの周りのソフトウェア」と定義しています。Strands はこのハーネスを作るためのツールキットで、2026年9月30日時点では2つの入口があります。

Strandsハーネスの構造。上からStrandsハーネス(組み立て済みの既定値)、Strands Harness SDK(ループと部品)、モデル(Bedrock・Anthropic・OpenAI・Google・Ollama)の3層で、書き直さずに部品を差し替えられる

  • Strands Harness SDK:エージェントのループと部品(ツール・記憶・セッション・プラグイン・承認)を渡す層。何も決まっていない状態から自分で組み立てる。ドキュメントのインストール例は pip install strands-agents と npm install @strands-agents/sdk で、当サイトの AWS Strands Agents 完全ガイドで扱った SDK と同じパッケージです。2026年9月30日時点のドキュメントでは Strands Harness SDK と呼ばれています(GitHub の README の見出しは Strands Agents のまま)
  • Strandsハーネス:SDK のループと部品の上に、組み立て済みの既定値(システムプロンプト・ツール・記憶・セッション・コンテキスト管理)を載せた層。ドキュメントは「薄い組み合わせの層で、独自のフレームワークではない」と説明しています

両者をつなぐ要点は、create_harness() が素の Agent を返すことです。ハーネス専用の型で包まれていないため、SDK の機能はそのまま使え、ハーネスで始めて足りない部分だけ SDK の部品に置き換えても書き直しは要りません。同じツールキットには、エージェント用の仮想シェル Strands Shell と、出荷前の評価に使う Strands Evals も並んでいます。

ドキュメントが示す使い分けは次の3つです。

やりたいこと 始める場所 ドキュメントの理由
試験済みの既定値がそろったハーネスがほしい Strandsハーネス システムプロンプト・ツール・記憶・セッション・コンテキスト管理が最初から組まれている
ハーネスを部品から自分で組みたい Strands Harness SDK 何も決まっていない状態から部品とループを選べる
ハーネスで始め、あとで細かく制御したい ハーネスから SDK へ下りる ハーネスは SDK の上に作られているので、書き直さずに部品を差し替えられる

Google ADK や OpenAI Agents SDK と SDK 同士を比べた整理は、Strands・ADK・OpenAI の比較記事にまとめています。

構成要素|harness・SDK・shell・evals・labs・CLI

公式サイトのプロジェクト一覧にはハーネスを含む5つが並び、これにハーネスを端末から操作する Strands CLI が加わります。入れ方と2026年9月30日時点の版をまとめます。

名称 役割(公式の説明) 入れ方 版(9月30日時点)
/harness(Strandsハーネス) 組み立て済みのエージェント・ハーネス pip install strands-harness/npm install @strands-agents/harness Python 0.1.2・TypeScript 0.1.1
/harness-sdk(Strands Harness SDK) ハーネスを一から作るための SDK pip install strands-agents/npm install @strands-agents/sdk Python 1.57.1・TypeScript 1.19.0
/shell(Strands Shell) AI エージェントが安全に使うための仮想シェル pip install strands-shell 0.3.3
/evals(Strands Evals) 出荷前にエージェントを評価する pip install strands-agents-evals 1.4.0
/labs(Strands Labs) 実験的なプロジェクト群 プロジェクトごとのリポジトリ プロジェクトごと
Strands CLI 端末でハーネスのエージェントを作り、会話し、コードに書き出す npm install -g @strands-agents/cli 0.1.4

Strands Shell は、自分のプロセスの中で動く Bourne 互換のシェルです。grep・sed・jq・curl・find などを fork や exec を使わずに実行し、見せるホストのファイル・内部 URL・認証情報を宣言したものだけにエージェントが届きます。Python・Node.js のほか MCP サーバーとしても動き、MCP クライアントには次の設定で追加できます(Quickstart の記載どおり)。

{
  "mcpServers": {
    "shell": {
      "command": "uvx",
      "args": ["strands-shell", "--mcp"]
    }
  }
}

Strands Evals は、エージェントの出力と途中の行動の流れを採点し、失敗の検出や危険な振る舞いの確認、利用者とツールの模擬まで扱う評価の道具です。CLI で1問だけ試す例がドキュメントにあります。

pip install strands-agents-evals

# One-off check: does the agent's answer contain "Paris"?
strands-evals run \
  --input "What is the capital of France?" \
  --expected-output "Paris" \
  --agent my_agent:build_agent

Strands Labs には、ロボット制御(Robots)、NVIDIA Cosmos との連携、ベンチマーク用のハーネス(Benchmark Harnesses)、ハーネスの最適化(Harness Optimizer)、AI Functions、WebRTC の音声処理が並びます。ドキュメントは「本体の SDK より変更が多い」と断っているので、業務で使う前提には置かないほうが安全です。

既定で入っているもの|設定リファレンスの初期値

Strandsハーネスは、何も渡さなくても動くように初期値が決まっています。設定リファレンスの主な項目を抜き出します(Python の名前。TypeScript は camelCase)。

項目 初期値 意味
model bedrock/global.anthropic.claude-opus-5 使うモデル。provider/name、Bedrock のモデル ID、Model インスタンスのどれか
effort “auto” 推論の強さ。auto・low・medium・high・off
builtin_tools shell・read・write・edit・web_fetch・web_search・programmatic_tool_caller・subagent 組み込みのツール。[] で全部外せる
caching “auto”(オン) プロンプトキャッシュ
context_manager “auto” コンテキスト管理と大きなツール結果の退避
session 保存先 ./.agent/sessions 会話の保存と再開
skills ./.agent/skills Agent Skills を読み込むフォルダ
builtin_plugins [“todos”, “environment”] 作業のチェックリストなどの組み込みプラグイン
memory オン(./.agent/memory) 会話をまたいで残す長期記憶(ファイル)
interventions なし ツール呼び出しの承認。初期値では全部そのまま実行される

システムプロンプトは「先に調べてから動く」「取り返しのつかない操作の前に確認する」「終える前に確かめる」という方針で調整されています。決まった手順のない作業は組み込みの generalist というサブエージェントに任せ、手順の多い作業は todos のチェックリストで管理します。ツールを絞る場合は、ドキュメントの例のように名前で指定します。

from strands_harness import create_harness

agent = create_harness(builtin_tools=["read", "shell"])  # just these two; [] for none

最短の動かし方|Quickstartの3つの入口

Quickstart は、使い始め方を3つ用意しています。コードを書く前に試したいなら CLI、アプリに組み込むならライブラリが近道です。

Strandsハーネスの3つの入口。入口1はコーディングエージェントにプロンプトを貼って設定、入口2はCLIのstrandsで試して/exportでコードに、入口3はライブラリとしてcreate_harness()の1行で動かす

入口1 コーディングエージェントに任せる

Quickstart には、Codex・Claude Code・Kiro などに貼り付けるプロンプトがあります。貼ると、使う言語・モデルのプロバイダー・入口を順に聞きながら設定を進め、Strands の MCP サーバーの設定も提案する、と説明されています。

入口2 CLIで作る

コードなしで試すなら Strands CLI です。

npm install -g @strands-agents/cli

strands を実行して Quickstart を選び、プロバイダー(Amazon Bedrock・Anthropic・OpenAI・Google Gemini・Ollama・LiteLLM)とモデルを選んで Save and Launch を押すと会話が始まります。CLI は AWS のプロファイルや OPENAI_API_KEY のような既存の認証情報を検出し、貼り付けたキーはそのセッションの間だけ保持します。名前・指示・ツール・プラグイン・記憶・ツールの権限まで決めたい場合は Customize を選びます。

形が固まったら、会話の中で /export を実行すると、選んだ設定を create_harness(...) に書き込んだ Python か TypeScript のプロジェクトが出力されます。つまり、/export でコードに書き出すところまでが CLI の役割です。実行ごとにモデルを替える指定もあります。

strands --agent ./agent.ts                     # start from an exported agent
strands --model anthropic/claude-sonnet-5      # use a different model for this run

入口3 ライブラリとして使う

Python は3.10以上で pip install strands-harness、TypeScript は npm install @strands-agents/harness で入ります。最小のコードは次の形です。

# pip install strands-harness
from strands_harness import create_harness

agent = create_harness()
agent("Research the top three vector databases, compare pricing and limits, and write it up in comparison.md")
// npm install @strands-agents/harness
import { createHarness } from '@strands-agents/harness'

const agent = await createHarness()
await agent.invoke("Research the top three vector databases, compare pricing and limits, and write it up in comparison.md")

引数なしの場合は Amazon Bedrock の Claude Opus 5 を、AWS の設定で選ばれたリージョンで使います。認証は、Bedrock の API キーを AWS_BEARER_TOKEN_BEDROCK に設定する方法、aws configure か環境変数で AWS の認証情報を渡す方法、EC2・ECS・Lambda などの IAM ロールを使う方法の3つです。Bedrock のコンソールで、使うモデルへのアクセスを有効にしておく必要があります。

会話は初期値で ./.agent/sessions に保存され、ID を決めておけば次の実行で同じ会話を続けられます。

from strands_harness import create_harness

agent = create_harness(session={"id": "api-design"})
agent("Which of those would you pick for an API with external customers, and why?")

CLI でも strands --session-id api-design で同じ会話を再開できます。

対応LLMと切り替え方|provider/nameの1行

モデルは model に1つ渡すだけで替わります。受け付ける形は、provider/name の文字列、Bedrock のモデル ID そのもの、組み立て済みの Model インスタンスの3つです。provider の部分に使える名前は bedrock・bedrock-mantle・anthropic・openai・google・ollama・litellm で、名前を付けない文字列は Bedrock のモデル ID として扱われます。

from strands_harness import create_harness

agent = create_harness(model="openai/gpt-5.6-sol")

Python で Bedrock 以外を使う場合は、対応する追加パッケージを入れます(README の記載どおり)。

pip install "strands-harness[openai]"      # or [anthropic], [gemini] (the `google` provider), [ollama], [litellm]

認証情報は、Anthropic が ANTHROPIC_API_KEY、OpenAI が OPENAI_API_KEY、Google が GEMINI_API_KEY です。Ollama は API キーもクラウドのアカウントも不要で、ollama serve と ollama pull llama3.1 のあとに model="ollama/llama3.1" を渡します。手元の LLM の準備は Ollama の使い方にまとめています。

推論の強さは effort で、どのプロバイダーでも同じ書き方になります。プロバイダーが受け付けない値は、リクエストの途中ではなく作成の時点でエラーになります。

from strands_harness import create_harness

agent = create_harness(model="anthropic/claude-opus-5", effort="high")

注意点が2つあります。1つは、ドキュメントと公式ブログの例に出てくる OpenAI のモデル名が openai/gpt-5.6-sol と openai/gpt-5.4 であることです。9月29日(米国時間)に OpenAI が発表した GPT-6.1 Sol をこの形式で指定した例は、2026年9月30日時点のドキュメントにはありません。もう1つはキャッシュの効き方で、Amazon Bedrock と Anthropic の直接接続ではハーネスがキャッシュの区切りを設定し、OpenAI・Google・bedrock-mantle ではプロバイダー側で自動的にキャッシュされます。

「28%安い」の根拠|公式ブログに書かれた条件

公式ブログの題名は「frontier performance with 28% lower token cost」です。本文で条件として書かれているのは次の点で、数字はこの条件つきで読む必要があります。

「コストが28%低い」の条件。同じClaude・GPTのモデルで比較、6つのベンチマーク、比較の相手はClaude Code・Codexなど、EC2上でHarborを使った分散実行

  • コストが28%低い:同じ Claude・GPT のモデルを使い、6つのベンチマークで比べた結果。比較の相手は Claude Code・Codex などの広く使われているハーネスで、トークン効率が良く、ベンチマークのスコアはほぼ同等だったとしています
  • Claude Code より77%低い:Fable 5 を使った場合、Strandsハーネスは Claude Code よりコストが77%低く、Terminal Bench 2.1 のスコアも上回ったとしています
  • EC2 と Harbor:試験は EC2 上で Harbor を使った分散実行です
  • 全体でいちばんトークン効率が良かったのは DeepSeek Harness で、ただし正確さのスコアは低い傾向だったと書いています(DeepSeek Harness についてはDeepSeek Harness の解説を参照)
  • ほかに2つのオープンソースのハーネスが、Claude Code に対してコストと正確さで同じくらい良い結果だったとしています(名前は本文に書かれていません)
  • ベンチマークについては、研究者による論文を後日出すとしています

効率の理由としてブログが挙げているのは、初期値のコンテキスト管理です。ツールの結果が約1500トークン超を切り詰める、コンテキストウィンドウの使用が85%で要約(圧縮)を始める、あふれた場合はループの中で復元する、の3つです。いずれも、ツールの結果が大きいときや、コンテキストが埋まってきたときに働く仕組みです。コンテキストの圧縮の考え方はコンテキストエンジニアリングの解説で扱っています。

一方で、ブログ本文のテキストには、Terminal Bench 2.1 以外のベンチマーク名、ベンチマークごとの数値、比べた Claude Code・Codex の版は書かれていません。報道の見出しには「Claude Code と Codex より45%安い」(The New Stack)とするものもありますが、公式ブログ本文の数字は28%と77%の2つです。どちらも AWS 自身の試験の結果なので、自社の作業で使う前には、同じモデル・同じ課題で手元のハーネスと比べるのが確実です。

Claude Code・Codex・OpenAI Agents APIとの位置づけ

公式ブログは、Claude Code や Codex の構成を「そのままクラウドで動かしたい」という要望から話を始め、Strandsハーネスはコーディングエージェントではなく汎用のエージェントとして作ったと書いています。ベンチマークでは Claude Code と Codex を比較の相手に並べていますが、Quickstart では逆に Codex・Claude Code・Kiro をハーネスの組み立てを手伝う道具として使う入口を用意しています。ブログも、CLI の /export で書き出したコードについて「好みのコーディングエージェントで Strandsハーネスの改良を続けるのに便利」と書いています。

同じ週の9月29日(米国時間)には、OpenAI が DevDay 2026 で、Agents API の computer use 対応と、Amazon と組んだ Bedrock Managed Agents を発表しています。実行基盤を誰が持つかで並べると、公式の記載は次のとおりです。

観点 Strandsハーネス OpenAI Agents API Bedrock Managed Agents(powered by OpenAI)
形 オープンソースのライブラリ(Apache 2.0) OpenAI の API AWS 上のサービス
実行基盤を持つのは 自分。自分のプロセスで動き、ホスト型の管理基盤はない(README) OpenAI が基盤を運用する(DevDay 2026 Recap) OpenAI のエージェントを AWS の中だけで動かす(DevDay 2026 Recap)
モデル Bedrock・Anthropic・OpenAI・Google・Ollama・LiteLLM から選ぶ 発表文に記載なし OpenAI のエージェント
置き場所 Linux コンテナが動く環境ならどこでも OpenAI の API として利用 AWS
公式の日付 2026年9月21日 2026年9月29日(computer use 対応) 2026年9月29日(DevDay 2026 Recap に記載)

この表で比べているのは性能ではなく、運用の置き場所です(3つを同じ条件で比べた公式の資料はありません)。モデルを替えられることと自分の環境で動かせることを重く見るなら Strandsハーネス、基盤の運用を任せたいなら管理型の2つが比較の対象になります。

本番に載せる前に決めること|保存先・権限・実行環境・版

Strandsハーネスは素の Agent を返すので、配備・監視・安全対策は SDK の本番運用ガイドをそのまま使えます。ドキュメントの配備先は Lambda・Fargate・EKS・Amazon Bedrock AgentCore などで、AgentCore の始め方はBedrock AgentCore 完全ガイド、旧 Bedrock Agents からの移行はBedrock Agents Classic の新規停止と AgentCore 移行にまとめています。そのうえで、ハーネスの初期値に関わる4点を先に決めておきます。

本番前に決める4点。保存先は./.agentを永続ストレージへ、権限はinterventionsでask・smart・Cedar・自然文、実行環境はDockerやSSHのサンドボックスの下、版は0.xのminorを固定して検証

1. 保存先

セッションと長期記憶は、初期値で ./.agent の下に書かれます。コンテナやサーバーレスのように保存領域が消える環境では、session={"dir": ...} と memory={"dir": ...} をマウントした領域に向けるか、memory={"stores": [...]} やセッションマネージャーで別の保存先を渡し、永続ストレージへ移す必要があります。

2. 権限(interventions)

初期値ではツール呼び出しに承認がかからず、すべてそのまま実行されます。interventions には、すべての呼び出しを承認制にする “ask”、リスク分類で危ない呼び出しだけを止める “smart”、自然文の方針、.cedar で終わる Cedar のポリシーファイルを渡せます。短く言えば ask・smart・Cedar と自然文の4通りです。組み込みの generalist サブエージェントも同じ設定を引き継ぐので、サブエージェント経由で承認をすり抜けることはありません。

# pip install strands-harness
from strands_harness import create_harness

agent = create_harness(
    interventions="Ask before deleting files or making any network request.",
)

承認をどこに挟むかの設計は、Human-in-the-Loop の承認設計ガイドが参考になります。

3. 実行環境(サンドボックス)

組み込みの shell と read・write・edit は、SDK のサンドボックスを通ってファイルに届きます。その既定はホスト上のローカルで、同じツールを Docker や SSH のサンドボックスに向けることもできます。ドキュメントは、触れる範囲を絞るならツールを削るよりサンドボックスの下で動かすよう勧めています。さらに、モデルが書いたコードを実行する programmatic_tool_caller は Monty でコードを隔離しますが、そのコードが呼ぶツールまでは隔離しない、と明記されています。信頼できない入力を扱うなら、サンドボックスの下で動かすか、このツールを外します。

Strands Shell を使う場合も、ドキュメントは「強化されたサンドボックスではなく、仲介の層」と書いています。同じプロセスで動き VM ではないため、隔離の強さが必要な場面では gVisor や Firecracker などの層を検討します(エージェントのサンドボックス設計)。

4. 版の固定

Strandsハーネスは0.x の製品で、SDK とは別に版が付きます。0.x.Y の patch は不具合修正と新機能、0.X.0 の minor は破壊的変更で、1.0 になるまで major の更新はありません。組み込みツールが patch で増えることもあるため、本番では minor を固定します。ドキュメントの書き方は、pip なら strands-harness~=0.1.0、npm なら @strands-agents/harness@~0.1.0 です。Python 版と TypeScript 版は別々に版が付き、同じ番号でも機能が同じとは限りません。

導入判断|向いている場面と別の選択肢を選ぶ場面

ドキュメントの「どちらを使うか」と、ここまでの公式の記載から、選び方を整理します。

状況 選ぶもの 理由
既定の構成で動くエージェントを早く用意したい Strandsハーネス ツール・記憶・セッション・コンテキスト管理が最初から組まれている
モデルを後から替えたい、AWS 以外にも置きたい Strandsハーネス provider/name の1行で替わり、Linux コンテナならどこにでも配備できる
シェルを持たない独自のツール構成、独自のループ、多数のエージェントの編成 Strands Harness SDK を直接 ドキュメントが「ハーネスが想定していない形」として挙げている
実行基盤の運用を持ちたくない 管理型(OpenAI Agents API・Bedrock Managed Agents など)も比較する Strandsハーネスは自分のプロセスで動かす前提
基幹業務へすぐ組み込みたい minor を固定して検証してから 0.x で、minor の更新は破壊的変更を含む

当社の見方としては、まず社内の調べものや資料の下書きのように、失敗しても戻せる作業で初期値のまま動かし、interventions="ask" で全ツール呼び出しを承認制にしてログを見るところから始めるのが安全です。どのモデルに何を任せるかの設計は、モデルルーティングの設計ガイドの考え方がそのまま使えます。

【要注意】よくある失敗パターン

公開から9日の時点で、ドキュメント・ブログ・パッケージの記載には小さな食い違いが残っています。つまずきやすい点を5つ挙げます。

失敗1:公式ブログの TypeScript 例をそのまま写す

❌ ブログの例どおり await agent("...") と書く

⭕ ドキュメントと README の形に合わせ、await agent.invoke("...") と書く

なぜ重要か:TypeScript の呼び出し方は、公式ブログとドキュメントで書き方が違います。ドキュメント・README・Quickstart はすべて invoke を使っています。

失敗2:Node.js 20 の環境に入れる

❌ Quickstart の「Node.js 20以上」を見て、Node.js 20 の環境に @strands-agents/harness を入れる

⭕ Node.js 22以上を用意する

なぜ重要か:npm に登録された @strands-agents/harness 0.1.1、Strands CLI 0.1.4、SDK 1.19.0 は、いずれも対応する Node.js を22.0.0以上と指定しています。

失敗3:コンテナで ./.agent のまま動かす

❌ 初期値のままコンテナに載せ、再起動のたびに会話と記憶が消える

⭕ session と memory の保存先を、マウントした領域か別の保存先に向ける

なぜ重要か:本番運用のドキュメントが、保存領域が消える配備先について名指しで注意している項目です。

失敗4:初期値のまま大事なリポジトリを触らせる

❌ 承認なし・ホスト上のローカルのまま、本番の設定ファイルがある場所でシェルとファイル編集を許す

⭕ interventions="ask" か方針の文で承認を挟み、必要に応じて Docker などのサンドボックスや builtin_tools の絞り込みを使う

なぜ重要か:初期値のエージェントはシェルの実行とファイルの編集ができ、ドキュメントも「出荷前に判断が要る」と書いています。

失敗5:「28%」を自社の見積もりにそのまま使う

❌ 今のエージェントを置き換えれば、モデルの費用が28%下がる前提で予算を組む

⭕ 同じモデル・同じ課題で、今のハーネスと Strandsハーネスのトークン量を比べてから判断する

なぜ重要か:28%は AWS が6つのベンチマークで測った結果で、ベンチマークの内訳と論文はまだ公開されていません。効率の理由として挙げられているのも、ツールの結果が大きいときやコンテキストが埋まってきたときに働くコンテキスト管理です。

よくある質問

Strandsハーネスは無料で使えますか?

ハーネスは Apache 2.0 のオープンソースで、ハーネス自体の利用料の記載はありません。モデルは自分の認証情報で Amazon Bedrock・Anthropic・OpenAI・Google などを呼び出すため、各社のモデル利用料と、配備先の実行環境の料金がかかります。Ollama でローカルの LLM を使う場合は API キーもクラウドのアカウントも不要です。

Strands Agents SDKと何が違いますか?

SDK はエージェントのループと部品を渡すもので、何を組み込むかは自分で決めます。Strandsハーネスは、その SDK の上にツール・記憶・セッション・コンテキスト管理・調整済みのシステムプロンプトを組み立てた状態で渡します。create_harness() は SDK と同じ素の Agent を返すので、ハーネスで始めて必要な部分だけ SDK に下りられます。

AWS以外のモデルやローカルのLLMでも使えますか?

使えます。provider/name の形で anthropic・openai・google・ollama・litellm を指定でき、名前を付けない文字列は Bedrock のモデル ID として扱われます。既定は Amazon Bedrock 上の Claude Opus 5 です。

28%安くなるのは本当ですか?

公式ブログの記載は、同じ Claude・GPT のモデルで6つのベンチマークを回した AWS の試験で、コストが28%低くスコアはほぼ同等だった、というものです。Fable 5 では Claude Code より77%低かったとも書いています。ベンチマークの内訳は本文テキストに書かれておらず、論文は後日公開の予定です。自社の作業で同じ差が出るかは、同じ条件で比べて確かめる必要があります。

本番で使ってよい段階ですか?

本番運用のドキュメント(配備・監視・安全対策)は用意されていますが、版は0.x で、minor の更新は破壊的変更を含む決まりです。本番では minor を固定し、保存先・承認・サンドボックスを決めてから載せるのが前提になります。

まとめ

Strandsハーネスは、Strands Agents の SDK の上に、ツール・記憶・セッション・コンテキスト管理を組み立て済みで載せたオープンソースのエージェントです。2026年9月21日に公開され、1行で動き、provider/name の1行で LLM を替えられ、Linux コンテナが動く環境ならどこにでも配備できます。「28%安い」は同じモデル・6つのベンチマークという条件つきの AWS の試験結果で、効く理由は長い作業で働くコンテキスト管理にあります。

試すなら CLI の Quickstart から始め、/export でコードに書き出し、本番の前に保存先・承認・実行環境・版の4点を決める順番が無理のない進め方です。社内でエージェントの実行基盤をどこに置くかを検討する段階で相談先が必要な場合は、Uravation でも AI エージェントの導入を支援しています。

運営元 Uravation よりAIエージェントを構想から本番運用まで進める順番と、体制・KPIの決め方をまとめた資料を無料で公開しています。 AIエージェント導入ロードマップを受け取る(無料)

参考・出典

Need help moving from reading to rollout?

この記事を読んで導入イメージが固まってきた方へ

Uravationでは、AIエージェントの要件整理、PoC設計、社内導入、研修まで一気通貫で支援しています。

この記事をシェア

X Facebook LINE

※ 本記事の情報は2026年9月時点のものです。サービスの料金・仕様は変更される可能性があります。最新情報は各サービスの公式サイトをご確認ください。

関連記事