連載「Tines 3B を読み解く」の実践編です。第3回(認証情報)、第6回(コードファースト)、第7回(ドラフトと本番)で読んだ内容を、実際に手を動かして試しました。
はじめに
こんなふうに思ったことはありませんか。
- 「チャットで頼むだけでワークフローができる、と言われても、本当に動くの?」
- 「AI を組み込みたいけれど、API キーはどこに置けばいいの?」
- 「AI に数字を間違えられたら困る」
この3つを確かめるために、Tines 3B でワークフローを1つ作りました。公開されている脆弱性の一覧を取得し、ベンダー別に集計して、AI で日本語に要約するものです。
結果から書くと、依頼文を1つ書いて計画を承認するだけで、4ステップのワークフローができました。AI のステップは、先に作っておいた Anthropic のコネクタを使います。API キーはコネクタの入力欄に入れただけで、チャットにもコードにも出てきません。
手順は2026年10月21日に筆者の環境で試したものです。3B の AI は計画も構築の中身も毎回少しずつ変わるため、同じ依頼文でも同じ結果になるとは限りません。
自分がやったことは3つだけ
題材は、米国 CISA が公開している「Known Exploited Vulnerabilities(KEV)」の一覧です。悪用が確認された脆弱性のリストで、認証なしで JSON を取得できます。作ったワークフローは次の4ステップです。
| 自分がやったこと | 3B がやってくれたこと |
|---|---|
| 依頼文を1つ書いた | 4つのステップのコード(script.ts)を書いた |
| 計画を読んで承認した | ステップごとの README と全体の README を書いた |
| AI のステップにつなぐコネクタを選んだ | 実データで動かし、取得から保存まで通した |
承認から完成までは約3分でした(3B の表示で2分59秒)。事前の準備は、コネクタを1回作っておくことだけです。
頼んでいないのに入っていたこと
依頼文に書いたのは、取得先、期間、集計のしかた、ステップの分け方、保存先、使うコネクタ、「数値は集計結果にあるものだけを使う」ことです。それ以外にも、3B は次のことを計画に入れてきました。
- 件数、順位、CVE ID は AI に作らせない。 コードが集計値から入れる作りです。AI の出力と合わなければ、エラーにして保存を止めます。
- 0件のときは AI を呼ばない。 無駄な呼び出しをしません。
- 取得したデータを検証する。 HTTP エラー、JSON の形式、必要な項目、重複した CVE を確かめます。
- 保存は上書きせず、容量も確かめる。 実行のたびに新しいファイルを作ります。容量が足りなければ、既存の結果を消さずに失敗させます。
自分で書くなら、どれも「考えて、決めて、書く」作業です。これを計画の段階で出してくれたのが、いちばん楽だと感じたところです。
手順は3つ
1. コネクタを作る(最初の1回だけ)
コネクタは、外部サービスへの接続と、API キーなどの認証情報を 3B の中に預かる仕組みです。コードにキーを書かずに済みます(第3回で読んだ設計です)。
- 左のメニューの「Connectors」を開き、「Browse all」を選ぶ。
- 「Anthropic」で検索し、「Anthropic」(AI models and Claude)を選ぶ。
- 「Anthropic API key」の欄に API キーを貼る。「Base URL」は初期値のままでかまいません。
- 「Next」で進み、残りの設定を終える。
キーを入れるのはこの欄だけです。チャットには書きません。
コネクタを作る画面(5枚)
Browse all。 この画面では1,141件のコネクタが表示されていました。上のタブで「AI」などに絞り込めます。
「Anthropic」で検索した結果。 3件出ました。AWS Bedrock Mantle と Microsoft Foundry も Claude を扱うコネクタのようです。今回は「Anthropic」を選びました。
設定画面の上部。 Step 1 で API キーを作り、Step 2 で貼ります。画像はキーを入れる前の状態です。
設定画面の下部。 Step 3 では使えるモデルを絞れます(任意。空ならすべて使えます)。Step 4 はコネクタの名前とメモです。
作成後の一覧。 Status が「Active」なら使えます。
2. 依頼文を書く
ホーム画面の入力欄で、左下の「Plan」を押します。作る前に計画を出してもらうモード(Plan mode)で、入力欄の上が「What should we plan?」に変わります。次の依頼文を入れて送信します。
CISAが公開している Known Exploited Vulnerabilities のJSON(https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json)を取得し、直近30日に追加された脆弱性を、ベンダー別に集計してください。件数の多い上位5社と、各社の代表的なCVEを、日本語で短くまとめてください。ワークフローとして、ステップに分けて作ってください。ステップは、(1)取得、(2)直近30日の抽出とベンダー別の集計、(3)AIによる日本語の要約、(4)/storageへの保存、の4つにしてください。各ステップは、手動で実行して確認できるようにしてください。(3)は、すでに作成済みの Anthropic コネクタを使い、低コストなモデルと小さなトークン上限にしてください。数値は集計結果にあるものだけを使い、推測は書かせないでください。結果は /storage にJSONで保存してください。定期実行は付けず、ドラフトのまま作業し、公開(Push live)は行わないでください。データは公開されていて、取得に認証は不要です。
ポイントは、「ワークフローとして」「ステップに分けて」と明記することです。書かないと、その場で1回集計するだけの計画になることがあります。送信すると、3B がワークフローを作り、名前(「KEV直近30日のベンダー別集計レポート」)も付けてくれました。
3. 計画を読んで承認する
数十秒でチャットに計画が出ます。AI のステップは次のような内容でした。
- 既存の「Anthropic」コネクタを、このステップだけに接続する。
- モデルは
claude-haiku-4-5、リクエストは1回、出力上限はmax_tokens: 1024、拡張思考なし。 - モデルには上位5社と代表 CVE の必要な情報だけを渡し、外部の知識や推測、入力にない数値は禁止する。
計画の最後に「Approve and build」と「Keep planning」が出ます。「Keep planning」なら何度でも計画を直せて、承認するまでステップは作られません。今回は意図どおりだったので「Approve and build」を選びました。
構築の途中で、AI のステップにどのコネクタをつなぐかを聞かれます。先に作った「Anthropic」を選ぶだけで、キーの入力は求められません。
あとは約3分待つだけです。
計画のほかの部分と、構築中の画面(4枚)
取得と集計の計画。 取得では、CISA の JSON を認証なしで取り、形式と必要な項目を検証します。集計では、取得日の日本時間を基準に当日を含む30暦日を対象とし、vendorProject の表記のまま数えます(社名の推測による統合はしません)。代表 CVE は追加日が新しいものから最大2件で、重要度の判定ではありません。
保存の計画。 保存先は /storage/cisa-kev-reports/<取得日時>-<一意ID>.json です。容量(100 MB)を確かめ、足りなければ既存の結果を消さずに失敗させます。
承認の選択肢。
構築中の画面。 中央に取得ステップのコード、下に4つのステップが並びます。
できあがったもの
構築が終わると、チャットにまとめが出ます。
対象期間は2026年9月22日から10月21日(日本時間、両端を含む)で、37件でした(実行した時点の例です)。
| 上位5社 | 件数 |
|---|---|
| Plex | 4 |
| Citrix | 3 |
| Ahsay | 2 |
| Check Point | 2 |
| Cisco | 2 |
同数のときはベンダー名の順です。代表 CVE は追加日が新しい順に最大2件で、重要度の順位ではありません。
まとめの続きには、3B が自分で確かめた項目も並んでいました。期間の境目、0件、同数の順位、5社未満、重複 CVE や不正な日付の拒否、保存内容の照合です。
AI が作った日本語の要約は、「保存」ステップの出力(summaryJa)で読めます。上位5社ごとに、件数、代表 CVE、脆弱性の内容が並んでいます。
人が確かめたほうがよいこと
楽にはなりましたが、全部おまかせでよいわけではありません。
- AI の文章は読んで確かめる。 件数と CVE ID はコードが入れているので、集計結果と一致しました(目で見比べました)。一方、脆弱性の説明は AI が書いた文章で、製品名などが入力データにあったものかは確かめていません。README にも「自然言語の正確性は機械的な検証だけでは保証できない」とあります。
- 計画は毎回変わる。 同じ依頼でも、期間の基準(日本時間か UTC か)や出力上限が変わります。別の実行では、UTC で800トークンの計画が出ました。計画を読む手間は省けません。
- ステップを開くと「Step failed」と出ることがある。 構築後に集計ステップを開くと、Output が「Step failed」でした。単独で動かすには前のステップの出力が必要なためのようですが、原因までは追っていません。全体の結果はチャットと保存ステップで確認できました。
- Output には最後の実行結果が出る。 AI ステップの Output は、3B が確認用に動かしたテスト実行(0件)の結果でした。実データでの AI の出力は、保存ステップで見られます。
- AI の費用はゼロではない。 Anthropic の API 利用料が自分のアカウントにかかります。確認のための実行も含みます。
補足:画面の見かた
ホーム画面(2枚)
サインインすると、ホーム画面(Recents)が開きます。
- 左のメニュー: Recents、Favorites、Chat、Personal workflows、Monitoring、Links、Connectors、Skills。コネクタを作るときに使うのは「Connectors」です。
- 中央の入力欄: やりたいことを書くと、3B がワークフローを作ります。右上で作る場所(ここでは「Personal workflows」)を選べます。
- 左下の「Plan」: Plan mode の切り替えです。
入力欄の下はワークフローの一覧です。
列は、名前、Space(置き場所)、Connectors(使っているコネクタ)、Trigger(起動方法)、Created(作成日)です。このときはサンプルの「Example: New hire onboarding portal」だけでした。
ワークフロー画面(1枚)
依頼を送ると、ワークフロー画面に切り替わります。
- 左側: 上にブランチ名(「First draft」)、その下に 3B とのチャットがあります。作業はライブではなく、このドラフトで進みます。
- 右上のタブ: Readme、Monitor、Runs、Links、Browser、Storage。README は構築後に 3B が書きます。Storage は保存したデータを見る画面です。Monitor、Runs、Links、Browser は今回開いていません。
- 右下: 構築が始まると、ステップが横に並びます。
各ステップの出力、Readme、Storage(5枚)
下のステップを選ぶと、左に README.md(または script.ts)、右に実行結果(Output)が出ます。
取得ステップ。 取得元の URL、取得日時、カタログの情報(題名、版、公開日時、件数)、脆弱性の一覧が出ます。README には、タイムアウト45秒、フィードの上限20 MB とあります。
AI ステップ。 コードの先頭で Anthropic の SDK(@anthropic-ai/sdk)を読み込み、入力の JSON を検証しています。接続先は環境変数(ANTHROPIC_BASE_URL)から取り、API キーの欄は placeholder という仮の文字列です。本物のキーはコードのどこにもありません。右の Output は、確認用のテスト実行(0件で AI は呼ばれていない)の結果です。
保存ステップ。 保存先のパス、ファイルのサイズ、件数、AI の要約(summaryJa)が出ます。
ワークフロー全体の Readme。 期間の決め方、AI の設定、保存の上限(1ファイル1 MB、合計95 MB)、失敗したときの扱いが書かれています。
Storage。 右上の「Storage」から開きます。「Workflows」→「First draft」→cisa-kev-reports と進むと、実行日時を名前にした JSON ファイルが入っていました。ドラフトのデータはライブとは別に保存されます。
おわりに
- 自分がやったのは、コネクタの作成(初回のみ)、依頼文1つ、承認、コネクタの選択だけでした。
- 0件のとき AI を呼ばない、上書きしないといった安全策は、頼まなくても計画に入っていました。
- 数字はコードで固め、AI には文章だけを任せる作りでした。それでも AI の文章と計画の中身は、人が読んで確かめたほうが安心です。























