トラス構造が幾何学的に組まれた建築物のファサード
現場の実践

AWS Strandsハーネスとは?LLM依存を切り離す設計を業務システムで検証

目次を見る

社内向けの問い合わせ対応や資料作成をAIエージェント(人間の指示を受けて自律的に作業を進めるAIの仕組み)に任せたいが、特定LLMへの依存が気になるという担当者に向けた内容です。AWSが2026年9月に公開した「Strandsハーネス」は、AIエージェントの土台部分をオープンソースで切り出したツールです。この土台がなぜ業務システムの保守運用にとって重要なのか、順に整理します。

Strandsハーネスとは何か

AIエージェントは、大規模言語モデル(LLM)と「ハーネス」と呼ばれる周辺環境の組み合わせで動作します。LLMは思考や文章生成を担う頭脳部分、ハーネスはその頭脳を実際に動かすための手足や記憶装置に相当します。

具体的には、ハーネスは長期的なコンテキスト(対話の文脈や設定情報)の記憶、ファイルやネットワークへのアクセス、外部APIとの接続、権限を逸脱させないためのガードレール(安全装置)などをまとめて提供します。エージェントを自作したことがある技術者なら、ツール連携やメモリ管理を一つひとつ手作業で組み上げる手間を経験しているはずです。Strandsハーネスは、その配線作業をあらかじめ済ませた状態で提供する点が特徴です。

LLMを差し替えられる設計の仕組み

Strandsハーネスの最大の特徴は、Amazon Bedrock上のモデルだけでなく、Anthropic Claude、OpenAI GPT、Google Gemini、Ollama、LiteLLMなど主要なLLM・ランタイムに対応している点です。コード上でモデル名の文字列を書き換えるだけでLLMを切り替えられます。

公開されているコード例では、次のようにモデル指定を1行変えるだけで挙動が切り替わります。

import { createHarness } from "@strands-agents/harness";

const agent = await createHarness({ model: "anthropic/claude-opus-5" });
await agent("Research the top three vector databases, compare pricing and limits, and write it up in comparison.md");

このmodelの値をgoogle/gemini-3.5-flashやollama/llama3.1に変えるだけで、別のLLMを使うエージェントになります。業務システムの観点で見ると、この「差し替え可能」という設計は、ベンダーロックイン(特定業者の製品に依存し続けてしまう状態)を避ける手段として評価できます。

エンタープライズ開発では、採用したLLMベンダーの料金改定や提供終了リスクを常に想定する必要があります。ハーネス層をLLMから分離しておけば、モデル差し替えのたびにエージェント全体を再設計する必要がなくなります。

コンテキスト管理とトークン消費の制御

Strandsハーネスには、プロンプトキャッシング(同じ入力を再利用してAPI呼び出しコストを下げる仕組み)とコンテキスト管理があらかじめ組み込まれています。ツールの実行結果が約1500トークンを超えると自動的に切り捨てられ、コンテキストウィンドウ(LLMが一度に扱える情報量の上限)が85%を超えると要約による圧縮が走ります。

この仕組みは、長時間稼働するバッチ処理的なエージェントを業務システムに組み込む際に重要です。トークン消費が予測できないと、月次のクラウド利用料が想定外に膨らむ事態を招きます。AWSが公開したベンチマークでは、同じFable 5ベースの評価でClaude Codeと比較し、より低コストで同等以上の能力を示したと報告されています。コスト管理の観点から、このような自動圧縮機能が標準搭載されている点は、独自にハーネスを組む場合との比較材料になります。

既存のエージェント基盤との比較で見るべき点

社内でLangChainやAutoGenのようなフレームワークを使ってエージェントを構築済みの現場もあるはずです。これらとStrandsハーネスの違いは、「ハーネス」という単位での標準化にあります。

LangChain等は柔軟性が高い分、メモリ管理やガードレールの実装を自社で設計する部分が多く残ります。Strandsハーネスは、シェル実行・ファイル読み書き・Web検索といった基本機能とガードレールをセットで提供し、コマンドラインツール(Strands CLI)からLLM選択やプラグイン設定を対話的に行えます。

また、構築したエージェントはTypeScriptまたはPythonのコードとしてエクスポートできるため、プロトタイプ検証後にコードベースへ組み込みやすい設計になっています。既存のCI/CDパイプラインやコンテナ環境(Linuxコンテナを備えた任意の基盤)へそのままデプロイできる点も、社内の稟議や検証フローに乗せやすい特徴です。

導入検討時に確認すべきポイント

実際に自社での採用可否を判断する際は、以下を確認してください。

  • 対象バージョン: @strands-agents/harnessのリリースノートで、対応LLM一覧と最小バージョンを確認する
  • 既存の権限設計: ガードレールの設定項目が、社内のアクセス制御ポリシーと矛盾しないか確認する
  • トークン切り捨てのしきい値: デフォルトの約1500トークン・85%圧縮の設定値が、業務で扱うドキュメント量に対して適切か検証する
  • デプロイ先の制約: Linuxコンテナ前提のため、Windowsサーバー中心の社内基盤では追加の仮想化検討が必要になる
  • LLM切り替え時の挙動差: モデルごとに出力品質やレイテンシが異なるため、切り替え前後で同一タスクの結果を比較する

特に既存コードベースを持つチームでは、ガードレールの設定内容を精査してから本番投入することが望ましいです。デモ動画で示されたように、Playwright MCPサーバー(ブラウザ操作を行う外部ツール連携の仕組み)を追加する運用も可能ですが、外部ツール接続を増やすほどガードレールの重要性も増します。

LLMとハーネスを分離した設計は、ベンダーロックインを避けたい業務システムにとって、モデル差し替えの検証コストを下げる実務的な価値があります。

まとめ

Strandsハーネスは、AIエージェントの土台となるハーネス層をオープンソースで公開し、LLMの種類やデプロイ先に依存しない構成を可能にしたツールです。

業務システムへの導入を検討する際は、対応LLMのバージョン確認、ガードレールと社内権限設計の整合性、トークン切り捨てや圧縮のしきい値、コンテナデプロイの制約という4点を順番に確認することが実務的な第一歩になります。

まずは@strands-agents/harnessをローカル環境かステージング環境にインストールし、既存のワークフローの一部をエクスポート機能でTypeScriptコードに落とし込んで動作確認するところから始めてみてください。

参考

AWS、AIエージェントを自作できるツール「Strandsハーネス」をオープンソースで公開。特定のLLMに依存せず入れ替え可能、任意のコンテナ環境にデプロイ

この記事について: 本記事は AI を活用して作成し、forva AI 編集部が内容を確認・監修しています。

AI 駆動開発のご相談は forva AI へ。まずはお気軽にどうぞ。