← 新しい形の研究 C-2 / AIエージェントで1から作る

AIエージェントで1から作る — 速報動画

Claude Opus 5.5 の発表を読んでから、
約1時間で紹介動画を2本公開するまで

Claude Opus 5.5 が発表された直後に、AIエージェント(Claude Code)と一緒に、X用の紹介動画とYouTube Shortsを1本ずつ作り、 公式発表を読んでから約1時間で公開しました。人間が出した指示は3つだけです。 台本・画面・音・品質チェック・投稿まで、エージェントがどう作り、どう確かめたかを、フローチャートと図で全部並べます。 数字は全部、公式発表の原文と照合しました。それでも残っていた6件の誤りを、別のエージェントが見つけた経緯も書いています。

2026-09-23 / Claude Opus 5.5 の発表から / 読了 約12分

00

できあがったもの

X用の紹介動画YouTube Shorts
横1920×1080・32.5秒
ナレーションなし(BGMのみ)
縦1080×1920・44.8秒
ずんだもんの読み上げ+字幕
中身良くなった点を6項目で主役の数字1つ(約4割安い)で1本
公開先@ViewsEngineer(最初の投稿 02:41 → 書き直して再投稿)ずんだもんのAIラボ「1分AIニュース #14」(最初の公開 02:45 → 時間帯を変えて 19:00 に再公開)
X用動画の1枚目。Claude Opus 5.5 の大きな見出しの下に、大半の作業でFable 5.1並み、Opus 5より約4割安く動く、と書かれている
X用・0秒。1枚目はXの一覧でサムネを兼ねるので、動きなしで完成した絵にしている。
料金の場面。入力・出力・キャッシュ読み取りの旧価格と新価格の表と、単価の値下げと使うトークンの減少で約4割安い、という式
X用・料金の場面。この場面は4回直した(07)。
@ViewsEngineer の本文(再投稿した版・加重253/280字)
Claude Opus 5.5 が発表された。前の Opus 5 から大きく良くなっている。
・性能は、大半の作業で上位モデル Fable 5.1 並み
・費用は約4割安く(Anthropic の試算)、出力は3割以上速い
・文章は、大事なことから先に書くようになった
・Pro・Max・Team は5時間枠も増える

1分AIニュース #14(ずんだもんのAIラボ)

01

全体の流れ

一次情報を1回だけ取り、そこから根拠台帳を作ります。X用とShortsは台帳を共有して、別々の工程で作り、 最後に同じ審査を通します。事実の審査に落ちたら、書き出しからやり直しです(X用は7回、Shortsは5回書き出しました)。

02

人間が出した指示は3つ

AIエージェント(Claude Code)に送った文章は、下の3つと、エージェントから来た質問への回答だけです。 緑の番号がエージェントからの質問、赤い番号が公開の指示にあたります。

#
人間 → エージェント→ エージェントがやったこと
1
Opus5.5がリリースされたので、よくなったことを簡潔にまとめてXに投稿したい。紹介ビデオもあるといい
→ 公式発表を取得し、発表日・価格・ベンチマークを原文で確認。記憶ではなく一次情報から書くことにした
Q
(エージェント)どちらのXアカウントに投稿しますか? / 紹介動画はどのスタイルにしますか?
→ 回答「@ViewsEngineer」「モーショングラフィックス」。以後、根拠台帳・動画・BGM・投稿文3案・品質ゲートまで進めた
2
投稿して。youtube shortにも投稿して。1分AIにユースとして
→ 既存シリーズ「1分AIニュース」の手順を読み、#14 を作成。審査で見つかった誤りを直し、X投稿・Shorts公開・再生リスト追加・公開確認まで
3
今回の動画の作成手順と品質チェックの全容を詳細にhtmlで図やフローチャートにして、https://yuichi916.github.io/の子ページを作成して
→ このページ

「投稿して」の時点で、人間は最終の文面をまだ見ていません。だから公開の判断を、人間の目ではなく 審査の合否(事実の中程度以上が0件)に置きました。次の章からが、その中身です。

03

根拠台帳:数字は原文の文字列で裏付ける

新しいモデルの話なので、エージェント自身の知識はあてになりません(学習の時点より後の発表です)。 そこで、使う事実を全部台帳に登録し、台帳に無い数字は画面にも本文にも書かない、という決まりにしました。

{
  "id": "L01",
  "ja": "大半の作業で Fable 5.1 並みの性能。Opus 5 より約4割安く動く",
  "values": ["40%", "4割"],
  "quote": "It performs at the level of Claude Fable 5.1 on most work and costs 40% less to run than Opus 5.",
  "source": "announce.txt",
  "reading": "on most work = 大半の作業で。全作業ではない。"
}

台帳を検査するスクリプトは、2つのことだけをします。

  1. 引用の照合:各 quote が、保存した原文にそのまま存在するか(空白と引用符の揺れだけ吸収)。
  2. 数値の照合:動画のHTML・投稿文・説明文に出てくる数字を全部抜き出し、台帳の values にあるか。モデル名の版数(5.5 など)は先に落とす。
26/26引用が原文に存在
41 · 4 · 25X動画・投稿文・YouTube説明文の数字
すべて台帳内
5/6わざと混ぜた誤りを
検出できた数

照合器が何を見逃すかを、先に測る

検査が通っても、検査そのものが甘ければ意味がありません。そこで、誤った文を6つ作って照合器に通しました。

混ぜた誤り正しくは結果
Opus 5.5 は 66.5%66.4%検出
Opus 5 より5割安い4割検出
18本中17本 合格16本検出
$0.25$0.20検出
6時間枠5時間枠検出
出力が40%速い30%以上見逃し

最後の1つは、「40%」が台帳に(費用の値として)存在するので素通りします。 数値の照合は「その値がどこかにあるか」しか見ていないので、正しい値を別の文脈で使うと捕まりません。 これは照合器を直せば済む話ではなく、文を読む担当が別に要る、ということです(07)。

04

X用の動画の作り方

Xの動画は最初ミュートで自動再生されるので、音がなくても全部伝わる形にしました。 画面は1枚のHTMLで、全部のアニメーションを時刻 t の関数として書きます。 こうすると、Playwrightで1/30秒ずつ時刻を進めて撮るだけで、何度書き出しても同じ絵になります。

function setTime(t) {
  // 背景の模様・ぼかしの光は、どの時刻でも少しずつ動く(静止判定の対策)
  $('grid').style.transform = `translate(${(t * 16) % 80}px, ${(t * 9) % 80}px)`;
  for (const sc of SCENES) {                 // 8場面。data-s〜data-e の間だけ表示
    const on = t >= sc.s && t < sc.e;
    sc.el.style.visibility = on ? 'visible' : 'hidden';
    if (on) for (const it of sc.items) animItem(it, t - sc.s);  // 出現・棒・数え上げ
  }
}
window.__setTime = setTime;   // 撮影側は evaluate("t => __setTime(t)") → screenshot
場面(秒) 表紙 01 性能 02 料金 03 速さ利用枠 04 文章 05 調べもの 06 安全 締め 03.07.5 12.516.520.5 25.029.532.5 和音(120BPM・ニ長調。変わり目は全部、拍の上) Gmaj7 D Bm7 Gmaj7 A D F#m7 Bm7 Gmaj7 Em7 A7 Dadd9 ドラム(キック4つ打ち・裏拍のベースとハイハット) なし余韻 効果音(▼=切れ目へのノイズの立ち上がり / |=数字・項目が出る瞬間) 丸18個:合格16個は上がる音、残り2個は低い音

X用動画の時間割。場面の切れ目・和音の変わり目・ドラムの入りを全部、120BPMの拍(0.5秒刻み)にそろえた。効果音は画面の要素が出る時刻と同じ式から計算している。

BGMは、耳ではなくスペクトルで確かめる

エージェントは音を聴けません。そこで帯域ごとのエネルギーを測りました。 1回目の合成は16kHz帯が強く、スマホのスピーカーでシャリシャリ聞こえる形でした。 ハイハットを7.5〜12kHzに絞って音量を下げ、16kHz帯を −22.1dB → −28.3dB にしています(最大の帯を0dBとした相対値)。

0-10-20-30 dB 631252505001k 2k4k8k16k Hz 直す前 直した後 下げた帯 -25.8→-28.1-22.1→-28.3

5〜28秒のオクターブ帯エネルギー(最大の帯を0dB)。低音の山(63Hz)はそのまま、上の2帯だけを下げた。最終のミックスは -14.1 LUFS/ピーク -2.8 dBFS。

性能の場面。コーディングと分野横断の推論の2つのベンチマークで、Opus 5.5・Fable 5.1・Opus 5 を棒グラフで比べている
01 性能。1本だけだった棒グラフを2本立てにした(07)。
速さと利用枠の場面。30%以上と、上限アップの2枚のカード
03 速さ・利用枠。「5時間枠」の大文字は「5時間使える」と読まれたので「上限アップ」に。
調べものの場面。18個の丸のうち16個が点灯し、Opus 5.5は18本中16本合格、Fable 5.1とOpus 5は合格なし、と書かれている
05 調べもの。注記に「落ちた理由は書かれていない」を足した。
安全の場面。元に戻しにくい操作を避けるようになった、プロンプトインジェクションに強くなった、の2項目
06 安全。比較の相手(最近のモデル/Opus 5)を注記で分けた。
05

Shortsの作り方

Shortsは新しく作らず、第13回まで続いている「1分AIニュース」の手順にそのまま乗せました。 エージェントは最初に既存のスクリプトと過去回の台本を読み、同じ形で #14 を書いています。 表紙で結論を言い切り、主役の数字を1つに絞るのが、このシリーズの型です。

#スクリプトやること止める事故
1add_ep14.pybuild_one.py画面の文字・読み上げ(かな)・字幕を1話分書き、文字数の上限を検査器から文字があふれる
2check_yomi.pyVOICEVOXの読み(カナ)を取り出して、誤読の型と照合「十八本」を「じゅうはちほん」と読む
3synth_long.pyずんだもんで合成。文面のハッシュでキャッシュ
4acts_one.py声の長さから、場面の切り替え時刻を決める録り直すたびに場面がずれる
5mix_long.pyBGMを声の下に沈めて、音圧を -14±1.5 LUFS に無音の穴・音割れ
6check_one.py全場面の要素の座標を取り、安全域・重なり・はみ出し・字の小ささを検査字幕がShortsのUIに隠れる
7render_one.py1,343枚を撮ってmp4に
8qc_video.py尺・解像度・音声形式・音圧・冒頭の輝度・静止暗転で始まる・止まって見える
9build_thumb_one.py16:9のサムネを同じデータから作り、重なりを検査見出しと数字が重なる
10build_meta14.py題名・説明文・タグ。説明文の数字も台帳と照合本編と説明の数字の食い違い
11upload_to_youtube.py公開で投稿してサムネを設定
12ai_news_playlist.pyシリーズの再生リストに追加
13oEmbed + APIチャンネル名・ジャンル・公開状態・処理完了・/shorts/ のURL別チャンネルへの誤投稿
Shortsの表紙。Opus 5.5は前のOpus 5より約4割安く動く
表紙
FACTの幕。マイナス40%と、コーディングの最高スコアの棒グラフ
FACT
WHYの幕。入出力2割減・キャッシュは6割減と、使う量も減る、の2つの箱
WHY
MEANINGの幕。捏造1つで不合格の社内テストで18本中16本合格
MEANING
YOUの幕。Opus 5.5に乗り換える? の問いと2択
YOU

既存の手順にあった落とし穴

06

品質チェックの全体像(4層)

検査は4層に分かれています。下の層ほど機械的で速く、上の層ほど意味を読みます。 どの層も、何かを確実に捕まえ、何かを確実に素通りさせます。素通りの側を知っておくことが、層を重ねる理由です。

L4
別エージェントの審査9回・観点ごとに別の担当
捕まえる条件の違う数字の接続、内訳の脱落、書いていない含意、1行目の弱さ、スマホでの読めなさ
素通り・弱点採点が担当ごとにぶれる。点数は直しても上がり続けない。書き出し前の古いファイルを見ることがある
L3
媒体の機械検査音・絵・座標・読み
捕まえる音圧・音割れ・無音、黒フレーム、静止、安全域、要素の重なり、出典の帯への食い込み、誤読
素通り文の意味。1字だけの改行や、単語の途中の改行(座標は正しいので)
L2
数値の照合画面・本文の数字 ⊂ 台帳の値
捕まえる台帳にない数字(記憶で書いた数字、打ち間違い)
素通り正しい値を別の文脈で使うこと(「出力が40%速い」)
L1
引用の照合台帳の一文 ⊂ 保存した原文
捕まえる存在しない引用(捏造した根拠)
素通り本物の一文を読み違えること

機械検査の基準と、最終版の実測値

X用の動画(32.5秒)基準 / 実測
画面が止まっていないか(0.5秒差のフレーム差分)静止 ≤ 5%0 / 960
真っ黒なフレームがないか平均輝度 < 8 が 0枚0枚
音が小さすぎ / 割れていないか-14±1 LUFS / TP ≤ -0.5-14.1 / -2.8
中身が出典の帯に食い込んでいないか余白 ≥ 24px最小 71px
画面の数字が台帳にあるか台帳外 0件41件 / 0件
書き出したファイルが壊れていないか全フレームを復号エラーなし
Shorts(44.8秒)— 1つでも外れたら投稿しない基準 / 実測
長すぎないか≤ 60秒44.77秒
音圧 / ピーク-14±1.5 LUFS / ≤ -1.0 dBTP-15.03 / -1.82
冒頭が暗すぎないか(0.5秒時点)輝度 ≥ 20/25521.5
画面が止まっていないか最長の静止 < 3秒 / 比率 < 1/31.0秒 / 13%
字幕がUIに隠れないか・重ならないかy ≤ 1560・矩形が交差しない223点 通過
読み上げの誤読誤読の型に当たらない7行 0件
説明文の数字が台帳にあるか台帳外 0件25件 / 0件
07

別エージェントの審査で見つかったもの

審査は観点ごとに別のエージェントに分けました。1体に全部を見させると、平均的な答えしか返ってこないからです。 指示は「良い点は書かず、直す点だけ」。そして事実の担当(C3)が落としたら、他が満点でも出さない

X投稿文の審査(フック・形式40 + 意外性・戦略40 + 事実20)結果
1
3案を同時に採点:A 要点の羅列 53点 / B 捏造テスト 75点 / C 要点+まとめ 48点
→ 全案が不合格。Bは点数が一番高いのに、事実で不合格(「他の2モデルは捏造した」と読める)。動画にも中3件・低4件
2
Bの切り口で改稿した案D:フック・形式 31/40 / 意外性・戦略 31/40
→ 事実はまだ不合格(中3件・低3件)。直したことで入った誤りもあった
3
案F(加重290字を272字まで削った版):事実のみ再審査
→ 投稿文・X動画・Shorts台本のすべてで、中程度以上が0件。ここで公開。案Fはフック・形式と意外性・戦略の再採点をしていない
4
公開後の人間の指摘:ニッチな話題から入っていて、読まれていない。「発表された、こんなに良くなった」から入って、詳細はそのあとに
→ 1行目を「Claude Opus 5.5 が発表された。前の Opus 5 から大きく良くなっている」にし、要点を箇条書きで続ける形に書き直して再投稿。YouTubeの題名と説明文、この記事の題も同じ考えで直した。動画はそのまま

審査の点数が一番高かったのは、1行目で一番意外な細部(捏造テスト)を出す案でした。 でも読者は、まず何の話で、全体としてどう変わったのかを知りたい。細部の意外さは、全体像を言った後でないと効きません。 点数の高い案ほど入口が細部に寄っていたので、入口だけは点数で決めないことにしました。

見つかった「中」の6件を、直す前と後で並べます。

① 表紙から条件が落ちた(X動画)
Fable 5.1 並みの性能で、Opus 5 より約4割安い
大半の作業で Fable 5.1 並み、Opus 5 より約4割安く動く
原文は at the level of Claude Fable 5.1 on most work。また「安い」だけだと単価の話に読めるが、単価の下げ幅は20%。
② 差が一番大きいベンチマークだけを見せた(X動画)
見出し「Fable 5.1 並み」の下に、Terminal-Bench 4.0 だけ(66.4 / 55.8 / 52.3、目盛り0〜75%)
HLE(67.7 / 65.6 / 63.6)を並べた2本立て・目盛り0〜100%・「Fable 5.1 との差は、実際に使うとスコアの差より小さい」の但し書き
見出しは「並み」なのに、棒は約10ポイントの大差に見えていた。原文にも the gap … is narrower than these scores suggest とある。
③ 社内テストの条件が落ちた(X動画・投稿文)
捏造が1つでもあれば不合格のレポート課題で、18本中16本合格
Anthropic の社内テスト:決算発表が見つけにくいWebの複製だけで業績レポートを作成。effort の設定を変えて計18本
原文は In one internal testAcross different effort settingswhere the earnings release was hard to locate
④ 書いていない含意が付いた(投稿文・Shorts)
捏造が1つでもあれば不合格…Fable 5.1 も Opus 5 も1本も通らず
…どれも通らなかった。Anthropic のある社内テストで、落ちた理由は書かれていない
原文は基準を where any invented figure or quote would have failed と書くだけで、2モデルが落ちた理由は書いていない。並べると「捏造した」と読める。
⑤ 内訳の一部が抜けた(X動画・Shorts)— 前の修正で入った誤り
単価 −20% + 使うトークンも減る = 約4割安い
単価の値下げ + 使うトークンの減少 = 約4割安い(表にキャッシュ読み取り −60% を戻す)
1回目の審査で「−20%と約4割の関係が分からない」と言われて式を足した。そのとき画面を空けるためにキャッシュの行を外したので、残りを全部トークン削減の効果に見せてしまった。原文は Cache reads … 60% less
⑥ 条件の違う数字を「なのに」でつないだ(Shorts)
(費用が約4割減る試算)それなのに、コーディングの評価は 52.3% から 66.4% に上がった
コーディングの評価でも、最高スコアは 52.3% から 66.4% に上がった
「約4割」は既定の設定(at default settings)での試算、66.4% は xhigh effort での最高スコア。安くした設定で高得点が出たように読める。

「低」の7件は、原文の中の食い違い(別の箇所で「数千のシナリオ」と「2,000近いシナリオ」)、棒グラフの目盛り、発表日が米国時間であること、「取り返しのつかない」→「元に戻しにくい」、「利用上限」→「5時間枠」、表紙に比較の相手がないこと、注記の主語でした。

6件は3つの型に分かれる

TYPE 1
条件の違う数字を
つなぐ

既定の設定の数字と、最高設定の数字を「なのに」で結ぶ。どちらの数字も台帳にあるので、照合は通る。(⑥)

TYPE 2
内訳を
一部だけ書く

「−20%+α=4割」のように、抜けた項目の分を残りに押しつける。値は全部正しい。(⑤②)

TYPE 3
書いていない含意を
付ける

本物の二文を並べただけで、原文にない因果が生まれる。削るのではなく「書かれていない」と書き足して止める。(④③①)

どれも引用の照合(L1)と数値の照合(L2)を通った後に見つかりました。 照合は「その文字列がどこかにあるか」を見るもので、「その文が主張を支えているか」は見ていません。 後者は、条件を付けて読み直す別の担当にしか見つけられませんでした。

08

画面の崩れも、別の目で見つかった

事実とは別に、見た目の欠陥も同じやり方で見つけています。担当が見つけたもの、自分でフレームを見て見つけたもの、検査が見つけたものの3系統です。

欠陥見つけたのは直し方
注記の字がスマホの360px表示で約5pxフック・形式の担当25→28pxにし、要点は見出しの大きさへ移した
表紙で、主張より型番の字が大きいフック・形式の担当型番 178→132px、主張 74→92px
全部の文字が見えている時間が、どの場面も3秒未満フック・形式の担当文字が出る遅れを0.6倍、動きの長さを約0.7倍に。効果音の時刻も同じ式で直した
料金の注記が、下の出典の帯に重なった自分でフレームを見て行の高さを詰めて注記を式の行にまとめ、全場面の余白を測る検査を追加(最小71px)
Shortsの見出しで「表」の1字だけが3行目へ自分でフレームを見て「米国9月22日に発表」に短縮
「18本中/16本合格」が途中で割れる自分でフレームを見て改行位置を指定して3行に
小さな箱の中で「キャッシ/ュ−60%」自分でフレームを見て「入出力2割減/キャッシュは6割減」に言い換え
サムネの見出しと数字が重なるサムネの重なり検査字の大きさと数字の位置を調整(4回目で通過)
捏造テストの場面が19.4秒止まって見える本編の担当読み上げを短くして15.9秒に

YouTube側の審査は、点数で投稿を止めない運用です(点数は直しても上がり続けないことを、以前の回で実測しています)。 機械で測る必須項目が全部通れば出し、担当の指摘は「まだ直せる所のリスト」として使いました。 サムネは22/40、本編は25/40からの修正です。

09

所要時間

審査と修正(X用 7回・Shorts 5回の書き出し、審査 9回) 01:43一次情報 01:53根拠台帳 01:59動画の初版 02:41X 投稿 02:45YouTube 公開

時刻はファイルの作成時刻・投稿IDの時刻・YouTube APIの公開時刻から取った。Shortsの作業は「投稿して」の指示の後に始めている。

58分一次情報の取得から
X投稿まで
7 + 5全編の書き出し回数
(X用 + Shorts)
$0.215X APIの従量課金
(投稿スクリプトの見積り)

書き出しは1回あたり、X用の975枚が約1分40秒〜2分40秒、Shortsの1,343枚が約1分〜1分半です(PCの負荷で変わります)。 時間の大半は書き出しではなく、審査を待って直す往復に使っています。 ただ、その往復で見つかった6件は、どれも投稿した後では取り消せない種類の誤りでした。

10

自分の題材でやるなら

  1. 題名と1行目は、全体像から入る。「何が出て、全体としてどう良くなったか」を先に言い、個別の検証や意外な数字は後ろに回す。細部から入った最初の投稿は読まれず、書き直して再投稿した。
  2. 一次情報をファイルに保存してから書く。記憶や検索結果の要約から書かない。新しい発表ほど、エージェントの知識は古い。
  3. 使う事実を台帳にする。「日本語の主張・値・原文の一文・読み方の注意」を1件ずつ。原文に文字列が無いものは登録できない形にする。
  4. 画面と本文の数字を、台帳と機械で照合する。台帳外の数字が1つでもあれば止める。
  5. 照合器に誤りを混ぜて、何を見逃すかを先に知る。今回は6つ中1つを見逃した。見逃す種類が、次の層の仕事になる。
  6. 事実の担当を別に立て、3つの型を渡す。条件の違う数字の接続・内訳の脱落・書いていない含意。「引用が本物か」ではなく「引用が主張を支えているか」を読ませる。
  7. 媒体の検査は機械で先に潰す。音圧・無音・黒・静止・安全域・重なり・余白・誤読。担当には、機械で測れないものだけを見せる。
  8. 書き出したフレームは自分でも見る。1字だけの改行や単語の途中の改行は、座標の検査を通る。
  9. 点数では止めず、事実の必須項目で止める。点数は担当ごとにぶれる。事実の中程度以上が0件になるまでは出さない。
  10. 公開後は、公開ページの側で確かめる。投稿先の名前、リンクの転送先、ジャンルと公開状態。スクリプトの「完了」表示は証拠にならない。
付録 A

検査のコード(抜粋)

台帳の照合

def norm(s):
    s = s.replace("’", "'").replace("“", '"').replace("”", '"')
    return re.sub(r"\s+", " ", s).strip()

def quote_found(quote, source_text):          # L1: 引用が原文にあるか
    return norm(quote) in norm(source_text)

NUM = re.compile(r"\$?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?(?:%|割|時間|本|万)?")
def numbers_in(text):                          # L2: 画面・本文の数字を全部抜く
    for p in NAME_PATTERNS:                    # 「Opus 5.5」などの版数は先に落とす
        text = re.sub(p, " ", text)
    return [m.group(0) for m in NUM.finditer(text)]

# 自己テスト:捏造した引用を通さないこと
assert quote_found("costs 40% less to run", text)
assert not quote_found("costs 50% less to run", text)

出典の帯への食い込み(各場面を、文字が出そろった時刻で止めて測る)

for (const sc of document.querySelectorAll('.sc')) {
  window.__setTime(+sc.dataset.e - 0.4);
  let maxBottom = 0;
  for (const el of sc.querySelectorAll('*')) {
    const r = el.getBoundingClientRect();
    if (r.width && r.height) maxBottom = Math.max(maxBottom, r.bottom);
  }
  // 出典の帯の上端との差が 24px 未満なら失敗
}

BGMの和音を場面の切れ目に合わせる

BPM, CUTS = 120.0, [3.0, 7.5, 12.5, 16.5, 20.5, 25.0, 29.5]   # 全部 0.5秒の倍数
CHORDS = [(0.0, 3.0, "Gmaj7"), (3.0, 7.5, "D"), (7.5, 10.0, "Bm7"), (10.0, 12.5, "Gmaj7"), ...]
# パッドは絶対秒の立ち上がり/減衰で、次の和音と必ず重ねる(切れ目で音量の谷を作らない)
# 効果音は、画面の要素が出る時刻と同じ式:at = scene_start + data_d
付録 B

使ったもの

用途もの
エージェントClaude Code(モデルは発表されたばかりの Claude Opus 5.5 自身)
一次情報Anthropic「Introducing Claude Opus 5.5」、製品ページ、開発者ドキュメント(移行ガイド)
画面HTML/CSS/SVG、Playwright(撮影)、ffmpeg(結合・検査)
X用:numpy/scipy で合成したBGM(外部素材なし)。Shorts:VOICEVOX(ずんだもん)と、ピアノ素材集「君の音。」vol.3 より「行こう」
検査自作の照合・検査スクリプト、別エージェント(観点別に9回)
公開X API、YouTube Data API、oEmbed

この記事の数字は、当日の検査ログ・ファイルの時刻・投稿IDから取っています。動画内の Claude Opus 5.5 に関する数字は、すべて Anthropic の公式発表(2026年9月22日・米国時間)によるものです。