<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>週末起業ラボ</title>
	<atom:link href="https://shumatsu-lab.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://shumatsu-lab.com</link>
	<description>本業の隣で、もう一つのキャリアを</description>
	<lastBuildDate>Tue, 11 Aug 2026 14:42:01 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://shumatsu-lab.com/wp-content/uploads/2026/02/cropped-IMG_2742-32x32.jpeg</url>
	<title>週末起業ラボ</title>
	<link>https://shumatsu-lab.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">252581404</site>	<item>
		<title>5時間制限の対処法｜Genspark・Claudeの実体験</title>
		<link>https://shumatsu-lab.com/ai-5hour-rate-limit-workaround/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 22:26:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Genspark]]></category>
		<category><![CDATA[副業]]></category>
		<category><![CDATA[生成AI]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1901</guid>

					<description><![CDATA[AIサービスを使っている途中で「制限に達しました」と出て手が止まった経験があるなら、この記事はそのための対処メモだ。SE歴20年、平日の朝晩と週末に副業でブログ運営と記事生成パイプラインの開発をしている筆者は、2026年 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AIサービスを使っている途中で「制限に達しました」と出て手が止まった経験があるなら、この記事はそのための対処メモだ。SE歴20年、平日の朝晩と週末に副業でブログ運営と記事生成パイプラインの開発をしている筆者は、2026年8月2日にもこれで作業を中断した。結論から書くと、当たってしまったら待つしかない。ただし待ち方と、当たる頻度の下げ方は自分で選べる。制限に当たった直後にやること、「無制限」表記のサービスでも制限がある理由、頻度を下げる運用の順にまとめる。</p>


<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">4分 MIN READ · UPDATED 2026-08-02</span>
      </div>
  <ol>
          <li>5時間ごとの制限に当たったら、待つ以外の正攻法はない。</li>
          <li>やることは「作業状態を残して中断する」と「軽いモデルに切り替える」の2つ。</li>
          <li>サービスを乗り換えても、この種の制限とは付き合い続けることになる。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — 運用中      </span>
          <span class="slb-badge">
        TOOL — Claude      </span>
          <span class="slb-badge">
        COST — 0円      </span>
      </div>
  </div>
    



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">当たった瞬間は正直イラッとする。ただ慣れてくると「ここで一回止まれ」という合図として使えるようになった。</p>
</div></div>



<h2 class="wp-block-heading">制限に当たったときにまずやること</h2>



<h3 class="wp-block-heading">待つ以外の正攻法はない</h3>



<p class="wp-block-paragraph">セッション単位の制限は、リセットの時刻が来るまで枠が戻らない。プランを上げる、追加の利用枠を買う、といった正規の選択肢はあるが、今この瞬間に枠を復活させる手段はない。</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="544" height="268" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/claude-usage-5h-limit.webp" alt="Claude Codeの使用状況表示。コンテキストウィンドウ874.7k/1.0M（87%）、プラン使用制限 Max (5x) の5時間制限が91%で1時間11分後にリセット、週間・全モデル63%、週次・Fable 31%と表示されている" class="wp-image-2068" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/claude-usage-5h-limit.webp 544w, https://shumatsu-lab.com/wp-content/uploads/2026/08/claude-usage-5h-limit-300x148.webp 300w" sizes="(max-width: 544px) 100vw, 544px" /><figcaption class="wp-element-caption">使用状況の表示。5時間制限が91%まで来ていて、次のリセットまで1時間11分と分かる</figcaption></figure>



<p class="wp-block-paragraph">だから最初にやることは、抜け道を探すことではなく、止まる準備をすることになる。</p>


<div data-slb-context="weekend"><br />
アカウントを使い回すような「回避策」は各サービスの利用規約に触れる可能性がある。この記事では扱わない。制限は仕様として受け取り、運用側で吸収する前提で書いている。<br />
</div>



<h3 class="wp-block-heading">中断する前に「どこまで進んだか」を残す</h3>



<p class="wp-block-paragraph">2026年8月2日の話をそのまま書く。記事執筆とパイプライン開発を並行で進めていた途中で上限が近づいた。そこでいったん状態を保存して中断し、時間をおいてから続きを再開した。</p>



<p class="wp-block-paragraph">このとき効いたのは、止まる直前に「終わったこと」「途中のもの」「次にやること」を書き出したことだった。数時間空くと、頭の中にだけ置いていた判断はきれいに消える。再開したとき、消えた文脈を思い出す時間のほうが、待たされた時間より痛い。</p>



<div class="wp-block-cocoon-blocks-timeline timeline-box cf block-box not-nested-style cocoon-block-timeline"><div class="timeline-title">制限が近づいたときの中断と再開</div><ul class="timeline">
<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP1</div><div class="timeline-item-content cf"><div class="timeline-item-title">残り時間を確認する</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">使用状況の画面で、セッションのリセットまであとどれくらいかを見る。Claudeの場合はSettings内のUsageに、現在のセッション状況と次のリセット時刻が表示される。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP2</div><div class="timeline-item-content cf"><div class="timeline-item-title">作業状態を書き出す</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">終わったこと・途中のもの・次にやることの3点をテキストに残す。ファイル名や行番号まで書いておくと、再開時に探し直さずに済む。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP3</div><div class="timeline-item-content cf"><div class="timeline-item-title">重い処理を投げない</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">残りわずかな状態で長文生成や広範囲の書き換えを始めると、途中で切れて一番もったいない使い方になる。残量が少ないと分かった時点で、着手する作業の大きさを下げる。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP4</div><div class="timeline-item-content cf"><div class="timeline-item-title">リセット後にメモから再開する</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">STEP2で書いたメモを最初に読ませて文脈を戻す。ゼロから経緯を説明し直すより早いし、説明のために消費する枠も減る。</p>
</div></div></li>
</ul></div>



<h3 class="wp-block-heading">軽いモデルに切り替えて手を止めない</h3>



<p class="wp-block-paragraph">制限は「そのサービスが全部使えなくなる」とは限らない。プランやサービスによっては、上位モデルの枠を使い切っても、軽いモデルなら動く場合がある。</p>



<p class="wp-block-paragraph">筆者はこの状況で、判断の重い作業を後回しにして、確認・整形・調査のような軽い作業に切り替えている。テキストの整形、ログの読み合わせ、次にやることの洗い出し。この手の作業は待ち時間の消化にちょうどいい。</p>



<h2 class="wp-block-heading">「無制限」と書いてあるのに制限があるのはなぜか</h2>



<h3 class="wp-block-heading">月間の上限とセッションの上限は別物</h3>



<p class="wp-block-paragraph">「無制限」という表記が指しているのは、多くの場合「月間のクォータがない」「クレジットを消費しない」という意味だ。一方で、短時間にどれだけ集中して使えるかは別の軸で管理されている。この2つを同じものだと思っていると、「無制限のはずなのに止まった」という体験になる。</p>



<p class="wp-block-paragraph">セッション単位の制限は、負荷を平準化するための仕組みとして置かれている。使う側から見ると理不尽だが、設計上は自然な話でもある。</p>



<h3 class="wp-block-heading">「無制限」表記でも制限はある｜Gensparkのヘルプで見つけた（2026年2月〜4月の話）</h3>



<p class="wp-block-paragraph">筆者が契約していた期間のGenspark Plusは、AIチャットが「Unlimited（無制限）」と表記されていた。ところが公式ヘルプには、5時間ごとにリセットされるセッションベースのレート制限があると明記されていた。月間の上限はないが、短時間に集中して大量に使うと一時的に制限がかかる、という構造だ。</p>



<p class="wp-block-paragraph">筆者は2026年4月9日にPlusを解約しているので、それ以降の仕様は確認していない。現時点の内容は<a rel="noopener" href="https://www.genspark.ai/helpcenter/membership-plans" target="_blank">Genspark公式のプラン説明</a>を直接見てほしい。クレジット消費や文脈の忘れ方など、契約期間中に気になった点は<a href="https://shumatsu-lab.com/genspark-plus-review/">Plus有料版のデメリット5つ</a>にまとめている。</p>



<h3 class="wp-block-heading">現在の仕様は公式ヘルプで確認する</h3>



<p class="wp-block-paragraph">各サービスの制限は変わる。回数・時間・リセットの単位を他人のブログの数字で覚えると、いつか外す。確認先は公式ヘルプに絞ったほうがいい。Claudeなら<a rel="noopener" href="https://support.claude.com/en/collections/18031876-usage-and-limits" target="_blank">Claude公式のUsage and limits</a>と<a rel="noopener" href="https://support.claude.com/en/articles/14552983-models-usage-and-limits-in-claude-code" target="_blank">Claude Codeのモデル・利用制限の説明</a>、ChatGPTなら<a rel="noopener" href="https://help.openai.com/en/articles/9275245-chatgpt-free-tier-faq" target="_blank">OpenAI公式のプラン別モデル・上限の説明</a>、Geminiなら<a rel="noopener" href="https://support.google.com/gemini/answer/16275805?hl=ja-JP" target="_blank">Google公式のGeminiアプリ使用量上限の説明</a>。ここに載っていない数字は、誰かの推測だと思ったほうが安全だ。</p>



<p class="wp-block-paragraph">実際に読み比べると、間隔がサービスごとに違うことが分かる。2026年8月時点で、Geminiは公式ヘルプに「使用量上限は、週ごとの上限に達するまで5時間ごとにリセットされます」と書かれていて、5時間の枠と週の枠が二層になっている。一方ChatGPTは3時間単位の説明が出てくる。同じ「セッション単位の制限」でも、5時間と決まっているわけではない。「AIの5時間制限」という覚え方をした時点で、もう半分外している。</p>



<p class="wp-block-paragraph">なお2026年8月時点のClaudeについては、公式ヘルプの<a rel="noopener" href="https://support.claude.com/en/articles/9797557-usage-limit-best-practices" target="_blank">利用上限とうまく付き合うためのガイド</a>に、有料プランで5時間のセッション上限が使われることと、その残量を設定画面で確認できることが書かれている。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">「無制限」の3文字だけ見て契約すると、どこかで裏切られた気分になる。読むべきは料金表ではなくヘルプのほう。</p>
</div></div>



<h2 class="wp-block-heading">制限に当たる頻度を下げる3つの運用</h2>



<h3 class="wp-block-heading">判断の重さでモデルを割り振る</h3>



<p class="wp-block-paragraph">一番効いたのはこれだった。高度な判断が要らない作業は軽いモデル（SonnetやHaiku）に振り、重いモデル（Opus）は本当に必要な場面だけに使う。</p>



<p class="wp-block-paragraph">線引きは難しくない。「間違えたときに自分で気づけるか」で分ける。整形や機械的な置換は、間違えれば見た瞬間に分かるので軽いモデルでいい。設計判断や原因の切り分けは、間違いに気づけないまま先へ進んでしまうので重いモデルに任せる。どの作業をどの層に置くか、コスト側から見た効果も含めた振り分けは<a href="https://shumatsu-lab.com/claude-code-cost-reduction-3tier-stack/">Opus・Sonnet・Haikuの振り分け実測</a>に整理してある。</p>



<h3 class="wp-block-heading">会話が長くなる前に圧縮する</h3>



<p class="wp-block-paragraph">同じ会話を延々と続けると、過去のやり取りを毎回読み直すぶんの消費が積み上がる。だから会話が長くなりきる前に、いったん要点だけに圧縮する。</p>



<p class="wp-block-paragraph">区切りのいいところで「ここまでの結論」を作って、そこから先を新しい文脈として進める。長さが限界に近づいてから慌てて畳むより、結果的に消費が減る。</p>



<h3 class="wp-block-heading">中断が起きる前提で記録を残す</h3>



<p class="wp-block-paragraph">これは対処というより設計の話だ。制限に当たるかどうかを運任せにせず、「いつ止まっても再開できる」状態を常に保っておく。</p>



<p class="wp-block-paragraph">筆者は作業ログと判断の記録を残す仕組みを別に用意していて、中断してもそこを読み直せば戻れるようにしている。セッションが切れても文脈を持ち越すための土台を作った話は<a href="https://shumatsu-lab.com/claude-code-obsidian-second-brain/">セッションを跨いで文脈を残す仕組み</a>に書いた。制限対策として始めたわけではないが、結果的に一番効いている。</p>



<h2 class="wp-block-heading">サービスを乗り換えても制限は付いてくる</h2>



<h3 class="wp-block-heading">Gensparkをやめてもなくならなかった</h3>



<p class="wp-block-paragraph">筆者は現在Claudeを主に使っている。そして同じ種類の5時間単位の制限に、今も当たっている。</p>



<p class="wp-block-paragraph">「無制限のチャット枠を失ったから当たるようになった」という単純な話ではない。使い方そのものが重くなったことのほうが大きい。解約の前後で何が変わって何が変わらなかったかは<a href="https://shumatsu-lab.com/genspark-cancel-claude-migration/">2ヶ月使って解約した判断の経緯</a>にまとめた。</p>



<p class="wp-block-paragraph">言いたいのは1点だけだ。制限を理由に乗り換えても、乗り換え先にも似た仕組みがある。逃げ切れる前提で選ぶと、また同じところで止まる。</p>



<h3 class="wp-block-heading">制限が「どのモデルを使うか」を選ばせた</h3>



<p class="wp-block-paragraph">不便なのは間違いない。ただ、制限がなかった頃を思い返すと、何も考えずに一番重いモデルへ投げていた。判断が要らない作業まで含めて全部だ。</p>



<p class="wp-block-paragraph">制限に当たるようになってから、作業ごとに「これはどの重さが要るのか」を先に考えるようになった。副産物ではあるが、この習慣は制限とは無関係に効いている。指示を出す前に作業を仕分けるので、そもそも手戻りが減る。</p>



<h3 class="wp-block-heading">制限を前提に作業を設計する</h3>



<p class="wp-block-paragraph">まとまった時間が取れる人ばかりではない。筆者も本業の合間に動かしているので、作業は細切れになる。</p>



<p class="wp-block-paragraph">だとすれば、「一気に終わらせる前提」で組んだ作業のほうが最初から無理がある。1回の作業を、途中で止めても壊れない単位に切っておく。制限はその切り方を強制してくるので、付き合い方さえ決めてしまえば、実害はかなり小さくなる。</p>



<h2 class="wp-block-heading">よくある質問（FAQ）</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">5時間制限に当たったら、すぐ使えるようにする方法はありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">セッションのリセットを待つのが基本です。プランの変更や追加の利用枠の購入といった正規の手段が用意されているサービスもあるので、急ぎのときはそちらを検討してください。アカウントの使い回しのような回避は利用規約に触れる可能性があるため、この記事では扱っていません。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">「無制限」と書いてあるプランなのに制限がかかるのはなぜですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">「無制限」が指しているのは月間のクォータやクレジット消費がないことで、短時間の集中利用まで無制限という意味とは限らないためです。多くのサービスは負荷を平準化するためにセッション単位の制限を併用しています。契約前に料金表だけでなく公式ヘルプの利用制限の項目を読むと、この食い違いを避けられます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Gensparkの5時間制限は今もありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">筆者は2026年4月9日にGenspark Plusを解約しているため、それ以降の仕様は確認していません。契約していた期間については、公式ヘルプに5時間ごとにリセットされるセッションベースのレート制限がある旨が明記されていました。現在の内容はGenspark公式のプラン説明ページで直接確認してください。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">制限に当たる回数を減らすには、何から手を付ければいいですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">モデルの振り分けからです。判断が要らない作業を軽いモデルに落とすだけで、体感はかなり変わります。次に会話を長くしすぎないこと、最後に中断前提の記録を残すこと。この3つは順番に効くので、まず1つ目だけ決めてしまうのが現実的です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">制限中の時間はどう使うのが効率的ですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">AIを使わずに進む工程に回すのが一番無駄がありません。素材集め、スクリーンショットの整理、公開前の目視チェック、次にやることの棚卸しなどです。再開直後に読ませるためのメモを書いておくのも、この時間の使い道として有効です。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">要点は3つ。</p>



<p class="wp-block-paragraph">1つ目、当たってしまったら待つしかない。ただし止まる前に「終わったこと・途中のもの・次にやること」を残しておけば、再開のコストは大きく下がる。</p>



<p class="wp-block-paragraph">2つ目、「無制限」表記と実際のセッション制限は別の話。数字は変わるので、他人のブログではなく各サービスの公式ヘルプで確認する。</p>



<p class="wp-block-paragraph">3つ目、乗り換えても制限は付いてくる。筆者はGenspark Plusを解約したあとも、Claudeで同じ種類の制限に当たり続けている。逃げるより、当たる頻度を下げる運用を持つほうが早い。</p>



<p class="wp-block-paragraph">次の一手としては、モデルの振り分けを決めるところから始めるのが手っ取り早い。「間違えたときに自分で気づけるか」で線を引けば、今日から仕分けられる。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">制限は敵ではなく、作業の区切りを外から入れてくれる仕組みだと思うことにした。そう捉え直してから、止まったときのストレスが減った。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1901</post-id>	</item>
		<item>
		<title>Genspark解約｜2ヶ月で困ったのは画像生成だけ</title>
		<link>https://shumatsu-lab.com/genspark-cancel-claude-migration/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 08:42:19 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AI画像生成]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Genspark]]></category>
		<category><![CDATA[Pillow]]></category>
		<category><![CDATA[サブスク]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1885</guid>

					<description><![CDATA[Genspark Plusを2026年2月10日に契約して、4月9日に解約した。約2ヶ月だ。 解約する前は「チャットが制限つきになったら困るだろうな」と身構えていた。実際に効いたのは、まったく別のところだった。 SE歴2 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Genspark Plusを2026年2月10日に契約して、4月9日に解約した。約2ヶ月だ。</p>


<p class="wp-block-paragraph">解約する前は「チャットが制限つきになったら困るだろうな」と身構えていた。実際に効いたのは、まったく別のところだった。</p>


<p class="wp-block-paragraph">SE歴20年、平日の朝晩と週末のすきま時間で副業ブログを回している筆者が、解約から4ヶ月近く経った時点で振り返る。結論から書くと、記事作成は何も変わらなかった。はっきり痛かったのは画像生成が消えたことだけで、その代わりに選んだのは別のAIツールではなくPythonのコードだった。</p>

<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">7 MIN READ · UPDATED 2026-08-02</span>
      </div>
  <ol>
          <li>Genspark Plusは2026年2月10日から4月9日まで約2ヶ月で解約。理由はClaudeで用が足りてしまったから。</li>
          <li>記事作成フローは解約後も変化なし。チャットが制限つきになった影響はあるが、主因はClaude Codeの利用が増えたことだ。</li>
          <li>唯一の実害は画像生成。代替は別のAIではなくPillowでの合成に切り替えた。文字崩れは解決したが、もう1つの動機だったAdSense否認の仮説は移行後も検証できていない。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — 困ったのは画像生成だけ      </span>
          <span class="slb-badge">
        TOOL — Genspark Plus → Claude      </span>
          <span class="slb-badge">
        COST — 代替の追加費用0円      </span>
      </div>
  </div>
    


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">解約するとき「何が使えなくなるか」をリストアップするけど、そのリストは大体外れる。今回もそうだった。</p>
</div></div>


<h2 class="wp-block-heading">2ヶ月で解約した｜きっかけはClaudeで足りてしまったこと</h2>


<h3 class="wp-block-heading">契約は2026年2月10日から4月9日まで</h3>


<p class="wp-block-paragraph">Genspark Plusを契約したのは2026年2月10日。解約したのが4月9日。ちょうど2ヶ月だ。</p>


<p class="wp-block-paragraph">契約したときの目的ははっきりしていた。複数のトップモデルを1か所で切り替えたかったことと、画像生成を回数を気にせず使いたかったこと。この2つだった。契約中に何ができて、クレジットがどう減っていくかは、使っている最中に<a href="https://shumatsu-lab.com/genspark-plus-review/">Plus契約中に測ったクレジット消費の実態</a>としてまとめてある。この記事はその続きにあたる。</p>


<p class="wp-block-paragraph">なお本稿で触れるGensparkの仕様・料金は、すべて筆者が契約していた2026年2月から4月までの時点のものだ。解約後は契約していないので、現在どうなっているかは確認していない。最新の料金は<a rel="noopener" href="https://www.genspark.ai/pricing" target="_blank">Genspark公式の料金ページ</a>で確認してほしい。</p>


<h3 class="wp-block-heading">解約理由は不満ではなく「使い方が変わった」</h3>


<p class="wp-block-paragraph">誤解のないように書いておくと、解約はGensparkに不満があったからではない。</p>


<p class="wp-block-paragraph">理由は一つで、Claudeで用が足りるようになったからだ。契約していた頃、筆者がGensparkで一番使っていたのは、AIチャット経由でClaude Opusに記事の骨格を作らせる作業だった。つまりGensparkは「Opusへの入口」として使っていた。</p>


<p class="wp-block-paragraph">そのうちClaudeを直接契約して、Claude Code中心の運用に寄っていった。同じモデルに二重で払っている状態になったところで、片方を切った。それだけの話だ。サービスが悪くなったのではなく、こちらの使い方が変わって噛み合わなくなった。</p>


<h2 class="wp-block-heading">解約して変わったこと・変わらなかったこと</h2>


<p class="wp-block-paragraph">解約前に「これが使えなくなるな」と思っていたことと、実際に効いたことを並べる。</p>


<figure class="wp-block-table"><table><thead><tr><th>使っていた機能</th><th>解約前の予想</th><th>実際どうだったか</th></tr></thead><tbody><tr><td>記事作成（チャット経由のOpus）</td><td>一番影響が出ると思っていた</td><td>何も変わらなかった</td></tr><tr><td>チャット無制限</td><td>多少不便になる程度</td><td>制限に当たるようになった（主因は別）</td></tr><tr><td>エージェント検索</td><td>代わりが見つからないかも</td><td>代替できる認識</td></tr><tr><td>画像生成</td><td>何とかなるだろう</td><td>ここだけが実害だった</td></tr></tbody></table></figure>


<p class="wp-block-paragraph">予想が当たったものは一つもない。</p>


<h3 class="wp-block-heading">記事作成｜何も変わらなかった</h3>


<p class="wp-block-paragraph">ここは解約前から予想がついていた。</p>


<p class="wp-block-paragraph">Genspark経由で使っていたのは結局Claude Opusだったからだ。入口がGensparkからClaudeに変わっただけで、モデルも指示の出し方も同じ。骨格を作らせて、事実確認を人間がやって、整形して投稿する流れは解約の前後で変わっていない。今の作り方そのものは<a href="https://shumatsu-lab.com/ai-blog-writing-claude-workflow/">Claudeで記事を書くときの工程分担</a>に書いたやり方をベースに回している。</p>


<p class="wp-block-paragraph">中身が同じモデルなら、入口が変わっても出力は変わらない。当たり前の話だが、契約しているサービスの数だけ機能があるように錯覚しやすい。実際に何を経由して何を使っているかを一度書き出しておくと、やめたときに何が消えるかが正確に見積もれる。</p>


<h3 class="wp-block-heading">チャット｜無制限がなくなった。ただし主因はGensparkではない</h3>



<p class="wp-block-paragraph">先に書いておくと、解約後も時間単位の利用制限そのものからは逃げられていない。当たったときにどう止めてどう再開しているかは<a href="https://shumatsu-lab.com/ai-5hour-rate-limit-workaround/">制限に当たった時の中断と再開</a>に手順としてまとめた。</p>


<p class="wp-block-paragraph">ここは切り分けて正直に書く。</p>


<p class="wp-block-paragraph">契約時点のGenspark Plusは、AIチャットが無制限だった。解約後は当然その枠がなくなり、Claude側の利用制限の中でやりくりすることになる。実際、Proプランでは足りなくなった。</p>


<p class="wp-block-paragraph">ただしこれを「Genspark解約の代償」と書くのは正確ではない。同じ時期に、筆者はClaude Codeでの作業量を大きく増やしている。記事パイプラインの開発、サイトのスニペット改修、ナレッジベースの構築。ここでのトークン消費が制限に効いた度合いのほうが、チャット分より明らかに大きい。</p>


<p class="wp-block-paragraph">つまり「Gensparkをやめたからチャットが足りなくなった」ではなく、「Claude Codeを使い込むようになったから足りなくなった。Gensparkの無制限枠を失ったのはその一部」が実態だ。2つが同じ時期に起きたので混同しやすいが、原因の主従は逆にしないほうがいい。</p>


<p class="wp-block-paragraph">実際に変わったのは使い方のほうだ。無制限の枠があったころは何でもOpusに投げていたが、今はトークン消費を意識するようになった。高度な判断が要らない作業はSonnetやHaikuに落とし、Opusは本当に必要な場面に取っておく。制限が「モデルを選ぶ」という習慣を作ったとも言える。この辺りは<a href="https://shumatsu-lab.com/claude-code-cost-reduction-3tier-stack/">Opus・Sonnet・Haikuを層で使い分ける方法</a>に実測込みで整理した。</p>


<h3 class="wp-block-heading">エージェント検索｜代替できる認識</h3>


<p class="wp-block-paragraph">指示を投げて自律的に調べて回るタイプの機能は、解約後に「これがないと詰む」と感じた場面がない。</p>


<p class="wp-block-paragraph">Claude側でも同種の調べ物はできるし、そもそも筆者の副業ブログでの使い方は、記事ネタの収集と事実確認が中心だ。この用途なら代替が効くという認識でいる。</p>


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">契約前に「これが目当て」と思っていた機能ほど、なくなっても平気だったりする。逆に空気みたいに使っていた機能が抜けると、いきなり作業が止まる。</p>
</div></div>


<h2 class="wp-block-heading">画像生成だけが実害だった｜代替は別のAIではなかった</h2>


<p class="wp-block-paragraph">解約してはっきり困ったのが画像生成だ。</p>


<h3 class="wp-block-heading">詰まっていたのは「絵」ではなく「文字」</h3>


<p class="wp-block-paragraph">もともと筆者はGensparkの画像生成でブログのアイキャッチを量産していた。ただし当時から満足していたわけではない。英語ですら文字が欠ける、日本語は完全に読めない、製品の数が合わない構図が出る。この問題は解約前から抱えていて、<a href="https://shumatsu-lab.com/ai-eyecatch-image-generator-comparison/">無料AI画像生成5ツールの文字精度比較</a>で他のツールを一通り試した経緯もある。</p>


<figure class="wp-block-image"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/genspark-eyecatch-text-broken-example.jpg" alt="Gensparkの画像生成で「アイキャッチ画像作成失敗」と描かせた4モデルの出力。日本語が崩れて別の漢字になっている"/><figcaption class="wp-element-caption">Gensparkの画像生成で「アイキャッチ画像作成失敗」と描かせた4モデルの出力。日本語が崩れて別の漢字になっている</figcaption></figure>


<p class="wp-block-paragraph">崩れ方の実例が上の画像だ。「アイキャッチ画像作成失敗」と指示して4モデルに同時生成させた結果で、左上は「アイキャッチ」の後が実在しない漢字の羅列に置き換わっている。他の3枚も文字の欠けや重複がある。英語ならまだ読める形になることもあるが、日本語はこの水準だった。</p>


<p class="wp-block-paragraph">そのときの結論は「Ideogramでベース画像を作ってCanvaで日本語を載せる」という2段構えだった。動く方法ではあるが、1枚あたり人の手が入る。記事を書くたびに毎回この工程を踏むのは、本業のあいまに回している運用だと地味に重い。</p>


<p class="wp-block-paragraph">解約をきっかけに前提を疑った。そもそもアイキャッチにAI画像は要るのか。</p>


<p class="wp-block-paragraph">筆者のブログのアイキャッチに必要なのは、記事タイトルとサブタイトル、3ステップのラベル、サイトカラーの背景だ。写真的なリアリティは一度も必要になっていない。だとすればAIに絵を描かせる工程は丸ごと要らない。</p>


<h3 class="wp-block-heading">もう1つの動機と、まだ答え合わせできていないこと</h3>


<p class="wp-block-paragraph">正直に書いておくと、移行を後押しした動機はもう1つあった。AdSenseの審査に何度も落ちていたことだ。</p>


<p class="wp-block-paragraph">否認が続いていた時期に、作業を手伝わせているAIアシスタントから「AI生成画像を使っていることが評価に影響している可能性がある」と指摘された。心当たりがゼロではなかったので、これも背中を押した。</p>


<p class="wp-block-paragraph">ただしここははっきりさせておきたい。この仮説は現時点でも検証できていない。AI画像生成をやめた後も、AdSenseにはまだ合格していない。「AI画像をやめたら通った」という話は書けない。</p>


<p class="wp-block-paragraph">そもそもAdSenseがAI生成画像そのものを禁じているという一次情報を、筆者は確認できていない。否認理由として通知されてきたのは一貫して「有用性の低いコンテンツ」で、画像について名指しされたことはない。だからこれは仮説のまま動いた話であって、対策として他人に勧められるものではない。</p>


<p class="wp-block-paragraph">移行して確実に効果を確認できたのは、前述の文字崩れと日本語描画のほうだけだ。動機は2つあったが、回収できたのは片方しかない。</p>


<h3 class="wp-block-heading">AI画像生成をやめて、Pythonで合成する方式にした</h3>


<p class="wp-block-paragraph">現在このブログのアイキャッチは、AI画像生成APIを一切呼ばずに作っている。</p>


<p class="wp-block-paragraph">やっていることは単純だ。サイトごとに用意したテンプレートPNGに、<a rel="noopener" href="https://pillow.readthedocs.io/en/stable/" target="_blank">Pillow</a>でテキストとアイコンを合成している。日本語フォントは<a rel="noopener" href="https://fonts.google.com/noto/specimen/Noto+Sans+JP" target="_blank">Noto Sans JP</a>のBoldを埋め込み、ステップのアイコンは<a rel="noopener" href="https://fontawesome.com/" target="_blank">Font Awesome</a>のソリッド系フォントから描画する。出力は1200×630pxの<a rel="noopener" href="https://developers.google.com/speed/webp" target="_blank">WebP</a>。</p>

<div class="slb slb-flow">
  <div class="slb-mono slb-flow__head">アイキャッチ生成の流れ</div>
  <div class="slb-flow__steps">
                <div class="slb-flow__step">
        <div class="slb-flow__step-box">
          <div class="slb-mono slb-flow__step-num">STEP 01</div>
          <div class="slb-flow__step-label">記事メタを渡す</div>
                      <div class="slb-mono slb-flow__step-sub">title / subtitle / steps</div>
                  </div>
      </div>
                  <div class="slb-flow__arrow">→</div>
            <div class="slb-flow__step">
        <div class="slb-flow__step-box">
          <div class="slb-mono slb-flow__step-num">STEP 02</div>
          <div class="slb-flow__step-label">テンプレを読む</div>
                      <div class="slb-mono slb-flow__step-sub">サイト別PNG</div>
                  </div>
      </div>
                  <div class="slb-flow__arrow">→</div>
            <div class="slb-flow__step is-current">
        <div class="slb-flow__step-box is-current">
          <div class="slb-mono slb-flow__step-num">STEP 03</div>
          <div class="slb-flow__step-label">文字とアイコンを合成</div>
                      <div class="slb-mono slb-flow__step-sub">Pillow + Noto Sans JP</div>
                  </div>
      </div>
                  <div class="slb-flow__arrow">→</div>
            <div class="slb-flow__step">
        <div class="slb-flow__step-box">
          <div class="slb-mono slb-flow__step-num">STEP 04</div>
          <div class="slb-flow__step-label">WebPで書き出す</div>
                      <div class="slb-mono slb-flow__step-sub">1200&#215;630 / quality 85</div>
                  </div>
      </div>
      </div>
</div>
    


<p class="wp-block-paragraph">コードの中心はこれだけだ。</p>


<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">※ このコードは実際の生成スクリプトから要点だけを抜き出した簡略版です。実際の処理には行送りやセンタリングの調整が入ります。動作は実行環境によって異なる場合があるため、利用前に必ず動作確認をしてください。</p>
</div>


<pre class="wp-block-code"><code>from PIL import Image, ImageDraw, ImageFont

img = Image.open(&quot;templates/shumatsu.png&quot;).convert(&quot;RGB&quot;)
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(&quot;NotoSansJP-Bold.ttf&quot;, 64)

draw.text((80, 180), &quot;Genspark解約の記録&quot;, font=font, fill=(255, 255, 255))
img = img.resize((1200, 630), Image.LANCZOS)
img.save(&quot;eyecatch.webp&quot;, format=&quot;WEBP&quot;, quality=85)</code></pre>


<h3 class="wp-block-heading">何が良くなったか</h3>


<p class="wp-block-paragraph">文字が崩れる問題は、そもそもAIが文字を描かないので消えた。日本語が読めない問題も同じだ。フォントで描いている以上、指定した文字が指定したとおりに出る。ここは狙いどおりに解決した。</p>


<p class="wp-block-paragraph">生成にかかる時間は1秒未満。画像生成APIを呼ばないので追加コストは0円。作り直したくなっても、文字列を変えて再実行するだけで済む。3サイト分のテンプレートを用意してあるので、サイトを跨いでもテイストがぶれない。</p>


<p class="wp-block-paragraph">一方で、もう1つの動機だったAdSenseのほうは動いていない。移行後も審査には通っていないので、あの仮説が当たっていたのかどうかは分からないままだ。移行して確実に取れたのは文字の再現性と生成コストで、審査の結果は別の話として残っている。</p>


<p class="wp-block-paragraph">失ったものもある。写真的な画像やイラスト調のバリエーションはもう作れない。ただ筆者のブログではその必要が発生していないので、今のところ困っていない。</p>


<h2 class="wp-block-heading">多機能サービスを解約するとき、事前には見えていないこと</h2>


<p class="wp-block-paragraph">今回の解約から学んだことを整理する。</p>


<h3 class="wp-block-heading">「よく使う機能」と「代わりがない機能」は一致しない</h3>


<p class="wp-block-paragraph">筆者が一番時間を使っていたのは記事作成だった。だから解約で一番影響が出るのもそこだと思っていた。実際は中身が同じClaude Opusだったので、何も起きなかった。</p>


<p class="wp-block-paragraph">影響が出るのは「使用頻度が高い機能」ではなく「他で置き換えられない機能」だ。この2つは重なるとは限らない。解約を検討するなら、頻度で並べるのではなく「これが消えたとき、代わりに何をやるか即答できるか」で並べたほうがいい。</p>


<h3 class="wp-block-heading">代替候補を同じカテゴリの中だけで探さない</h3>


<p class="wp-block-paragraph">画像生成が使えなくなったとき、最初に考えたのは「じゃあどのAI画像生成ツールに移るか」だった。これが罠だった。</p>


<p class="wp-block-paragraph">同じカテゴリの中で探すと、そのカテゴリが持つ弱点ごと引き継ぐことになる。AI画像生成の日本語文字問題は、2026年3月時点でツールを変えても解決していなかった。カテゴリの外に出て「そもそも画像をAIで作る必要があるか」を疑ったところで、この問題については答えが出た。</p>


<p class="wp-block-paragraph">ただし「答えが出た」と言えるのは文字と日本語描画に限った話だ。同時に抱えていたAdSenseの仮説は、カテゴリの外に出ても解決していない。移行で片づいた課題と、移行しても残った課題は分けて数えたほうがいい。まとめて成功として数えると、次に何を試すべきかが見えなくなる。</p>


<h3 class="wp-block-heading">数字が集中している記事があると、判断が鈍る</h3>


<p class="wp-block-paragraph">これは解約そのものとは別の話だが、書いておく。</p>


<p class="wp-block-paragraph">このブログでは契約中に書いたGensparkのレビュー記事が、検索流入の柱になっている。<a href="https://shumatsu-lab.com/side-job-blog-fifth-month-real-report/">1本の記事に流入が集中していく実態</a>でも数字付きで指摘したとおりだ。</p>


<p class="wp-block-paragraph">すると「解約したら、あの記事が書きにくくなるのでは」という考えがよぎる。だが読者にとって有益なのは、契約中の推しレビューだけではない。やめた記録も同じくらい判断材料になる。検索で「解約」「高い」「課金すべき」と調べている人が求めているのは、むしろそっちだと思う。</p>


<h3 class="wp-block-heading">解約前に自分に聞く4つの問い</h3>


<p class="wp-block-paragraph">今回の経験をチェックリストにした。契約を切るか迷っているときは、これを書き出してから決めている。</p>


<ol class="wp-block-list">
<li>その機能、他のどのツールで代替するか即答できるか</li>


<li>代替候補は「同じカテゴリ」の外にもあるか</li>


<li>使わなくなった理由は、サービス側の変化か自分側の変化か</li>


<li>解約後に困ったとき、再契約のコストはいくらか</li>
</ol>


<p class="wp-block-paragraph">3番目が意外と効く。サービス側が悪くなったのか、自分の使い方が変わっただけなのかを分けておくと、後で再契約を検討するときに迷わない。今回は完全に後者だった。</p>


<h2 class="wp-block-heading">よくある質問（FAQ）</h2>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Genspark Plusは解約すべきですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">使い方によります。筆者が解約したのは、Genspark経由で使っていたモデルをClaudeで直接使うようになり、同じモデルに二重で払う形になったからです。複数モデルの切り替えや画像生成をまとめて使いたい人には、契約していた2026年2月から4月の時点では十分な価値がありました。現在の料金・機能は解約後に確認していないため、判断の前に公式の料金ページで最新情報を確認してください。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">解約して一番困ったのは何ですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">画像生成です。記事作成・チャット・エージェント検索は代替が効きましたが、回数を気にせず画像を作れる環境がなくなったことだけは、解約後にはっきり効きました。ただし最終的にはAI画像生成そのものをやめる方向で解決したので、今は困っていません。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">チャットの制限で困ったのはGenspark解約が原因ですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">主因は別です。同じ時期にClaude Codeでの作業量を大きく増やしており、そちらのトークン消費のほうが制限に効いています。Gensparkの無制限枠を失った影響もありますが、原因としては従です。2つの変化が同時期に起きたので混同しやすい点に注意してください。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">画像生成の代わりに別のAIツールは検討しなかったのですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">検討しました。ただしアイキャッチで筆者が困っていたのは文字の描画精度で、これは2026年3月時点ではツールを変えても解決していませんでした。ツールを乗り換えるのではなく、AIに絵を描かせる工程自体をやめる判断をしています。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">AI生成画像をやめるとAdSenseに通りやすくなりますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">分かりません。筆者はAI生成画像の使用が否認に影響している可能性を指摘されて移行しましたが、移行後もAdSenseには合格していません。AdSenseがAI生成画像そのものを禁じているという一次情報も確認できていないため、対策として推奨できる段階ではありません。あくまで検証途中の仮説として読んでください。</p>
</div></dd></dl></div>


<h2 class="wp-block-heading">まとめ</h2>


<p class="wp-block-paragraph">Genspark Plusを2ヶ月で解約して分かったことは3つだ。</p>


<p class="wp-block-paragraph">1つ目、記事作成は何も変わらなかった。Genspark経由で使っていたのがClaude Opusだったので、入口が変わっただけだった。</p>


<p class="wp-block-paragraph">2つ目、チャットが制限つきになったのは事実だが、主因はGenspark解約ではなくClaude Codeの利用増だ。同時期に起きた変化は切り分けて見ないと、判断を間違える。</p>


<p class="wp-block-paragraph">3つ目、実害は画像生成だけだった。そしてその代替は別のAIツールではなく、Pillowでテンプレートに文字を合成するPythonスクリプトだった。</p>


<p class="wp-block-paragraph">ただしこの3つ目は、まだ半分しか答えが出ていない。移行の動機は「文字が崩れる」ことと「AI生成画像がAdSenseの否認に効いているかもしれない」ことの2つあった。前者は解決した。後者は、やめた後も審査に通っていないので、当たっていたのかどうか分からないままだ。仮説のまま手を動かして、片方だけ回収できた状態と言ったほうが正確だと思う。</p>


<p class="wp-block-paragraph">解約を迷っているなら、値段で決める前に「消えたら代わりに何をやるか」を機能ごとに書き出してみてほしい。書けない機能が1つでもあれば、そこが本当の依存点だ。筆者の場合、それは事前に想像していた機能ではなかった。</p>


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">やめてみないと、自分が何に依存していたかは分からない。2ヶ月分の料金は、それを知る授業料としては安かった。答え合わせが済んでいない部分は、通ったときにまた書く。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1885</post-id>	</item>
		<item>
		<title>副業ブログ5ヶ月目｜PV2倍・API課金ゼロ化した理由</title>
		<link>https://shumatsu-lab.com/side-job-blog-fifth-month-real-report/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Thu, 16 Jul 2026 13:45:51 +0000</pubDate>
				<category><![CDATA[ブログ運営]]></category>
		<category><![CDATA[AdSense]]></category>
		<category><![CDATA[APIコスト]]></category>
		<category><![CDATA[YouTube副業]]></category>
		<category><![CDATA[副業ブログ]]></category>
		<category><![CDATA[運営実績]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1811</guid>

					<description><![CDATA[副業ブログを始めて5ヶ月が経った。今月の一番の変化は、数字が伸びたことじゃない。ClaudeとXのAPI課金が、両方ともゼロになったことだ。 SE歴20年の筆者が平日の朝・夜のすきま時間で運営しているこのブログ、4ヶ月目 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">副業ブログを始めて5ヶ月が経った。今月の一番の変化は、数字が伸びたことじゃない。ClaudeとXのAPI課金が、両方ともゼロになったことだ。</p>



<p class="wp-block-paragraph">SE歴20年の筆者が平日の朝・夜のすきま時間で運営しているこのブログ、4ヶ月目時点で累計出費は87,971円。API課金だけで毎月1,700円前後を払い続けていた。それが今月、工夫ひとつで消えた。もちろん良いことばかりじゃない。AdSenseは今月も落ちた。4回目だ。</p>


<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">4分 MIN READ · UPDATED 2026-07-14</span>
      </div>
  <ol>
          <li>5ヶ月目（6/14〜7/13）の結果、ユーザー数は前月比約1.9倍・検索クリックは約2倍に伸びた。ClaudeとXのAPI課金は工夫でゼロ化し、5ヶ月目の出費は19,693円（前月比1,525円減）。一方でAdSenseは4回目否認、アフィリエイト収益は0円のまま。累計出費107,664円・累計収益22円。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — ユーザー約1.9倍      </span>
          <span class="slb-badge">
        TOOL — GA4/GSC      </span>
          <span class="slb-badge">
        COST — 19,693円      </span>
      </div>
  </div>
    



<h2 class="wp-block-heading">数字が伸びた｜ユーザー約1.9倍・クリック約2倍の中身</h2>



<p class="wp-block-paragraph">このシリーズはずっと4週間サイクルで数字を追ってきた。4ヶ月目が5/14〜6/13、今回の5ヶ月目が6/14〜7/13。この区切りで正確に比べる。</p>



<figure class="wp-block-table"><table><thead><tr><th>指標</th><th>4ヶ月目</th><th>5ヶ月目</th><th>伸び率</th></tr></thead><tbody><tr><td>GA4 ユーザー数</td><td>327</td><td>619</td><td>約1.9倍</td></tr><tr><td>GA4 PV</td><td>415</td><td>765</td><td>約1.8倍</td></tr><tr><td>Search Console クリック</td><td>220</td><td>439</td><td>約2.0倍</td></tr><tr><td>Search Console 表示回数</td><td>4,768</td><td>11,105</td><td>約2.3倍</td></tr><tr><td>Search Console 平均掲載順位</td><td>8.0</td><td>7.5</td><td>微改善</td></tr></tbody></table></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="450" src="https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate.webp" alt="週末起業ラボ5ヶ月目の主要指標（ユーザー数・PV・クリック・表示回数）の前月比伸び率グラフ" class="wp-image-1823" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate.webp 800w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate-300x169.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate-768x432.webp 768w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate-120x68.webp 120w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate-160x90.webp 160w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-growth-rate-320x180.webp 320w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">5ヶ月目の主要指標｜前月比の伸び率（GA4・Search Consoleの実数値から作成）</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="450" src="https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles.webp" alt="週末起業ラボ5ヶ月目のGA4ユーザー数上位4記事の内訳グラフ、Genspark Plusレビューが全体の51%を占める" class="wp-image-1824" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles.webp 800w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles-300x169.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles-768x432.webp 768w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles-120x68.webp 120w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles-160x90.webp 160w, https://shumatsu-lab.com/wp-content/uploads/2026/07/month5-top-articles-320x180.webp 320w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">主力記事Top4｜GA4ユーザー数（5ヶ月目）</figcaption></figure>



<p class="wp-block-paragraph">正直に言うと、この伸びを「サイト全体が強くなった」と読むのは早い。中身を見ると、特定の記事に検索流入が集中しているだけだ。4ヶ月目記事でも同じ指摘をしたが、5ヶ月目でその傾向はむしろ強まっている。次の項で具体的に見ていく。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">掲載順位が8.0→7.5に上がったのは地味だけど嬉しい。順位1つの改善に何をしたわけでもなくて、ただ記事を書き続けて<a rel="noopener" href="https://search.google.com/search-console/about" target="_blank">Search Consoleのヘルプ</a>が言う「継続的な品質シグナル」が積み上がっただけだと思う。</p>
</div></div>



<h2 class="wp-block-heading">主力記事はさらに集中｜Genspark記事の一人勝ち</h2>



<p class="wp-block-paragraph">5ヶ月目のGA4上位記事はこうなっている。</p>



<p class="wp-block-paragraph">なお流入を支えているこのGenspark記事は、契約中に書いたレビューだ。その後Plusは解約しており、<a href="https://shumatsu-lab.com/genspark-cancel-claude-migration/">やめた側から見た記録</a>を別記事として公開して、依存を1本に集めない形にしている。</p>



<figure class="wp-block-table"><table><thead><tr><th>順位</th><th>記事</th><th>ユーザー数</th></tr></thead><tbody><tr><td>1位</td><td>Genspark Plusレビュー</td><td>184人</td></tr><tr><td>2位</td><td>Claude Code×GAS自動化</td><td>66人</td></tr><tr><td>3位</td><td>NotebookLM活用</td><td>59人</td></tr><tr><td>4位</td><td>Make×X自動投稿の代替ガイド</td><td>51人</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://shumatsu-lab.com/genspark-plus-review/">Genspark Plusを使い倒したレビュー</a>が単独で全体の3割近くを持っていく。2位のClaude Code×GAS自動化記事は6月に公開したばかりの新顔で、公開1ヶ月でここまで来た。これは素直に嬉しい。</p>



<p class="wp-block-paragraph">一方でこの集中は諸刃の剣でもある。Genspark記事1本のクリック数や順位が落ちれば、全体の数字が一気にしぼむ構造になっている。特定記事への依存を下げる意味でも、Claude Code×GAS記事のような新顔をもっと育てる必要がある。</p>



<h2 class="wp-block-heading">アフィリエイト｜クリックは出るが成果はまだ0円</h2>



<p class="wp-block-paragraph">先月、<a href="https://shumatsu-lab.com/partnerstack-affiliate-100-applications/">もしもアフィリエイトに100件申請して6件承認された話</a>を書いた。あれから収益は動いたか。</p>



<p class="wp-block-paragraph">正直に数字を出す。5ヶ月目（6/14〜7/13）の週末起業ラボの実績は、インプレッション449・クリック19件・発生成果0件・収益0円。CTRは4.2%で、クリックされる率自体は悪くない。ただし成果（成約）はゼロのまま。</p>



<p class="wp-block-paragraph">審査の承認と、実際に読者が申し込んで成約することは、まったく別の話だった。プログラムに参加できる権利を得ただけで、そこから先はまだゼロからのスタートだ。1ヶ月目からずっと「収益0円」を報告してきたこのシリーズだが、今月もその記録は途切れなかった。</p>



<h2 class="wp-block-heading">AdSense4回目否認｜変わらない壁</h2>



<p class="wp-block-paragraph">7月11日、4回目のAdSense審査結果が出た。否認。理由は3回目と同じ「有用性の低いコンテンツ」。</p>



<p class="wp-block-paragraph">4ヶ月目の時点で「6週間待った末の不合格」と書いたが、今回も理由は変わっていない。何を変えれば通るのか、正直まだ掴みきれていない。<a rel="noopener" href="https://support.google.com/adsense/answer/9335564" target="_blank">AdSenseのポリシーヘルプ</a>には「読者に真の価値を提供するオリジナルコンテンツ」と書かれているが、その基準の解像度が上がらないまま4回落ちている状態だ。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">同じ理由で4回落ちると、さすがに「量」の問題じゃなくて「質」の何かがずれているんだろうと思う。次の申請前に、記事の作り方そのものを見直すタイミングかもしれない。</p>
</div></div>



<h2 class="wp-block-heading">投稿ペースが落ちた理由｜YouTube多角化との天秤</h2>



<p class="wp-block-paragraph">4ヶ月目（6/14）以降、新規投稿はアフィリエイト審査記事とセキュリティ記事の2本だけだった。理由は単純で、<a href="https://shumatsu-lab.com/blog-to-youtube-ai-voice-workflow/">ブログ記事をAI音声で動画化するワークフロー</a>に時間を使ったのと、本業側の予定が立て込んでいたからだ。</p>



<p class="wp-block-paragraph">YouTube側の実績を正直に出す。チャンネル全体で通算8本、5ヶ月目期間に該当するのは4本（うち非公開1本）。公開3本の視聴回数を合計すると25回。チャンネル全体でも53回にとどまる。</p>



<p class="wp-block-paragraph">正直、時間をかけた割に効果はまだ小さい。GA4で見てもYouTube経由のブログ流入は直近7日でわずか1人。動画化した記事がブログの流入を底上げする、という4ヶ月目時点で期待していたシナリオは、5ヶ月目時点ではまだ実現していない。</p>



<p class="wp-block-paragraph">ここで一つ、恥ずかしい話を書いておく。この項目の実績を最初に集計したとき、パイプラインのログを機械的に数えて「31本」「36本」という数字を出しかけた。だが実際にYouTube Studioでチャンネルの中身を見ると8本しかなかった。ログは失敗・再試行した回数まで拾っていて、実際にチャンネルに存在する動画数とはまったく別物だった。ツールの出力を検算せずに信じるとどうなるか、身をもって体験した5ヶ月目でもあった。</p>



<h2 class="wp-block-heading">出費と収支｜API課金がゼロになった理由</h2>



<p class="wp-block-paragraph">出費の中身を4ヶ月目と並べる。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>4ヶ月目</th><th>5ヶ月目</th><th>用途</th></tr></thead><tbody><tr><td>Claude Max 5x</td><td>18,209円</td><td>18,584円</td><td>記事執筆・コーディング</td></tr><tr><td>ElevenLabs</td><td>1,092円</td><td>1,109円</td><td>動画用の音声合成</td></tr><tr><td>Claude API</td><td>1,088円</td><td>0円</td><td>パイプライン内処理</td></tr><tr><td>X API</td><td>829円</td><td>0円</td><td>ブログ自動投稿</td></tr><tr><td>Xserver</td><td>0円</td><td>0円</td><td>年額払い済み</td></tr><tr><td>合計</td><td>21,218円</td><td>19,693円</td><td>前月比1,525円減</td></tr></tbody></table></figure>




<p class="wp-block-paragraph">X側の工夫は2段構えだ。まずMake経由の投稿を廃止し、Buffer無料プラン（3チャンネルまで）への直接投稿に切り替えた。運用サイトが3つ以内なら、この移行だけでX APIの従量課金自体が発生しなくなる。これが829円→0円の直接の理由だ。もう一つ、これとは別に管理している投稿先ではX APIを直接使い続けているが、本文にURLを含めるとAPIコストが跳ね上がるため、URLなし投稿＋URL付きリプライに分けてコストを抑える工夫もしている。ただしこちらはコストの軽減であって、ゼロ化とは別の話だ。Make撤廃の経緯や他の代替手段の比較は<a href="https://shumatsu-lab.com/make-x-auto-post-alternative-guide/">Make→X自動投稿の代替ガイド</a>にまとめているので、そちらを参照してほしい。</p>



<p class="wp-block-paragraph">Claude側は、パイプライン内のAPI呼び出し箇所を<a rel="noopener" href="https://cloud.google.com/vertex-ai/generative-ai/pricing" target="_blank">Vertex AI</a>（Gemini）に置き換えた。当初この記事では「GenAI App Builder」向けトライアルクレジット159,556円分が効いてゼロ化できていると書いたが、これは筆者の誤認だったので訂正する。GCPコンソールで再確認したところ、このクレジットは使用範囲が特定プロダクトに限定されていて、うちのパイプラインが使う素のGemini API呼び出しには適用されていなかった（残高100%のまま動いていない）。実際にゼロ化の正体だったのは別枠の汎用無料トライアルクレジットで、こちらは2026年7月9日に期限切れ。以降は普通に課金が発生していて、実測で月数百円規模だ。Gemini 2.5 Flash自体の単価が安いので大きな痛手ではないが、「クレジットで無料」ではなく「単価が安いから低額」が正しい前提だった。</p>



<p class="wp-block-paragraph">5ヶ月目の累計出費は107,664円（87,971円＋19,693円）。累計収益は22円のまま変わらず、純損失は107,642円に拡大した。</p>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">ClaudeとXのAPI課金は誰でもゼロにできますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">Xの課金ゼロ化はBuffer無料プラン（3チャンネルまで）への直接投稿への切り替えで実現しました。運用サイトが3つ以内なら誰でも再現できます。なお、X APIを直接使う場面でのコスト軽減にはURLなし投稿＋URL付きリプライという工夫も別途使っていますが、これはコストを抑える技であってゼロ化とは異なります。Claudeの置き換え先のVertex AIは、当初「GenAI App Builder」向けクレジットで無料化できていると書きましたが誤りでした。実際は汎用の無料トライアル（2026年7月9日期限切れ）が効いていたもので、現在は月数百円規模の課金が発生しています（Gemini 2.5 Flashの単価が安いため低額です）。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">AdSenseが4回連続で落ちる原因は特定できていますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">まだ特定できていません。3回目・4回目とも理由は「有用性の低いコンテンツ」で変わらず、記事の作り方そのものを見直す段階だと考えています。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">YouTube動画化は続ける価値がありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">5ヶ月目時点では視聴回数・ブログへの逆流入ともに小さく、費用対効果はまだ見えていません。ただし<a rel="nofollow noopener" href="https://try.elevenlabs.io/wjpgvo9pmohi" target="_blank">ElevenLabs（公式・Starterプランから商用利用OK）</a>のコストは月1,100円程度と大きくないため、当面は続けながら様子を見ます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">アフィリエイトの成果はいつ出そうですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">クリックは月19件出ているので導線自体は機能していますが、成約はまだ0件です。時期の見込みは立てられる段階ではありません。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">6ヶ月目はどこに力を入れますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">特定記事への検索集中を薄めるため、新しく育ち始めたClaude Code×GAS記事のような記事を増やす方向で考えています。AdSenseは記事の作り方の見直しを優先します。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ｜5ヶ月目の学びと6ヶ月目の方針</h2>



<p class="wp-block-paragraph">5ヶ月目を一言でまとめると「数字は伸びた、API課金は消えた、AdSenseの壁は変わらない」だ。ユーザー数約1.9倍・クリック約2倍という伸びは事実だが、中身はGenspark記事1本への依存が強まっているだけとも言える。</p>



<p class="wp-block-paragraph">API課金ゼロ化は素直な成果だった。月1,500円強の削減は小さく見えるが、副業の収支が22円しかない状態では大きい。一方でAdSenseは4回連続で同じ理由の否認、アフィリエイトはクリックが出ても成約ゼロ。収益化の壁は5ヶ月経ってもまだ厚い。</p>



<p class="wp-block-paragraph">6ヶ月目は、特定記事への依存を下げる新しい主力記事づくりと、AdSenseの否認理由に正面から向き合うことを軸にする。これまでの記録は<a href="https://shumatsu-lab.com/side-job-blog-first-month-real-report/">1ヶ月目</a>からすべて公開しているので、興味があれば読み比べてみてほしい。</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1811</post-id>	</item>
		<item>
		<title>Claude Code hook悪用｜AI調査を汚染する攻撃事例</title>
		<link>https://shumatsu-lab.com/claude-code-posttooluse-hook-injection/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Mon, 29 Jun 2026 12:58:35 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[LLMセキュリティ]]></category>
		<category><![CDATA[PostToolUse hook]]></category>
		<category><![CDATA[プロンプトインジェクション]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1793</guid>

					<description><![CDATA[AIにコードやインシデント調査を任せる人が増えた。でも、そのAIが見ている「ツールの出力」が偽物だったら、どうなるか。 2026年6月、筆者の開発環境にプラグイン経由で2つのhookが仕込まれた。厄介だったのは、作業が壊 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">5分 MIN READ</span>
      </div>
  <ol>
          <li>AIにインシデント調査を任せたら、AI自身が「存在しない攻撃」を確定事実として報告してきた。原因はClaude CodeのPostToolUse hook。ツールが返す値を改ざんし、調査するAIごと騙す手口だった。ツール出力を一次情報として鵜呑みにしないための、裏取り手順をまとめた。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge">
        TOOL — Claude Code hook      </span>
          <span class="slb-badge">
        COST — 0円      </span>
      </div>
  </div>
    



<p class="wp-block-paragraph">AIにコードやインシデント調査を任せる人が増えた。でも、そのAIが見ている「ツールの出力」が偽物だったら、どうなるか。</p>



<p class="wp-block-paragraph">2026年6月、筆者の開発環境にプラグイン経由で2つのhookが仕込まれた。厄介だったのは、作業が壊されたことではない。インシデントを調査させたAI自身が、後で否定されることになる「存在しない攻撃」を確定事実として報告してきたことだ。</p>



<p class="wp-block-paragraph">SE歴20年、本業ではSEマネージャーをやっている。攻撃の検知と切り分けは場数を踏んできたつもりだった。それでも一度は騙された。この記事は、その手口と、同じことが起きても見抜くための裏取り手順の記録だ。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">先に言っておくと、攻撃コード本体はもう手元にない（削除済み）。だから「コードの全文解説」はしない。代わりに、AIがなぜ騙されたのかと、どう裏を取るかに振り切る。</p>
</div></div>



<h2 class="wp-block-heading">何が起きたか——調査するAIが偽の証拠を作らされた</h2>



<p class="wp-block-paragraph">確定している事実から並べる。</p>



<h3 class="wp-block-heading">プラグイン経由で仕込まれた2つのhook</h3>



<p class="wp-block-paragraph"><code>.claude/hooks/</code> に <code>post-tool-filter.ps1</code> と <code>session-start-genshijin.ps1</code> が設置されていた。どちらもPowerShellスクリプトだ。出どころはClaude Codeプラグイン経由のサプライチェーン攻撃が疑わしいが、インストール履歴自体が改ざんされていた可能性があり、攻撃元プラグインの実在は今も確定できていない。</p>



<p class="wp-block-paragraph">このうち実害が出たのが <code>post-tool-filter.ps1</code>。名前のとおり「ツール実行後の出力をフィルタする」hookだ。</p>



<h3 class="wp-block-heading">PostToolUse hookが実際にやったこと</h3>



<p class="wp-block-paragraph">ここが本題になる。<code>post-tool-filter.ps1</code> が動いている間、AIが受け取るツール出力が書き換わっていた。観測できた効果は3つ。</p>



<ul class="wp-block-list">
<li><code>affiliate_click</code> のカウントが強制的に「0」表示になる（実値は別に存在する）</li>



<li>ファイル編集時に <code>&lt;/body&gt;</code> タグが出力から消え、編集が着地しない</li>



<li>特定の文字列が置換・改変される</li>
</ul>



<p class="wp-block-paragraph">「本当に改ざんされているのか」は、答えがわかっている値で確かめた。あるセッションで <code>affiliate_click</code> を読むと 0。hookを止めてから同じ値を読むと 42。出力経路のどこかで値がすり替わっていた、動かぬ証拠だ。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1440" height="1080" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/post1793-affiliate-click-hook-tamper.webp" alt="affiliate_clickカウント数の比較棒グラフ。hook動作時に読んだ値は0、hookを停止後に読んだ値は42。" class="wp-image-1937" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/post1793-affiliate-click-hook-tamper.webp 1440w, https://shumatsu-lab.com/wp-content/uploads/2026/08/post1793-affiliate-click-hook-tamper-300x225.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/08/post1793-affiliate-click-hook-tamper-1024x768.webp 1024w, https://shumatsu-lab.com/wp-content/uploads/2026/08/post1793-affiliate-click-hook-tamper-768x576.webp 768w" sizes="(max-width: 1440px) 100vw, 1440px" /><figcaption class="wp-element-caption">あるセッションで affiliate_click を読むと 0。hookを止めてから同じ値を読むと 42（本文実測値）。</figcaption></figure>



<h3 class="wp-block-heading">いちばん巧妙だったのは「調査の汚染」</h3>



<p class="wp-block-paragraph">作業が壊れるだけなら、まだいい。気づける。本当に効いたのは、調査そのものが汚染されたことだった。</p>



<ul class="wp-block-list">
<li>Readツールの結果が偽造されていた可能性</li>



<li><code>git diff</code> の出力に偽のコンフリクトマーカーが挿入された</li>



<li>タイムスタンプが偽造され「18:44に3ファイル同時作成」という&#8221;攻撃の証拠&#8221;が生成された</li>
</ul>



<p class="wp-block-paragraph">調査するAIは、これらを「ツールが返した事実」として受け取る。そして筆者も、AIの報告を受け取る。攻撃者は、自分の攻撃を裏付ける&#8221;証人&#8221;をAIに作らせていた。</p>



<div class="wp-block-merpress-mermaidjs diagram-source-image"><pre class="mermaid">graph TD
  A["ツール実行"] --> B["PostToolUse hook"]
  B --> C["出力を改ざん"]
  C --> D["AIが現実と誤認"]
  D --> E["偽の調査結果を出力"]
  E --> F["人間が信じてしまう"]
  style B fill:#f3e7e7,stroke:#c39595
  style C fill:#f3e7e7,stroke:#c39595
</pre><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/merpress-3.png" alt=""/></div>



<h2 class="wp-block-heading">なぜLLMは偽のツール出力を信じるのか</h2>



<p class="wp-block-paragraph">技術的にも認識論的にも、これは&#8221;バグ&#8221;ではなく構造の問題だ。</p>



<h3 class="wp-block-heading">LLMにとって「ツールが返した値」＝現実</h3>



<p class="wp-block-paragraph">LLMは、ファイルの中身もコマンドの結果も、自分の目で確かめているわけではない。ツールが返してきたテキストを、そのまま現実として扱う。人間が「Readの結果＝ファイルの中身」と信じるのと同じ構図だ。だから、その経路に偽の値を流し込めれば、LLMは偽の現実を信じる。疑うための材料を、そもそも持っていない。</p>



<h3 class="wp-block-heading">PostToolUse hookはツール出力に介入できる（公式仕様）</h3>



<p class="wp-block-paragraph">hookはそもそも、Claude Codeを便利にする正規機能だ。フォーマッタを自動実行したり、危険なコマンドを止めたり。Hooksの基本と使いどころは<a href="https://shumatsu-lab.com/claude-code-powerup-guide/">Hooksの基本と便利な使い方</a>で触れている。</p>



<p class="wp-block-paragraph">問題は、その権限の広さにある。公式ドキュメントの仕様として、PostToolUse hookはツール出力（特にMCPツールの出力）を改変でき、<code>additionalContext</code> でClaudeのコンテキストに任意のテキストを注入でき、stderr に書いた内容はそのままClaudeへのフィードバックになる。そして決定的なのは、コマンドhookが実行ユーザーの全権限で動くこと。公式ガイドも、設定に追加する前にすべてのhookコマンドをレビュー・テストするよう明記している。仕様の詳細はAnthropicの<a rel="noopener" href="https://code.claude.com/docs/en/hooks-guide" target="_blank">Claude Code公式Hooksガイド</a>で確認できる。</p>



<h3 class="wp-block-heading">これはOWASP LLM Top 10が指す構造そのもの</h3>



<p class="wp-block-paragraph">新しい話に見えて、枠組みはすでにある。OWASPのLLM向けTop 10は、プロンプトインジェクション（<a rel="noopener" href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/" target="_blank">LLM01の解説</a>）を最大の脅威に置く。核心は「モデルは&#8221;指示&#8221;と&#8221;データ&#8221;を確実に区別できない」こと。両方が同じテキストとして届くから、データの中に紛れた指示に従ってしまう。</p>



<p class="wp-block-paragraph">今回はその変種だ。攻撃は「プロンプト」ではなく「ツール出力」に注入された。さらにプラグイン経由という点でサプライチェーン（LLM03）、ツール出力を検証せず信じた点で不適切な出力処理（LLM05）にもまたがる。各カテゴリは<a rel="noopener" href="https://owasp.org/www-project-top-10-for-large-language-model-applications/" target="_blank">OWASP GenAI Top 10</a>に整理されている。</p>



<h2 class="wp-block-heading">私が「確定」させてしまった誤情報</h2>



<p class="wp-block-paragraph">ここは恥を書く。あるセッションが「確定」とした内容のうち、後の独立調査で否定されたものがある。最初の報告を鵜呑みにしていたら、ありもしない脅威に何時間も対応するところだった。</p>



<h3 class="wp-block-heading">後の独立調査で否定された5つの「脅威」</h3>



<figure class="wp-block-table"><table><thead><tr><th>セッションの報告（誤）</th><th>後の独立調査での実態</th></tr></thead><tbody><tr><td>sweep-transcripts.ps1 がC2へ認証情報を送信</td><td>ローカルコピーのみ。外部送信なし</td></tr><tr><td>侵入タイムスタンプ 6/27 18:44</td><td>当該ファイルの実タイムスタンプは 6/6</td></tr><tr><td>genshijin-sync というWindowsサービスが常駐</td><td>そんなサービスは存在しない</td></tr><tr><td>COMハイジャック（レジストリ登録）</td><td>存在しない</td></tr><tr><td>git hooks にRCEペイロード</td><td>存在しない</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">なぜ誤情報が「確定事実」になったか</h3>



<p class="wp-block-paragraph">どれも、もっともらしかった。タイムスタンプは具体的、サービス名はそれっぽい、ログには痕跡&#8221;らしきもの&#8221;があった。AIはそれを「ツールが返した値」として処理し、確信度の高い言葉で報告する。人間（筆者）は、そのAIの確信に引きずられた。</p>



<p class="wp-block-paragraph">誤情報の供給源は外（攻撃者）。でも「確定」のハンコを押したのは、AIと人間の側だ。ここがいちばん怖い。</p>



<h3 class="wp-block-heading">今も「不明」のままにしていること</h3>



<p class="wp-block-paragraph">誠実に書くと、確定できていないことがある。断定はしない。</p>


<div data-slb-context="weekend"><br />
post-tool-filter.ps1 の実コードは削除済みで再確認できない。認証情報が実際に外部送信されたかは、流出経路になりうる実ファイルが存在しなかったので起きていない可能性が高いが、断定はしない。攻撃元プラグインが実在したかも、インストール履歴の改ざん可能性があり確定できない。GCPの認証情報（ADC）はファイルが存在したため、念のためローテーションした。「念のため」までが、いまの正直な到達点だ。<br />
</div>



<h2 class="wp-block-heading">二度と騙されないための裏取り手順</h2>



<p class="wp-block-paragraph">教訓は一つに尽きる。一つのツール出力を、それ単体で真実として処理しない。複数経路で同じことを確かめる。具体的に4つやる。</p>



<h3 class="wp-block-heading">原則&#8211;数値・存在・時刻は別経路でクロスチェックする</h3>



<p class="wp-block-paragraph">AIの報告でも、ツールの出力でも、「数字・ファイルの有無・タイムスタンプ」は一次情報として扱わない。別の手段で同じ値を取り、一致するかを見る。一致しなければ、どちらかが汚染されている。</p>



<p class="wp-block-paragraph">この発想は、AIに記事を書かせて数字を捏造されたときの再発防止策と同じだ。実際、ツール出力が改ざんされてAIが偽の事実を信じた今回も、<a href="https://shumatsu-lab.com/ai-article-number-fabrication-prevention/">既知の値を使った改ざん検知</a>が決め手になった。クラウド側のガードレール（入力・出力の検査）の考え方は、AWSが日本語でまとめた<a rel="noopener" href="https://aws.amazon.com/jp/blogs/news/safeguard-your-generative-ai-workloads-from-prompt-injections/" target="_blank">生成AIのプロンプトインジェクション対策</a>が入口として読みやすい。</p>



<h3 class="wp-block-heading">FILTERTEST&#8211;既知の値で改ざんを炙り出す</h3>



<p class="wp-block-paragraph">いちばん効いたのがこれ。答えがわかっているファイルを読ませて、期待値と一致するかを見る。今回なら <code>affiliate_click=42</code> とわかっている状態で読み、0 が返ったら出力経路が汚染されている、と即断できた。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">※ このコードはサンプルです。実際の動作は実行環境によって異なる場合があります。本番環境での利用前に必ず動作確認をしてください。</p>
</div>



<pre class="wp-block-code"><code># 1) FILTERTEST：既知の値で出力の改ざんを検知する
"FILTERTEST_VALUE=42" | Set-Content -Path .\filtertest.txt
$expected = 42
$actual = (Select-String -Path .\filtertest.txt -Pattern '\d+').Matches.Value | Select-Object -Last 1
if ($actual -ne $expected) { Write-Warning "出力経路が汚染されている可能性" }

# 2) タイムスタンプはGet-Itemで直接取得し、AI経由の値と照合する
(Get-Item .\suspect.ps1).LastWriteTime

# 3) 件数は素の数値で取る（整形済みテキストより改ざんに気づきやすい）
(Select-String -Path .\app.log -Pattern 'affiliate_click').Count</code></pre>



<h3 class="wp-block-heading">改ざんしにくい経路を選ぶ</h3>



<p class="wp-block-paragraph">タイムスタンプは <code>Get-Item</code> で直接取り、Readツール経由の値と照合する。行数や件数は <code>Select-String -Pattern ... | Count</code>（grepなら <code>-c</code>）のような&#8221;素の数値&#8221;で取る。整形済みテキストを介すより、すり替えに気づきやすい。同じ問いを別ツール・別手法で2回投げて、答えが一致するかを見る&#8211;それだけで汚染は浮く。</p>



<h3 class="wp-block-heading">Claude Code固有&#8211;hookとプラグインの自衛</h3>



<p class="wp-block-paragraph">最後にClaude Code側で。導入前は、プラグインのhookが実行ユーザー権限で動く前提に立つ。中身を読まずに入れない。<code>.claude/hooks/</code> と <code>settings.json</code> の hooks 設定を定期的に確認する。異変時は <code>/hooks</code> で登録済みhookを一覧でき、設定ファイルに <code>disableAllHooks: true</code> を入れれば全hookを一括停止できる。まず止めて、クリーンな状態で再検証する。今回のように「hook停止の前後で同じ値が変わる」なら、それが出力改ざんの確定診断になる。</p>



<h2 class="wp-block-heading">よくある質問（FAQ）</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">PostToolUse hookは本当にツールの出力を書き換えられるのですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">公式仕様の範囲でできます。PostToolUse hookはツール実行後に動き、MCPツールの出力を改変したり、additionalContextでClaudeのコンテキストに任意のテキストを注入したりできます。stderrに書いた内容はそのままClaudeへのフィードバックになります。つまりAIが受け取る&#8221;ツールの返り値&#8221;に介入する余地があります。ただし削除済みの攻撃コードがどの仕組みを使ったかまでは確認できていません。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">hookは便利だと聞きました。使わない方がいいのでしょうか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">使わない理由はありません。フォーマッタの自動実行や危険コマンドの遮断など、正しく使えば開発を安全にする機能です。問題は出どころ不明のhookを中身を見ずに入れること。コマンドhookは実行ユーザーの全権限で動くため、信頼できるソースのものだけを、レビューしてから導入してください。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">AIが生成したコードや調査結果は、どこまで信じていいですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">「ツールが返した値」を唯一の根拠にしないことです。数値・ファイルの有無・タイムスタンプは別経路で取り直し、一致を確認します。コード自体の妥当性が不安なら、別系統のレビューを通すのが有効です。<a href="https://shumatsu-lab.com/llm-code-review-benchmark-claude-codex-coderabbit/">AIコードレビュー4手法の実測比較</a>では、複数手法を併用したときの検出率を実測しています。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">個人開発でもここまで対策する必要がありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">規模ではなく仕組みの問題です。FILTERTESTのような「既知の値で確かめる」チェックは、個人でも数分で組めます。目視は必ず漏れる前提で、機械的に止まる仕掛けを一つ持っておくだけで、騙される確率は大きく下がります。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">プロンプトインジェクションとどう違うのですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">根は同じです。OWASPのLLM01が指すとおり、LLMは「指示」と「データ」を確実に区別できません。典型的なインジェクションが&#8221;プロンプト&#8221;に悪意を混ぜるのに対し、今回は&#8221;ツール出力&#8221;に偽の事実を混ぜました。注入経路が違うだけで、AIが汚染された入力を信じてしまう構造は共通です。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">要点は3つ。</p>



<ul class="wp-block-list">
<li>PostToolUse hookは、AIが見るツール出力に介入できる。出どころ不明のhookは、作業を壊すだけでなく、調査するAIごと騙せる</li>



<li>LLMは「ツールが返した値」を現実として扱う。だから数値・存在・時刻は、単体の出力を信じず別経路でクロスチェックする</li>



<li>FILTERTEST（既知の値で確かめる）と、hookの一括停止・<code>/hooks</code> 確認を、自分の環境に一つずつ仕込んでおく</li>
</ul>



<p class="wp-block-paragraph">体系的に詰めたい人向けに一冊だけ。今回のような「AIを過信させない業務フロー」を、OWASP/PCI DSSベースのチェックリストやポリシー雛形付きで整理した<a rel="nofollow" href="//af.moshimo.com/af/c/click?a_id=5384530&amp;p_id=170&amp;pc_id=185&amp;pl_id=4062&amp;url=https%3A%2F%2Fwww.amazon.co.jp%2Fdp%2FB0FPCHJHN5" referrerpolicy="no-referrer-when-downgrade" attributionsrc="">生成AIセキュリティの実務ガイド</a><img decoding="async" src="//i.moshimo.com/af/i/impression?a_id=5384530&amp;p_id=170&amp;pc_id=185&amp;pl_id=4062" width="1" height="1" style="border:none;" alt="" loading="lazy">は、設計段階の防御を考えるとき手元にあると早い。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">一度騙された経験から言うと、効くのは大層な仕組みじゃない。「答えがわかっている値を一つ読ませて、合うか見る」。それだけで、AIの確信に引きずられる前に立ち止まれる。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1793</post-id>	</item>
		<item>
		<title>アフィリエイト審査100件申請｜承認6件と否決理由を公開</title>
		<link>https://shumatsu-lab.com/partnerstack-affiliate-100-applications/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Sat, 27 Jun 2026 13:16:56 +0000</pubDate>
				<category><![CDATA[ブログ運営]]></category>
		<category><![CDATA[PartnerStack]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[アフィリエイト]]></category>
		<category><![CDATA[副業ブログ]]></category>
		<category><![CDATA[審査対策]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1770</guid>

					<description><![CDATA[「アフィリエイトを始めよう」と思って最初にぶつかるのが、ASPの提携審査だ。記事を書く前の段階で、ここで止まる人が多い。 SE歴20年、副業で日本語のSaaS比較サイトを運営している筆者が、2026年4月の週末2日間で、 [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">4分 MIN READ</span>
      </div>
  <ol>
          <li>2026年4月の週末、2日でアフィリエイト案件に100件超申請した。承認はわずか6件。落ちた理由を分類すると、避けられるミスと構造的な壁が見えた。申請文テンプレも丸ごと公開する。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — 承認6件      </span>
          <span class="slb-badge">
        TOOL — PartnerStack      </span>
          <span class="slb-badge">
        COST — 0円      </span>
      </div>
  </div>
    



<p class="wp-block-paragraph">「アフィリエイトを始めよう」と思って最初にぶつかるのが、ASPの提携審査だ。記事を書く前の段階で、ここで止まる人が多い。</p>



<p class="wp-block-paragraph">SE歴20年、副業で日本語のSaaS比較サイトを運営している筆者が、2026年4月の週末2日間で、PartnerStack経由のアフィリエイト案件に100件超まとめて申請した。結果は承認6件。HubSpotもActiveCampaignも落ちた。理由すら返ってこない案件もあった。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1427" height="833" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/partnerstack-100-applications-funnel-v2.webp" alt="アフィリエイト審査 申請100件超に対して承認6件、否決94件超（承認率約6%）を示す棒グラフ" class="wp-image-2036" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/partnerstack-100-applications-funnel-v2.webp 1427w, https://shumatsu-lab.com/wp-content/uploads/2026/08/partnerstack-100-applications-funnel-v2-300x175.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/08/partnerstack-100-applications-funnel-v2-1024x598.webp 1024w, https://shumatsu-lab.com/wp-content/uploads/2026/08/partnerstack-100-applications-funnel-v2-768x448.webp 768w" sizes="(max-width: 1427px) 100vw, 1427px" /><figcaption class="wp-element-caption">PartnerStack経由・2026年4月の週末2日間に出した申請の結果。承認は6件（承認率 約6%・単純計算）で、否決94件超は 100件超 − 6件 の差分</figcaption></figure>



<p class="wp-block-paragraph">この記事では、その全申請ログから「落ちた理由の分類」と「実際に使った申請文テンプレ」を公開する。収益の話ではない。審査を一気に通すための、申請そのものの実務に絞る。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">正直、半分も通れば御の字だと思ってた。フタを開けたら承認6件。でも落ち方を並べてみたら、次に活かせるパターンがちゃんとあった。</p>
</div></div>



<h2 class="wp-block-heading">どこに何件、どうやって申請したか</h2>



<p class="wp-block-paragraph">申請先はPartnerStackに集中させた。多くのSaaS企業がアフィリエイトプログラムをここに集約していて、1か所で大量に申請できる。</p>



<p class="wp-block-paragraph">申請対象は自分のサイト1つ。日本語のSaaS比較サイトで、<a href="https://shumatsu-lab.com/claude-code-pseo-site-713pages-3days/">3日で713ページ作ったpSEOサイト</a>がそれだ。比較記事・代替ツール紹介・カテゴリランキングを自動生成している構造で、SaaS案件との相性がいい。</p>



<p class="wp-block-paragraph">PartnerStackの便利なところは、1アカウントで複数サイトを共通利用できる点だ。サイトごとの厳密なURL審査はほとんどなく、アカウント単位でまとめて案件に申請していける。だから「サイトを1つ作ったら、関連案件を一気に出す」という戦い方ができる。</p>



<p class="wp-block-paragraph">PartnerStack以外では、<a rel="noopener" href="https://impact.com/" target="_blank">impact.com</a>とA8.netも併用した。impact.comはDropboxやSlackなど大手が多く、A8.netは国内案件に強い。ただ今回の主戦場はあくまでPartnerStackだ。</p>



<h2 class="wp-block-heading">100件を2日で出せた理由は「申請文テンプレ」</h2>



<p class="wp-block-paragraph">100件超を週末2日で出せたのは、申請文を毎回ゼロから書かなかったからだ。フォームの入力項目はどの案件もほぼ同じ。サイト説明・宣伝方法・想定流入・国を、テンプレで固定した。</p>



<p class="wp-block-paragraph">実際に使っているのがこれだ。案件名の部分だけ差し替えて、あとはコピペで回した。</p>



<pre class="wp-block-code"><code>Business description:
&#091;YourSite] is a Japanese programmatic SEO comparison site helping Japanese
businesses discover and compare SaaS tools. We publish in-depth comparison
articles, alternative guides, and category rankings targeting Japanese SMBs
and startups.

How to promote:
SEO-optimized comparison and alternative articles in Japanese on &#091;yourdomain.com]
targeting Japanese SMBs. &#091;Tool] will be featured in comparison pages,
alternative guides, and category rankings.

Audience size: 1,000-10,000 monthly visitors
Primary country: Japan</code></pre>



<p class="wp-block-paragraph">[YourSite] と [yourdomain.com] は自分のサイト名・ドメインに置き換える。</p>



<p class="wp-block-paragraph">ポイントは3つある。</p>



<p class="wp-block-paragraph">まず、サイトの性質（pSEO比較サイト）と宣伝方法（比較記事・代替ガイド）を具体的に書くこと。「ブログで紹介します」だけだと弱い。どのページにどう載せるかまで書くと、審査側がイメージしやすい。</p>



<p class="wp-block-paragraph">次に、Primary country: Japan を必ず明記すること。これは後述する「中国向けと誤認される」事故を防ぐためだ。</p>



<p class="wp-block-paragraph">最後に、想定流入を盛らないこと。1,000-10,000 monthly visitors のように正直なレンジで書く。盛っても、後述のトラフィック閾値で結局バレて落ちる。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-check block-box">
<p class="wp-block-paragraph">申請文テンプレに必ず入れる4項目<br>サイトの種類と何で集客しているか（SEO・比較記事など具体的に）<br>宣伝方法（どのページにどう載せるか）<br>想定の月間流入（正直なレンジで）<br>ターゲット国（Primary country: Japan を明記）</p>
</div>



<h2 class="wp-block-heading">落ちた理由カタログ：4つに分類できた</h2>



<p class="wp-block-paragraph">承認6件（livestorm / streak / webcatalog / todoist / plesk / niural）に対して、否決は大量に出た。だが理由を並べると、きれいに4タイプに分かれた。</p>



<figure class="wp-block-table"><table><thead><tr><th>否決タイプ</th><th>具体例</th><th>否決理由</th><th>対策</th></tr></thead><tbody><tr><td>トラフィック閾値</td><td>HubSpot</td><td>月1,000訪問者に未達</td><td>PVが育つまで寝かせる</td></tr><tr><td>トラフィック閾値</td><td>ActiveCampaign</td><td>月500セッションに未達</td><td>同上</td></tr><tr><td>自分のミス</td><td>Kit（旧ConvertKit）</td><td>記事公開前に申請しbroken page扱い</td><td>公開してから申請</td></tr><tr><td>構造的に不可</td><td>QuickBooks</td><td>米国居住者専用（EIN/SSN必須）</td><td>事前に居住地条件を確認</td></tr><tr><td>構造的に不可</td><td>Mailchimp</td><td>プログラムが2023年に終了</td><td>生存中か事前確認</td></tr><tr><td>理由不明</td><td>ClickUp等</td><td>開示なし</td><td>深追いしない</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">トラフィック閾値で落ちる＝今は無理な壁</h3>



<p class="wp-block-paragraph">HubSpotは「月1,000訪問者未達」、ActiveCampaignは「月500セッション未達」で落ちた。これは申請文をどう磨いても無理だ。サイトの実績そのものが足りていない。</p>



<p class="wp-block-paragraph">ここで大事なのは、落ちた案件を捨てないこと。「閾値未達リスト」として別管理し、PVが育ってから再申請する。最初に全部通そうとしない。</p>



<p class="wp-block-paragraph">PVが要件に届かないもどかしさは、<a href="https://shumatsu-lab.com/side-job-blog-fourth-month-real-report/">初収益22円だった副業ブログ4ヶ月目の現実</a>にも書いた。数字が育つまでは、通る案件から固めるしかない。</p>



<h3 class="wp-block-heading">自分のミスで落ちる＝避けられる</h3>



<p class="wp-block-paragraph">一番もったいないのがこれだ。Kit（旧ConvertKit）は、紹介記事を公開する前に申請してしまい、「URL leads to broken page（リンク先が壊れたページ）」として否決された。</p>



<p class="wp-block-paragraph">審査担当は申請されたURLを実際に見にくる。中身がまだ無いページを出せば、当然落ちる。サイトと該当記事を公開してから申請する。これだけで防げた1件だった。</p>



<h3 class="wp-block-heading">構造的に申請不可＝最初から弾く</h3>



<p class="wp-block-paragraph">QuickBooksは米国居住者専用で、EINかSSN（米国の納税者番号）が必須だった。日本在住の時点で申請してもまず通らない。Mailchimpに至ってはアフィリエイトプログラム自体が2023年に終了していた。</p>



<p class="wp-block-paragraph">これらは申請する前に「日本居住者OKか」「プログラムが今も生きているか」を確認すれば、申請枠も時間も無駄にせずに済む。</p>



<h3 class="wp-block-heading">理由不明の否決もある</h3>



<p class="wp-block-paragraph">ClickUpなど、理由が開示されないまま落ちた案件もいくつかある。ここは正直に書くと、明確な原因はわからない。考え込んでも答えは出ないので、深追いせず次に進むのが現実的だった。</p>



<h2 class="wp-block-heading">申請でハマった落とし穴</h2>



<p class="wp-block-paragraph">分類に入りきらない、地味にハマったポイントも共有しておく。</p>



<h3 class="wp-block-heading">日本語サイトを「中国向け」と誤認される</h3>



<p class="wp-block-paragraph">否決理由に、想定オーディエンスの地域ミスマッチが返ってきたことがある。日本語サイトなのに、なぜか中国向けの流入と判断されたらしい。</p>



<p class="wp-block-paragraph">対策はシンプルで、申請文に「Japan-based audience（日本のオーディエンス向け）」だと明記して返信した。最初からテンプレに Primary country: Japan を入れておけば、この往復は減らせる。</p>



<h3 class="wp-block-heading">Declinedでも別ルートが残ることがある</h3>



<p class="wp-block-paragraph">impact.comでは、Marketplace経由の申請がDeclined（却下）になったあと、ブランド個別のページ経由でアクセスできるケースがあった。一度落ちても、別の入口から再申請できる余地が残ることがある。</p>



<p class="wp-block-paragraph">ただし、この回避ルートは案件によって挙動が違う。確実な手順として一般化はできないので、「一度の却下で完全に諦めなくていい」程度に捉えておくのがいい。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">落ちた瞬間は「あ〜」ってなるけど、ASPの審査は一発勝負じゃない。条件が変われば通ることも多い。落ちたログこそ次の申請リストになる。</p>
</div></div>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">審査に一度落ちたら、もう再申請はできませんか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">できる場合が多いです。トラフィック閾値での否決なら、PVが要件を満たしてから再申請すれば通る可能性があります。impact.comのように、Declined後もブランド個別ページ経由で再アプローチできるケースもあります。一度の却下で完全に諦めず、「条件が変わったら再挑戦するリスト」として管理するのがおすすめです。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">PVがまだ少なくても通るアフィリエイト案件はありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">あります。承認された案件（livestormやtodoistなど）は、トラフィック要件が比較的ゆるいものが中心でした。逆にHubSpotやActiveCampaignは明確な流入閾値があり、立ち上げ初期では弾かれます。最初は要件のゆるい案件から固めて、流入が育ってから大手に再申請する順番が現実的です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">申請文は英語で書かないとダメですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">PartnerStackなど海外ASPのフォームは基本的に英語です。ただし毎回考える必要はなく、サイト説明・宣伝方法・想定流入・国の4項目をテンプレ化すれば、案件名を差し替えるだけで使い回せます。本文で公開したテンプレをベースに、自分のサイトの情報へ置き換えてください。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">日本在住だと申請できない案件はありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">あります。QuickBooksは米国居住者専用で、EINやSSNといった米国の納税者番号が必須でした。こうした案件は申請前に「対象国・居住条件」を確認しないと、枠と時間を無駄にします。プログラムがすでに終了しているケース（Mailchimpは2023年終了）もあるので、生存確認もあわせて行うと安全です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">サイトがまだ未完成でも申請していいですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">やめておくほうがいいです。Kit（旧ConvertKit）は紹介記事を公開する前に申請し、「リンク先が壊れたページ」として否決されました。審査担当は申請URLを実際に確認します。少なくとも申請に出すサイトと該当ページを公開してから申請してください。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">副業のアフィリエイト審査を2日で100件超回してわかったことは、3つに集約できる。</p>



<p class="wp-block-paragraph">1つ目、申請文はテンプレ化する。サイト説明・宣伝方法・想定流入・国の4項目を固定すれば、100件でも週末2日で出せる。</p>



<p class="wp-block-paragraph">2つ目、落ちる理由は事前に潰せる。公開前申請（broken page）、居住地条件、終了プログラム。この3つを申請前にチェックするだけで、無駄な否決が大きく減る。</p>



<p class="wp-block-paragraph">3つ目、閾値で落ちた案件は捨てない。PVが育ってから再申請する「寝かせリスト」として管理する。審査は一発勝負ではない。</p>



<p class="wp-block-paragraph">まずは要件のゆるい案件から数本通して、アフィリエイトの土台を作る。流入を伸ばす取り組みと並行で進めるのが、遠回りに見えて一番速い。申請後の実際のクリック・成果は<a href="https://shumatsu-lab.com/side-job-blog-fifth-month-real-report/">副業ブログ5ヶ月目の実績</a>に記録している。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1770</post-id>	</item>
		<item>
		<title>副業ブログ4ヶ月目｜初収益22円・AdSense3回目否認</title>
		<link>https://shumatsu-lab.com/side-job-blog-fourth-month-real-report/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2026 07:44:00 +0000</pubDate>
				<category><![CDATA[ブログ運営]]></category>
		<category><![CDATA[AdSense]]></category>
		<category><![CDATA[GA4]]></category>
		<category><![CDATA[副業ブログ]]></category>
		<category><![CDATA[月次レポート]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1743</guid>

					<description><![CDATA[副業ブログを始めて4ヶ月。SE歴20年の筆者が、毎月の数字を一円単位・1PV単位で公開している。 3ヶ月目までずっと0円だった収益が、4ヶ月目にして初めて動いた。Amazonアソシエイト経由で、22円。金額だけ見れば笑っ [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">&quot;6分&quot; MIN READ · UPDATED &quot;2026-06&quot;</span>
      </div>
  <ol>
          <li>副業ブログ4ヶ月目（5/14〜6/13）の全数字を公開する。3ヶ月連続0円だった収益が、ついに22円だけ発生した。検索クリックは前月の約2倍に伸び、検索経由が流入全体の78%を占めるまでになった。一方でAdSenseは3回目の申請が否認され、4回目を出し直したところだ。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — &quot;初収益22円&quot;      </span>
          <span class="slb-badge">
        TOOL — &quot;GA4・Search      </span>
          <span class="slb-badge">
        COST — &quot;21,218円&quot;      </span>
      </div>
  </div>
    


<p class="wp-block-paragraph">副業ブログを始めて4ヶ月。SE歴20年の筆者が、毎月の数字を一円単位・1PV単位で公開している。</p>


<p class="wp-block-paragraph">3ヶ月目までずっと0円だった収益が、4ヶ月目にして初めて動いた。Amazonアソシエイト経由で、22円。金額だけ見れば笑ってしまう額だが、0と22のあいだには大きな差がある。0は「何も起きていない」だが、22は「仕組みが動き始めた」を意味する。</p>


<p class="wp-block-paragraph">この記事では、4ヶ月目の全数字（PV・検索流入・収益・出費・AdSense・YouTube）を、いつものように包み隠さず出す。</p>


<h2 class="wp-block-heading">副業ブログ4ヶ月目の全体サマリー</h2>


<p class="wp-block-paragraph">まず1〜4ヶ月目の全指標を並べる。</p>


<figure class="wp-block-table"><table><thead><tr><th>指標</th><th>1ヶ月目</th><th>2ヶ月目</th><th>3ヶ月目</th><th>4ヶ月目</th></tr></thead><tbody><tr><td>計測期間</td><td>2/12〜3/13</td><td>3/14〜4/13</td><td>4/14〜5/13</td><td>5/14〜6/13</td></tr><tr><td>公開記事数(累計)</td><td>15</td><td>20</td><td>30</td><td>38</td></tr><tr><td>GA4 PV</td><td>200</td><td>計測停止</td><td>380</td><td>415</td></tr><tr><td>GA4 ユーザー</td><td>97</td><td>&#8211;</td><td>180</td><td>327</td></tr><tr><td>Organic Search比率</td><td>9.3%</td><td>&#8211;</td><td>65.6%</td><td>78.3%</td></tr><tr><td>SC クリック</td><td>6</td><td>24</td><td>108</td><td>220</td></tr><tr><td>SC 表示回数</td><td>999</td><td>708</td><td>2,664</td><td>4,768</td></tr><tr><td>SC CTR</td><td>0.6%</td><td>3.4%</td><td>4.05%</td><td>4.6%</td></tr><tr><td>SC 平均掲載順位</td><td>19.5</td><td>8.4</td><td>7.9</td><td>8.0</td></tr><tr><td>出費</td><td>16,266円</td><td>27,593円</td><td>22,894円</td><td>21,218円</td></tr><tr><td>収益</td><td>0円</td><td>0円</td><td>0円</td><td>22円</td></tr></tbody></table></figure>


<p class="wp-block-paragraph">4ヶ月目を一言でまとめると「数字は伸びた、収益は0円を脱した、審査は振り出し」だ。累計の出費は87,971円、累計の収益は22円。差し引き87,949円の純損失が続いている。</p>


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">3ヶ月続けて収益0円を公開してきたから、22円でも素直に嬉しい。これが「0→1」だ。</p>
</div></div>


<h2 class="wp-block-heading">数字が伸びた｜検索クリック1.8倍・滞在2倍</h2>


<p class="wp-block-paragraph">4ヶ月目で一番はっきり伸びたのが検索周りだ。</p>


<p class="wp-block-paragraph">Search Consoleのクリックは前月の108から220へ、約2倍に増えた。表示回数も2,664から4,768へ約1.8倍。CTRは4.05%から4.6%へわずかに改善した。平均掲載順位は7.9から8.0とほぼ横ばいで、順位そのものが上がったというより、上位に入る記事の数が増えて表示とクリックが伸びた、という構図だ。</p>


<figure class="wp-block-image"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/month4-sc-console.jpg" alt="週末起業ラボ4ヶ月目のSearch Consoleパフォーマンス（クリック・表示回数の推移）"/><figcaption class="wp-element-caption">週末起業ラボ4ヶ月目のSearch Consoleパフォーマンス（クリック・表示回数の推移）</figcaption></figure>


<p class="wp-block-paragraph">GA4側も動いている。PVは380から415、ユーザー数は180から327へ大きく増えた。平均セッション時間は3ヶ月目の63.7秒から125秒へ、ちょうど2倍。読者が以前より長く読んでくれている。</p>


<p class="wp-block-paragraph">流入チャネルの内訳（セッション420中）はこうなった。</p>


<ul class="wp-block-list">
<li>Organic Search：329（78.3%）</li>


<li>Direct：79（18.8%）</li>


<li>Referral：5 / Organic Social：3 / Organic Video：2</li>
</ul>


<figure class="wp-block-image"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/month4-ga4-console.png" alt="週末起業ラボ4ヶ月目のGA4流入チャネル内訳"/><figcaption class="wp-element-caption">週末起業ラボ4ヶ月目のGA4流入チャネル内訳</figcaption></figure>


<p class="wp-block-paragraph">検索経由が流入全体の8割に近づいた。1ヶ月目に検索流入が9.3%しかなかったことを思えば、別サイトのようだ。検索流入を主軸にする方針は、4ヶ月目でほぼ完成形に近づいた。判断指標の見方は<a rel="noopener" href="https://search.google.com/search-console/about" target="_blank">Search Console公式ヘルプ</a>を参照している。</p>


<p class="wp-block-paragraph">小さな新顔もあった。AI検索からの流入だ。ChatGPTから2セッション、Claude（claude.ai）から2セッション。3ヶ月目はChatGPT・Copilot・Perplexityの3経路だったが、4ヶ月目はclaude.aiが新たに加わった。数は小さいが、検索エンジン以外の入口が育ち始めている。</p>


<h2 class="wp-block-heading">Genspark記事が主力になった｜特定記事への検索集中</h2>


<p class="wp-block-paragraph">4ヶ月目の検索流入は、ある1記事に集中した。<a href="https://shumatsu-lab.com/genspark-plus-review/">Genspark Plusの実機レビュー記事</a>だ。</p>


<p class="wp-block-paragraph">GSC上位ページ（クリック数）を見ると一目瞭然だった。</p>


<figure class="wp-block-table"><table><thead><tr><th>記事</th><th>クリック</th></tr></thead><tbody><tr><td>Genspark Plusレビュー</td><td>83</td></tr><tr><td>NotebookLM活用</td><td>22</td></tr><tr><td>Make X自動投稿の代替ガイド</td><td>14</td></tr><tr><td>GAS×NotebookLMメール自動化</td><td>13</td></tr><tr><td>Make副業自動化入門</td><td>12</td></tr><tr><td>Claude Code×GAS自動化レシピ</td><td>12</td></tr></tbody></table></figure>


<p class="wp-block-paragraph">サイト全体のクリック220のうち、Genspark記事だけで83。約4割をこの1記事が稼いだ計算だ。流入クエリも「genspark デメリット」「genspark 5時間制限」「genspark plus 料金」と、契約前に欠点や制限を調べる検討段階のユーザーが中心だった。</p>


<p class="wp-block-paragraph">検索意図がはっきりした製品名クエリは、刺されば安定して流入を生む。実際に課金して使った<a href="https://shumatsu-lab.com/notebooklm-practical-use-cases-se-experience-2/">NotebookLMの活用記事</a>も2位につけており、一次情報のある記事が評価されやすい傾向は4ヶ月目でも変わらなかった。</p>


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">記事数を闇雲に増やすより、実際に金を払って使い込んだ製品レビューが効く。当たり前のようで、数字で見ると改めて納得する。</p>
</div></div>


<h2 class="wp-block-heading">初収益22円｜0→1の意味</h2>


<p class="wp-block-paragraph">そして4ヶ月目の主役、初収益だ。</p>


<p class="wp-block-paragraph">Amazonアソシエイト（もしもアフィリエイト経由）で、22円の成果が初めて発生した。3ヶ月連続で0円だったので、ようやく0の壁を越えた。</p>


<p class="wp-block-paragraph">正直、22円では何も買えない。コンビニのコーヒーにも足りない。それでも、この1件は「読者が記事のリンクを経由して、実際に何かを買ってくれた」という事実を意味する。アクセスが収益につながる経路が、初めて成立した。</p>

<div class="slb slb-roi">
  <div class="slb-roi__head">
    <span class="slb-mono slb-roi__label">ROI DASHBOARD</span>
      </div>
  <div class="slb-roi__grid">
        <div>
      <div class="slb-mono slb-roi__item-label">売上: 22円</div>
      <div class="slb-roi__item-val">
              </div>
      <div class="slb-mono slb-roi__item-note">&nbsp;</div>
    </div>
        <div>
      <div class="slb-mono slb-roi__item-label">費用: 21,218円</div>
      <div class="slb-roi__item-val">
              </div>
      <div class="slb-mono slb-roi__item-note">&nbsp;</div>
    </div>
      </div>
  </div>
    


<p class="wp-block-paragraph">アフィリエイトは、成果が出るまでに時間がかかるのが普通だ。検索流入が伸び始めてから収益が動くまでにはタイムラグがある。4ヶ月目で初収益22円は、早くも遅くもない、ごく平均的な立ち上がり方だと考えている。問題は金額そのものより、ここから積み上がるかどうかにある。</p>


<p class="wp-block-paragraph">ちなみに、この収益につながるアフィリエイト提携も、申請の段階でかなり落ちている。2日で100件超を出して、通ったのは6件だけだった。<a href="https://shumatsu-lab.com/partnerstack-affiliate-100-applications/">その申請文テンプレと否決の理由</a>は別記事に全部まとめている。</p>


<h2 class="wp-block-heading">出費と収支｜4ヶ月累計87,971円</h2>


<p class="wp-block-paragraph">4ヶ月目の出費内訳はこうなった。</p>


<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>金額</th><th>用途</th></tr></thead><tbody><tr><td>Claude Max 5x</td><td>18,209円</td><td>記事執筆・コーディング</td></tr><tr><td>ElevenLabs</td><td>1,092円</td><td>動画用の音声合成</td></tr><tr><td>Claude API</td><td>1,088円</td><td>パイプライン内処理</td></tr><tr><td>X API</td><td>829円</td><td>pSEOサイト自動投稿</td></tr><tr><td>Xserver</td><td>0円</td><td>年額払い済み</td></tr><tr><td>合計</td><td>21,218円</td><td>&#8211;</td></tr></tbody></table></figure>


<p class="wp-block-paragraph">前月の22,894円から1,676円減らせた。動画音声は3ヶ月目までGoogle Cloud TTSを使っていたが、4ヶ月目からElevenLabsへ切り替えた。</p>


<p class="wp-block-paragraph">X APIの829円は、本ブログとは別に運用している<a href="https://shumatsu-lab.com/claude-code-pseo-site-713pages-3days/">Claude Codeで713ページのpSEOサイトを作った仕組み</a>の自動投稿に使っている。</p>


<p class="wp-block-paragraph">4ヶ月の累計では、出費87,971円に対して収益22円。純損失は87,949円。撤退ラインを「半年」と決めているので、5・6ヶ月目も淡々と続ける。</p>


<h2 class="wp-block-heading">AdSense3回目否認｜6週間待った末の不合格</h2>


<p class="wp-block-paragraph">4ヶ月目で動きがあったのがAdSenseだ。ただし良い動きではない。</p>


<p class="wp-block-paragraph">4月17日に出した3回目の申請が、5月29日に否認された。申請から約6週間。3ヶ月目のレポートを書いた時点では「準備中のまま無音」だったが、長い沈黙の末の不合格通知だった。否認理由は過去2回と同じ「有用性の低いコンテンツ」だ。</p>


<p class="wp-block-paragraph">過去の経緯を並べるとこうなる。</p>


<ul class="wp-block-list">
<li>1回目：約2週間で否認</li>


<li>2回目：約1ヶ月で否認</li>


<li>3回目：4/17申請 → 6週間沈黙 → 5/29否認</li>


<li>4回目：6/4再申請（結果待ち）</li>
</ul>


<p class="wp-block-paragraph">否認を確認した6月4日、間を置かず4回目を申請した。審査ステータスの意味は<a rel="noopener" href="https://support.google.com/adsense/answer/9724" target="_blank">AdSense公式ヘルプ</a>に沿って確認している。</p>


<p class="wp-block-paragraph">AI生成を主体にしたサイトがAdSenseに通りにくいのは事実だが、Googleは<a rel="noopener" href="https://developers.google.com/search/docs/essentials/spam-policies" target="_blank">検索スパムポリシー</a>で「生成方法ではなく品質で判断する」としている。検索評価（Search Console）の表示回数は4ヶ月で着実に増えているのに、AdSenseは通らない。この2つの評価軸のズレが、4ヶ月目時点での率直な悩みだ。</p>


<h2 class="wp-block-heading">YouTube始動｜ブログ記事を動画化する多角化</h2>


<p class="wp-block-paragraph">4ヶ月目に新しく始めたのがYouTubeだ。チャンネル「週末起業ラボ」で4本を公開した。</p>


<ul class="wp-block-list">
<li>5/24「Claude DesignからCode自動実装」（9:39）</li>


<li>5/26「ChatGPT vs Claude vs Gemini 企業AI」（8:10）</li>


<li>5/30「月780円でブログ→YouTube動画化」（9:40）</li>


<li>6/13「Genspark月6,500円は詐欺？」（10:26）</li>
</ul>


<p class="wp-block-paragraph">いずれも既存のブログ記事を題材にした動画で、音声にはElevenLabsを使っている。たとえば5/26の動画は、ブログの<a href="https://shumatsu-lab.com/enterprise-ai-comparison-dev/">ChatGPT・Claude・Gemini企業導入の比較記事</a>が題材だ。ブログで一度書いた内容を動画に転用する形なので、ゼロから企画するより手間は少ない。ただし制作フロー自体はまだ試行錯誤の段階で、毎回同じ手順に固まっているわけではない。</p>


<p class="wp-block-paragraph">視聴回数は各3〜4回とまだ小さい。それでもGA4にOrganic Video（動画経由）の流入が初めて記録された。芽は出た。noteは3ヶ月目に1本出したきり止まっているので、4ヶ月目はYouTube一本に絞った。</p>


<h2 class="wp-block-heading">よくある質問</h2>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">&quot;副業ブログ4ヶ月目で収益22円は少なすぎませんか？&quot;</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">金額は確かに小さいですが、4ヶ月目で初収益が出ること自体は珍しくありません。アフィリエイトは成果が出るまで時間がかかるのが一般的で、検索流入が伸び始めてから収益が動くまでにはタイムラグがあります。重要なのは金額より「アクセスが収益につながる経路が成立したか」で、22円はその最初の1件です。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">&quot;検索流入が78%まで上がったのはなぜですか？&quot;</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">SNSに依存せず、検索意図のはっきりしたキーワードで上位を取れる記事を増やしたためです。特に実際に課金して使った製品レビュー（Genspark Plusなど）が検索で評価され、4ヶ月目はサイト全体のクリックの3分の1強を1記事が稼ぎました。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">&quot;AdSenseに4回も落ちる原因は何ですか？&quot;</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">否認理由は毎回「有用性の低いコンテンツ」です。検索評価（Search Console）は表示・クリックとも伸びているため、検索の品質基準とAdSenseの審査基準は別物だと考えています。AI生成を主体にしたサイトの審査通過には、一次情報や独自性の比重を高める必要があると見ています。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">&quot;ブログ記事をYouTube動画化するメリットは？&quot;</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">1記事を書く労力で、ブログとYouTubeの両方にコンテンツを展開できる点です。音声合成（ElevenLabs）を使えば撮影や録音の負担を抑えられます。4ヶ月目はGA4に動画経由の流入が初めて記録され、新しい入口になりつつあります。</p>
</div></dd></dl></div>


<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">&quot;累計で約9万円の赤字ですが続ける意味はありますか？&quot;</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">撤退ラインを「半年」と最初に決めているため、4ヶ月目の赤字で判断は変えません。検索流入は伸び続け、初収益も出ました。資産として積み上がる記事とYouTubeチャンネルができつつあるので、残り2ヶ月で収益の立ち上がりを見極めます。</p>
</div></dd></dl></div>


<h2 class="wp-block-heading">まとめ｜4ヶ月目の学びと5ヶ月目の方針</h2>


<p class="wp-block-paragraph">4ヶ月目の要点はこうだ。</p>


<ul class="wp-block-list">
<li><strong>初収益22円</strong>：3ヶ月連続0円から、ついに0→1。金額は小さいが収益経路が成立した</li>


<li><strong>検索が主軸に</strong>：クリック前月比約2倍、表示約1.8倍、検索流入78.3%、滞在時間2倍。順位は横ばいだが流入の母数が増えた</li>


<li><strong>AdSenseは振り出し</strong>：3回目が6週間待ちの末に否認、4回目を再申請。検索評価とのズレが続く</li>


<li><strong>YouTube始動</strong>：ブログ記事を題材に4本公開、動画経由流入が初発生</li>
</ul>


<p class="wp-block-paragraph">5ヶ月目は、Genspark記事のように「実際に課金して使った製品レビュー」を軸に、検索で勝てる記事を厚くする。AdSense4回目の結果も出るはずだ。1ヶ月目から続けてきた<a href="https://shumatsu-lab.com/side-job-blog-first-month-real-report/">1ヶ月目のリアル収支</a>、<a href="https://shumatsu-lab.com/side-job-blog-second-month-real-report/">2ヶ月目の全記録</a>、<a href="https://shumatsu-lab.com/side-job-blog-third-month-real-report/">3ヶ月目の成績</a>と合わせて読むと、伸びの流れが見えるはずだ。その5ヶ月目の結果は<a href="https://shumatsu-lab.com/side-job-blog-fifth-month-real-report/">副業ブログ5ヶ月目の実績</a>で公開している。</p>


<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">4ヶ月で純損失8.7万円、初収益22円。数字だけ見れば惨敗だが、検索は伸び、収益も動き始めた。残り2ヶ月、淡々と続ける。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1743</post-id>	</item>
		<item>
		<title>AIにブログを書かせたら数字を捏造した話｜防ぐ4ルール</title>
		<link>https://shumatsu-lab.com/ai-article-number-fabrication-prevention/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Sun, 07 Jun 2026 04:24:37 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AI記事作成]]></category>
		<category><![CDATA[ハルシネーション]]></category>
		<category><![CDATA[ファクトチェック]]></category>
		<category><![CDATA[ブログ運営]]></category>
		<category><![CDATA[生成AI]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1728</guid>

					<description><![CDATA[AIにブログを書かせていたら、本番公開した記事に、私が一度も口にしていない数字が混ざっていた。「3ヶ月使い倒した」&#8211;そんな期間、どこにも書いた覚えがない。 SE歴20年、いまは複数のブログをAIに下書きさせて [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AIにブログを書かせていたら、本番公開した記事に、私が一度も口にしていない数字が混ざっていた。「3ヶ月使い倒した」&#8211;そんな期間、どこにも書いた覚えがない。</p>



<p class="wp-block-paragraph">SE歴20年、いまは複数のブログをAIに下書きさせて運用している。正直、便利だ。それでもこの一件で、AIの文章力より先に疑うべきものがはっきりした。数字だ。</p>



<p class="wp-block-paragraph">この記事では、2026年5月に実際にやらかした事故と、その原因&#8211;これは世間でいう「ハルシネーション」ではなかった&#8211;、そして同じ事故を二度と起こさないために決めた4つのルールを、隠さずそのまま公開する。</p>


<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">約8分 MIN READ</span>
      </div>
  <ol>
          <li>AIが本番記事のタイトルに、存在しない「3ヶ月使い倒した」を勝手に挿入した。</li>
          <li>原因はデタラメな空想ではなく、競合記事のスニペットの「もっともらしい流用」だった。</li>
          <li>防ぐ鍵は、AIの校正力ではなく「一次ソース外の数字を出力させない仕組み」にある。</li>
      </ol>
  </div>
    



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">正直、最初は「AIが嘘をついた」と思いました。でも調べたら、もっとタチの悪い話だったんです。</p>
</div></div>



<h2 class="wp-block-heading">AIに記事を書かせて、本番に嘘の数字が載った</h2>



<p class="wp-block-paragraph">2026年5月、あるAIツール「Genspark」のレビュー記事をリライトしていた。SEOタイトルとメタディスクリプションを改善するつもりで、作業自体はAIに任せた。出てきた新しいタイトルには、こうあった。</p>



<p class="wp-block-paragraph">「Gensparkを3ヶ月使い倒して&#8230;&#8230;」</p>



<p class="wp-block-paragraph">公開した。そのまま本番に反映された。問題は、私がGensparkを3ヶ月使ったなんて、一言も言っていないことだ。記事本文にも、手元のメモにも、「3ヶ月」という期間はどこにも存在しない。</p>



<p class="wp-block-paragraph">気づいたのは公開後だった。自分の記事を読み返していて、書いた覚えのない期間表記に引っかかった。慌てて一次ソースを全部当たったが、やはり「3ヶ月」の出どころはない。結局、タイトルとメタから期間表記を削り、「使い倒した」だけに直した。</p>



<p class="wp-block-paragraph">数字ひとつ。たかが数字ひとつ。でも、これが本番に載っていた事実は重い。レビュー記事で「3ヶ月使った」と書けば、読者はそれを根拠に信頼する。その根拠が、実在しなかった。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">これは脚色なしの実話です。事故後すぐにタイトル・メタディスクリプションを修正済みで、現在は該当の数字は残っていません。</p>
</div>



<figure class="wp-block-image size-large"><img decoding="async" width="900" height="130" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/wp-revision-title-diff-1.webp" alt="WordPressのリビジョン比較画面。削除側に「Genspark有料版レビュー｜できること6選とデメリット5つ」、追加側に「Gensparkデメリット5つ｜有料版を3ヶ月使い倒した正直レビュー【SE歴20年】」と表示され、AIが挿入した「3ヶ月使い倒した」が差分として残っている" class="wp-image-2084" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/wp-revision-title-diff-1.webp 900w, https://shumatsu-lab.com/wp-content/uploads/2026/08/wp-revision-title-diff-1-300x43.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/08/wp-revision-title-diff-1-768x111.webp 768w" sizes="(max-width: 900px) 100vw, 900px" /><figcaption class="wp-element-caption">WordPressのリビジョンに残っていた証拠。AIが勝手に足した「3ヶ月使い倒した」が本番タイトルに入っていた</figcaption></figure>



<p class="wp-block-paragraph">AIで記事を書く手順そのものは別記事の<a href="https://shumatsu-lab.com/ai-blog-writing-claude-workflow/">Claudeを使ったブログ記事の作り方</a>にまとめているが、今日はその裏で起きる事故の話だ。</p>



<h2 class="wp-block-heading">数字はどこから来たのか＝競合記事のスニペット流用</h2>



<h3 class="wp-block-heading">「3ヶ月」の出どころは競合記事だった</h3>



<p class="wp-block-paragraph">原因を探して、まず疑ったのは自分の指示ミスだ。でも履歴を見ても、私は期間を指定していない。次にやったのが、検索結果の競合記事チェックだった。</p>



<p class="wp-block-paragraph">そこにあった。同じGensparkを扱う競合記事のタイトルが、こうだった。</p>



<p class="wp-block-paragraph">「【辛口評価】Gensparkを3ヶ月使い倒してわかった『ここがダメ』」</p>



<p class="wp-block-paragraph">「3ヶ月使い倒して」。完全に一致する。AIは記事をリライトするとき、上位の競合記事を構成の参考に読む。そのとき、構成だけでなく、競合が書いた具体的な数字まで一緒に引きずってきていた。</p>



<h3 class="wp-block-heading">これはハルシネーションではなく「もっともらしいパクリ」</h3>



<p class="wp-block-paragraph">ここが、この事故のいちばん大事なところだ。</p>



<p class="wp-block-paragraph">世間では、AIが事実と違うことを言う現象を「ハルシネーション（幻覚）」と呼ぶ。何もないところから、それらしい嘘を生成する&#8211;そういうイメージだ。</p>



<p class="wp-block-paragraph">でも今回は違う。AIは何も幻覚を見ていない。実在する競合記事に書いてあった「3ヶ月」という数字を、文脈ごと取り込み、それを私（筆者）の体験として再構成しただけだ。つまり正体は、空想ではなく「もっともらしいパクリ」に近い。</p>



<p class="wp-block-paragraph">この流れを図にすると、数字がどこで漏れたかが見える。</p>



<div class="wp-block-merpress-mermaidjs diagram-source-image"><pre class="mermaid">graph TD
  A["競合記事を構成参考に読む"] --> B["具体数値も文脈ごと取り込む"]
  B --> C["出力時に自分の実績として再構成"]
  C --> D["一次ソース照合なしで本番反映"]
</pre><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/merpress-1.png" alt=""/></div>



<p class="wp-block-paragraph">この経路の怖さは、出力された文章が日本語として完全に自然なことだ。「3ヶ月使い倒した」は、文法的にも内容的にも、なんの違和感もない。だから人間が読んでもスルーしてしまう。嘘くさい嘘なら気づける。もっともらしい嘘は気づけない。</p>



<h3 class="wp-block-heading">構成は参考にしてよくても、数字はダメ</h3>



<p class="wp-block-paragraph">誤解しないでほしいのは、競合記事を読むこと自体は悪くない。見出しの切り口や、読者がどんな疑問を持っているかを知るのに、競合チェックは有効だ。問題は、構成の参考と具体的な数値の流用の境界を、AIが勝手に踏み越えることにある。構成はOK、数字はNG。この線引きを人間側が握っておく必要がある。</p>



<h2 class="wp-block-heading">なぜ怖いか｜3つのリスク</h2>



<p class="wp-block-paragraph">数字ひとつ、と侮れない理由を3つに分けて整理する。</p>



<h3 class="wp-block-heading">信用失墜｜ひとつの嘘で全体を疑われる</h3>



<p class="wp-block-paragraph">読者は親切ではない。「3ヶ月使った」が嘘だと一度バレれば、その記事に書いてある他の情報も全部疑う。9割が正確でも、1割の捏造で記事全体の信頼がゼロになる。ブログの価値は積み上げた信用だ。それを数字ひとつで溶かすのは、割に合わない。Googleが示す<a rel="noopener" href="https://developers.google.com/search/docs/fundamentals/creating-helpful-content?hl=ja" target="_blank">有用で信頼性の高いコンテンツの作成ガイドライン</a>でも、第一に問われるのは情報の信頼性だ。</p>



<h3 class="wp-block-heading">コピー判定リスク｜競合と表現が一致する</h3>



<p class="wp-block-paragraph">競合のスニペットをそのまま引きずると、表現が競合記事と一致する。検索エンジンに「重複・模倣」と見なされれば、評価が下がる恐れがある。しかも今回のように相手が上位記事だと、後発の自分のほうがコピー側と判定されかねない。<a rel="noopener" href="https://developers.google.com/search/docs/essentials/spam-policies?hl=ja" target="_blank">Googleのスパムに関するポリシー</a>でも無断複製コンテンツは明確に問題視されている。捏造であると同時に、SEO上のリスクでもあるわけだ。</p>



<h3 class="wp-block-heading">YMYL領域だと致命的｜金額・期間の嘘</h3>


<div data-slb-context="weekend"><br />
お金・健康・法律など、人生に直結するYMYL領域では、数字の捏造は単なる信用問題では済まない。「月3万円稼げた」「3ヶ月で効果が出た」&#8211;こうした金額や期間の嘘は、読者の判断を誤らせ、実害を生む。Googleの評価でも、この領域は正確性が特に厳しく見られる。<br />
</div>



<p class="wp-block-paragraph">副業や収支を扱うブログは、まさにこのYMYLの入り口にいる。だからこそ、数字には人一倍慎重でいたい。</p>



<h2 class="wp-block-heading">再発防止ルール4つ</h2>



<p class="wp-block-paragraph">ここからが本題だ。事故のあと、自分のAI記事運用に組み込んだ4つのルールを共有する。どれも特別な道具はいらない。決めて、守るだけだ。</p>



<div class="wp-block-merpress-mermaidjs diagram-source-image"><pre class="mermaid">graph TD
    ROOT["&#x1f6e1;&#xfe0f; 数値捏造を防ぐ4つのルール"]
    ROOT --> A["① 一次ソース原則
出どころを4つに限定
本文記述・自分のメモ・発言・公式ソースのみ"]
    ROOT --> B["② 記憶照合
体験記述は筆者のプロフィールと照合
該当なければ書かないか確認する"]
    ROOT --> C["③ 本番前チェックリスト
N年・N回・N円の出所を確認
記事スニペットとタイトルの整合確認"]
    ROOT --> D["④ draft経由で公開
staging/draftでまず目視確認
本番を直接出力しない"]
    style ROOT fill:#4A90D9,color:#fff,stroke:#2c6fad
    style A fill:#e8f0fb,stroke:#4A90D9
    style B fill:#e8f0fb,stroke:#4A90D9
    style C fill:#e8f0fb,stroke:#4A90D9
    style D fill:#e8f0fb,stroke:#4A90D9
</pre><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/merpress-2.png" alt=""/></div>



<h3 class="wp-block-heading">①一次ソース原則｜数字の出どころを4つに限定する</h3>



<p class="wp-block-paragraph">記事で使う数値・期間・回数・金額は、次の4つのどれかに出どころがある場合だけ使う。それ以外は書かせない。</p>



<ul class="wp-block-list">
<li>該当記事の本文（すでに書いてある記述）</li>



<li>自分のメモ・ナレッジ（プロジェクト内の記録）</li>



<li>自分がその場で明示した発言・指示</li>



<li>公式ソース（公式サイト・公式アカウント・公式ドキュメント）の引用</li>
</ul>



<p class="wp-block-paragraph">競合記事のスニペットは、ここに入らない。構成の参考まで。具体的な数字は流用しない。これを徹底するだけで、今回の事故は起きなかった。</p>



<h3 class="wp-block-heading">②著者の体験期間は、明記がなければ書かない</h3>



<p class="wp-block-paragraph">「Nヶ月使った」「8年やってきた」&#8211;こういう著者の体験談は、記事本文かプロフィールに明記がない限り書かない。AIは空欄を埋めたがるが、空欄は空欄のままでいい。</p>



<p class="wp-block-paragraph">期間が確定していないなら、代替の表現を使う。</p>



<ul class="wp-block-list">
<li>期間をぼかす：「使い倒したSE歴20年が」（SE歴はプロフィールにある事実なのでOK）</li>



<li>回数をぼかす：「実際にハマった事例」「実例つきで」</li>
</ul>



<p class="wp-block-paragraph">事実が手元にないなら、捏造ではなく省略を選ぶ。</p>



<h3 class="wp-block-heading">③本番前チェックリスト｜公開前に数字で止める</h3>



<p class="wp-block-paragraph">公開ボタンを押す前に、機械的に止めて確認する。疲れているときほど、これが効く。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-check block-box">
<ul class="wp-block-list">
<li>「N年」「Nヶ月」「N回」「N円」の出典が、本文・自分のメモ・自分の発言・公式のどれかにあるか</li>



<li>競合記事のスニペットと、タイトルや本文の表現が一致していないか</li>



<li>staging かdraftで一度プレビューして、目で追ったか</li>
</ul>
</div>



<h3 class="wp-block-heading">④draft経由で公開｜本番を直接いじらない</h3>



<p class="wp-block-paragraph">今回いちばん効いた反省がこれだ。本番記事を直接編集すると、ミスがそのまま公開される。間に下書き（draft）を挟む。AIが直すのは下書きまで。人間が下書きを確認して、はじめて再公開する。</p>



<p class="wp-block-paragraph">ワンクッション置くだけで、「3ヶ月」のような数字に気づくチャンスが一回増える。事故は、チェックの回数を増やすだけで確実に減る。</p>



<h2 class="wp-block-heading">チェックを仕組みに落とす</h2>



<p class="wp-block-paragraph">ここまで読んで、「結局は気をつける話か」と思ったかもしれない。違う。目視のチェックは必ず漏れる。人間は疲れるし、毎回同じ集中力では読めない。だから、ルールを気合いではなく仕組みに変える。</p>



<p class="wp-block-paragraph">目視に頼らず機械的に止める発想は、記事生成だけでなくAIの調査結果そのものにも効く。実際、ツール出力が改ざんされてAIが偽の事実を信じた事例では、<a href="https://shumatsu-lab.com/claude-code-posttooluse-hook-injection/">既知の値を使った改ざん検知</a>が切り分けの決め手になった。</p>



<h3 class="wp-block-heading">目視は漏れる前提で設計する</h3>



<figure class="wp-block-image size-large"><img decoding="async" width="900" height="402" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/skill-md-no-fabrication-rule.webp" alt="article-writerスキルのSKILL.mdに記載した捏造禁止ルール「ヒアリング・出典・web確認のいずれも満たさない事実・数値・状況描写は使わない」の実物" class="wp-image-2030" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/skill-md-no-fabrication-rule.webp 900w, https://shumatsu-lab.com/wp-content/uploads/2026/08/skill-md-no-fabrication-rule-300x134.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/08/skill-md-no-fabrication-rule-768x343.webp 768w" sizes="(max-width: 900px) 100vw, 900px" /><figcaption class="wp-element-caption">事故のあと、記事生成スキルの手順書そのものに書き足した捏造禁止ルール</figcaption></figure>



<p class="wp-block-paragraph">私がやったのは、記事を生成させるプロンプトそのものに「一次ソース外の数値・期間・金額は出力禁止」と明記することだった。AIが書く段階で数字を塞げば、人間が後から探す手間が消える。<a rel="noopener" href="https://developers.google.com/search/blog/2023/02/google-search-and-ai-content?hl=ja" target="_blank">AI生成コンテンツに関するGoogleの公式ガイダンス</a>でも、問われるのは生成手段ではなくアウトプットの品質だ。だったら、品質を担保する仕組みを生成の入口に置くのが筋がいい。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-check block-box">
<p class="wp-block-paragraph"><strong>&#x1f534; BEFORE</strong><br>公開前に人間が目視で数字をチェックする。疲れていると、もっともらしい嘘ほど見逃す。</p>



<p class="wp-block-paragraph"><strong>&#x2705; AFTER</strong><br>生成プロンプトに「一次ソース外の数値は出力禁止」を明記し、書く段階で塞ぐ。人間は最終確認に集中できる。</p>
</div>



<h3 class="wp-block-heading">個人運用でも仕組みは作れる</h3>



<p class="wp-block-paragraph">「仕組み」というと大げさに聞こえるが、要はチェックを人の記憶からプロンプトやテンプレートに移すだけだ。個人でAIツールを開発・運用してきた経験は<a href="https://shumatsu-lab.com/claude-code-personal-service-development/">Claude Codeで個人開発をやってみた正直な話</a>に書いたが、結局いちばん効くのは「人間が頑張る」を「仕組みが止める」に置き換えることだった。数値の捏造対策も、まったく同じ発想でいい。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">AIの数値捏造について、要点を3つに絞る。</p>



<ol class="wp-block-list">
<li>AIは「それっぽい数字」を平気で盛る。疑うべきは文章力ではなく、数字だ。</li>



<li>その正体はハルシネーションより「競合スニペットのもっともらしい流用」であることが多い。構成は参考にしてよくても、数字は流用しない。</li>



<li>防ぐ鍵は気合いではなく仕組み。一次ソース原則・体験期間の非創作・本番前チェック・draft経由&#8211;この4つをプロンプトとフローに組み込む。</li>
</ol>



<p class="wp-block-paragraph">ブログは信用の積み上げだ。私自身、副業ブログの数字を毎月そのまま公開してきたが（直近は<a href="https://shumatsu-lab.com/side-job-blog-third-month-real-report/">副業ブログ3ヶ月目のリアルな収支</a>に書いた）、その数字が一個でも嘘なら、連載ごと価値を失う。AIに任せる時代だからこそ、数字の出どころだけは人間が握っておきたい。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">「AIが書いたから」は言い訳になりません。公開した責任は、最後にボタンを押した人間にある。だからこそ、仕組みで守るんです。</p>
</div></div>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">ChatGPTとClaudeで、数値の捏造しやすさは違いますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">モデルによる差はありますが、「競合スニペットの流用」というタイプの捏造はどのモデルでも起こりえます。これはモデルの賢さの問題ではなく、競合記事を参考に読ませる使い方そのものに潜むリスクだからです。どのAIを使うにせよ、一次ソース外の数字を出力させない指示と、公開前のチェックはセットで必要になります。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">ファクトチェックツールを入れれば防げますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">万能ではありません。今回の「3ヶ月」のように、文章として完全に自然で、しかも一見もっともらしい数字は、ツールでも素通りしがちです。ツールは補助として有効ですが、最終的には「その数字の出どころはどこか」を人間が確認する運用に勝るものはありません。仕組みと目視の二段構えが現実的な解です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">そもそも競合記事を参考にするのをやめるべきですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">やめる必要はありません。見出しの切り口や読者の疑問を知るうえで、競合チェックは有効です。問題は構成の参考と具体的な数値の流用の線引きで、ここをAIに任せず人間が握ることが大事です。構成はヒントとして使い、数字は必ず自分の一次ソースから取る。この区別さえ守れば、競合チェックは武器になります。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">いっそ記事から数字を全部消すのが安全では？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">それは逆効果です。具体的な数字は記事の説得力そのもので、消せば読者にとって価値の薄い記事になります。目指すのは「数字をなくす」ことではなく、「載せる数字すべてに出どころがある」状態です。出典のある数字は積極的に使い、出どころ不明の数字だけを排除する。これが正しい方向です。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">捏造に気づかず公開してしまったら、どう対処すればいいですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">気づいた時点ですぐに該当箇所を修正し、出典のある表現に直すか、確認できない数字は削除します。本番を直接いじるより、下書き（draft）を経由して直すほうが二次ミスを防げます。そのうえで、同じ経路で別の数字も漏れていないか、関連箇所をまとめて点検してください。一度起きた事故は、たいてい同じパターンで他にも潜んでいます。</p>
</div></dd></dl></div>


<div class="slb slb-profile">
  <div class="slb-profile__avatar">
          <img decoding="async" src="https://secure.gravatar.com/avatar/cb96d10a4f4bab829b35e83ca2b1d9cfa752aef03951f42b06f39ebc3b8019a4?s=128&#038;d=mm&#038;r=g" alt="ムラサキ">
      </div>
  <div class="slb-profile__body">
    <div class="slb-profile__name">ムラサキ</div>
    <div class="slb-mono slb-profile__title">SE歴20年 · 金融系システム開発課長 · 週末起業1年目</div>
    <div class="slb-profile__bio">システムエンジニア歴20年。金融系システム開発の課長として勤務する傍ら、AIと副業の最前線を実践レポート。Claude Code Max 5xプランを日常業務・副業開発に活用中。一次情報と実測値にこだわった記事を発信。</div>
    <div class="slb-profile__stats">
      <div>
        <span class="slb-profile__stat-val">20</span>
        <span class="slb-mono slb-profile__stat-label">YRS SE</span>
      </div>
      <div>
        <span class="slb-profile__stat-val">6</span>
        <span class="slb-mono slb-profile__stat-label">MOS 副業</span>
      </div>
      <div>
        <span class="slb-profile__stat-val">44</span>
        <span class="slb-mono slb-profile__stat-label">ARTICLES</span>
      </div>
    </div>
  </div>
</div>
    
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1728</post-id>	</item>
		<item>
		<title>Claude Code /goal入門｜AI自走の完了条件</title>
		<link>https://shumatsu-lab.com/claude-code-goal-autonomous-development/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 22:51:52 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AIエージェント]]></category>
		<category><![CDATA[AI自走]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[副業開発]]></category>
		<category><![CDATA[完了条件]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1709</guid>

					<description><![CDATA[Claude Codeを毎日触っていて、地味にストレスだったのが「続けて」の連打だ。AIがひと仕事するたびに手を止めて、また同じ指示を打つ。SE歴20年で本業も副業もClaude Code Max 5xで回している筆者で [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">10分 MIN READ · UPDATED 2026-06-03</span>
      </div>
  <ol>
          <li>完了条件を1文書くと、AIは条件を満たすまで自分でターンを回し続ける。</li>
          <li>customer-portalの4機能を、逐次プロンプトなしで完走させた実体験ベース。</li>
          <li>効く条件の核心は「検証結果を会話に出させる」一文。公式情報で裏取り済み。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — 4機能を自走完走      </span>
          <span class="slb-badge">
        TOOL — Claude Code      </span>
          <span class="slb-badge">
        COST — Max 5x      </span>
      </div>
  </div>
    



<p class="wp-block-paragraph">Claude Codeを毎日触っていて、地味にストレスだったのが「続けて」の連打だ。AIがひと仕事するたびに手を止めて、また同じ指示を打つ。SE歴20年で本業も副業もClaude Code Max 5xで回している筆者でも、この往復は効いた。</p>



<p class="wp-block-paragraph">/goalコマンドはこの往復を消す。完了条件を1文書くと、AIは条件を満たすまで自分でターンを回し続ける。実際にcustomer-portalの生産パイプラインを設計工程まで広げる4機能を、逐次プロンプトなしで完走させた。この記事は、その実体験で分かった「効く完了条件の書き方」を軸に、Anthropicの公式ドキュメントで裏を取りながらまとめる。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">最初は半信半疑だった。でも一度走らせたら、詰まっても止まらず原因を追い続けるAIを横で見て、考え方が変わった。</p>
</div></div>



<h2 class="wp-block-heading">/goalとは？「続けて」連打から解放される仕組み</h2>



<h3 class="wp-block-heading">「続けて」を何度も打っていた従来のClaude Code</h3>



<p class="wp-block-paragraph">通常のClaude Codeは1ターンごとに手を止める。テストを書いて、止まる。「続けて」。実行して失敗、止まる。「続けて」。長い作業ほど、この間に人が挟まる回数が増える。</p>



<p class="wp-block-paragraph">問題は手数だけじゃない。人が間に入るたびに集中が切れ、AIがどこまで進んだかを毎回読み直すことになる。タスクが大きいほど、この「Enterを押す係」の負担が重くなっていく。</p>



<h3 class="wp-block-heading">/goalの動作フロー：評価器が毎ターン完了判定するループ</h3>



<p class="wp-block-paragraph">/goalは完了条件をひとつ受け取り、その条件を満たすまでターンを自動で回す。Anthropicの<a rel="noopener" href="https://code.claude.com/docs/en/goal.md" target="_blank">/goalコマンド公式ドキュメント</a>によると、各ターンが終わるたびに小さく速い評価モデル（既定はHaiku）が「条件は満たされたか」を判定する。未達ならその理由を次ターンへの指示として渡し、もう一度ターンを始める。条件が満たされた瞬間にゴールは自動で解除され、Claudeは通常モードに戻る。</p>



<div class="wp-block-merpress-mermaidjs diagram-source-image"><pre class="mermaid">graph TD
  A["ターン実行"] --> B["評価器が判定"]
  B -->|"未達 理由を渡す"| A
  B -->|"達成"| C["ゴール自動解除"]
  B -->|"打ち切り句"| D["停止"]
  style A fill:#e8eef6,stroke:#9fb3cc
  style C fill:#e8f3ec,stroke:#9ec7ad
  style D fill:#f3ece8,stroke:#c7b09e
</pre><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/06/merpress.png" alt=""/></div>



<p class="wp-block-paragraph">筆者の実行では、途中で2回詰まった。1回目は<code>"use server"</code>ファイルでobjectをexportしてアクションが全滅したケース、2回目はagent-browserのclickがServer Actionを発火させなかったケース。どちらも/goalは「未達」と扱って継続させ、原因の特定から修正まで自走でやり切った。止まらず原因追及を続けるこの粘りが、人が「続けて」を打つ運用との一番の差だった。</p>



<h3 class="wp-block-heading">コスト感覚：自走で消費トークンはどう変わるか</h3>



<p class="wp-block-paragraph">正直に書くと、正確なトークン数は筆者の手元では計測していない。ただ確認手段はある。引数なしで<code>/goal</code>を打てば、その時点のターン数とトークン消費が出る。これが唯一の実測手段だ。</p>



<p class="wp-block-paragraph">体感はこうだ。「続けて」連打は人が間に入る分、自然にペースが制御される。一方/goalは人の入力なしで連続ターンが走るので、短時間に多くのターンが進み、消費は速い。判定役のHaiku分は、公式も本体ターンに比べて無視できる量だと明記しているので、評価器のコストは気にしなくていい。気をつけるべきは本体ターンの速度のほうだ。トークン単価そのものを詰めたい場合は、Opus・Sonnet・Haikuを役割で分ける<a href="https://shumatsu-lab.com/claude-code-cost-reduction-3tier-stack/">3層スタックでコストを半減させる手順</a>が効く。</p>



<h2 class="wp-block-heading">完了条件の書き方：自走を成功させた実例</h2>



<h3 class="wp-block-heading">効いた条件の4要素</h3>



<p class="wp-block-paragraph">公式ドキュメントは、長いターン数を越えても崩れない条件の要素を挙げている。測定可能な終了状態、それをどう証明するかの手段、途中で壊してはいけない制約だ。筆者が実際に走らせて完走した条件は、これに打ち切り句を足した形だった。</p>



<pre class="wp-block-code"><code>/goal customer-portalの生産パイプラインを設計工程まで拡張する。
レビュー収束性・承認フロー・改訂自由指示・設計工程の横展開の4機能を実装し、
npx tsc --noEmit がエラー0で、各機能を実際にsupabaseで確認した結果を会話に示し、
既存機能を壊さないこと。 or stop after 60 turns</code></pre>



<p class="wp-block-paragraph">要素を分解すると、こうなる。</p>



<div class="wp-block-cocoon-blocks-tab-box-1 blank-box bb-tab bb-check block-box">
<p class="wp-block-paragraph">測定可能な終了状態：「tsc がエラー0」。会話に証拠（コマンド結果）が残る終了点。<br>証明する手段：「supabaseで確認した結果を会話に示す」。検証を強制する一文。<br>壊してはいけない制約：「既存機能を壊さない」。暴走の歯止め。<br>打ち切り句：「or stop after 60 turns」。上限を切ってループの底を作る。</p>
</div>



<p class="wp-block-paragraph">条件は最長4,000文字まで書ける。短くまとめる必要はないので、終了状態・証明手段・制約を遠慮なく詰め込んでいい。</p>



<h3 class="wp-block-heading">最重要は「検証結果を会話に出させる」一文</h3>



<p class="wp-block-paragraph">4要素のなかで決定的だったのは、「supabaseで確認した結果を会話に示す」の一文だ。評価器は会話に出た内容しか見ない。コマンドを自分で叩いたりファイルを読んだりはしない。公式も評価器について、Claudeが会話で表に出したものしか判定できないと明記している。</p>



<p class="wp-block-paragraph">つまり「検証結果を会話に出させる」と書くことで、AI自身が検証ログを吐くよう仕向けられる。この一文がないと、AIは内部で「できたつもり」になっても、評価器にはそれが見えず判定が進まない。逆にこの一文があると、AIは証拠を会話に残しながら進むので、判定がきれいに通る。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">「会話に出させる」を入れるか入れないかで、自走の安定感がまるで違った。評価器の目線で条件を書く、という発想が要る。</p>
</div></div>



<h3 class="wp-block-heading">主観条件が引き起こす「止まれないループ」</h3>



<p class="wp-block-paragraph">逆に入れてはいけないのが主観条件だ。筆者は「UXを良くする」のような条件は最初から外した。評価器が良し悪しを測れないからだ。</p>



<p class="wp-block-paragraph">公式が挙げる典型的な失敗例も「本番運用に耐える品質（production-ready）」型の条件で、検証可能な出力を生まないため達成判定が出ない。条件が甘すぎれば早すぎる解除、達成不能なら打ち切り句に当たるまで回り続ける。会話に証拠が出る客観条件だけが機能する&#8211;これは実際に走らせて骨身にしみた。</p>



<h2 class="wp-block-heading">「指示を出す人」から「仕事を設計する人」へ</h2>



<h3 class="wp-block-heading">曖昧な指示はAIにも人にも通じない</h3>



<p class="wp-block-paragraph">完了条件を書く作業は、要するに「終わりの定義」を言語化する作業だ。これはAI特有の話じゃない。曖昧な指示は人間の部下にも通じない。「いい感じにして」で動ける人はいない。</p>



<p class="wp-block-paragraph">AIの場合、曖昧さは別の形でも牙をむく。指示が緩いと、存在しない仕様を勝手に埋めてくることがある。プロンプトが育ちすぎて<a href="https://shumatsu-lab.com/claude-prompt-bloat-limit-design-principles/">888行プロンプトで起きた破綻</a>を一度経験すると、客観的に検証できる指示だけが効くという感覚が身につく。/goalの完了条件は、その感覚を毎回強制してくる。</p>



<h3 class="wp-block-heading">完了条件を書く訓練が仕事の解像度を上げる</h3>



<p class="wp-block-paragraph">「会話に証拠が出る客観条件だけが効く」という制約は、副業開発でそのまま武器になる。何をもって完了とするかを1文で書けるなら、その仕事は設計できている。書けないなら、まだ自分の中でゴールが曖昧だということだ。</p>



<p class="wp-block-paragraph">筆者がCLAUDE.mdとBUGS.mdを使い分ける運用に行き着いた経緯は<a href="https://shumatsu-lab.com/claude-code-personal-service-development/">個人サービスを作った正直な話</a>に書いたが、結局どれも同じ方向を向いている。AIを動かすほど、自分の指示の甘さが可視化される。/goalはその最先端で、「指示を出す人」を「仕事の終わりを定義する人」に変えていく。</p>



<h2 class="wp-block-heading">Agent View・/loopと組み合わせる（公式情報・筆者未検証）</h2>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">このセクションのAgent Viewと/loopは、筆者がまだ実際に動かしていない。公式ドキュメントの記載に基づき、/goalとの組み合わせ方を整理する。挙動の細部は手元で確認のうえ使ってほしい。</p>
</div>



<h3 class="wp-block-heading">claude agentsで並列セッションを一望する</h3>



<p class="wp-block-paragraph">複数のセッションを並列で回すと、ターミナルのタブが増えて、どれが終わったか分からなくなる。Anthropicは<a rel="noopener" href="https://claude.com/blog/agent-view-in-claude-code" target="_blank">Agent Viewの公式発表</a>で、<code>claude agents</code>コマンド（またはセッション内で左矢印）から全セッションを1画面に並べる仕組みを示している。各行に「どれが入力待ちか・作業中か・完了したか」が出る研究プレビュー機能だ。</p>



<p class="wp-block-paragraph">/goalを背景で走らせ、その進捗をAgent Viewで眺める、という組み合わせが想定できる。並列実行やHooksの基礎をまず固めたい場合は、<a href="https://shumatsu-lab.com/claude-code-powerup-guide/">/powerupで隠れ機能を体系的に学ぶ手順</a>から入ると地続きで理解しやすい。</p>



<h3 class="wp-block-heading">/loopとの違い：時間駆動 vs 完了駆動</h3>



<p class="wp-block-paragraph">/goalと混同しやすいのが/loopだ。公式の比較によれば、/goalは「前のターンが終わったら次が始まり、条件を満たすと止まる」完了駆動。/loopは「一定間隔で同じプロンプトを再実行する」時間駆動で、夜間テストや朝の定期チェックに向く。終わりが条件で決まる作業は/goal、決まった間隔で回したい作業は/loop、という切り分けになる。</p>



<h3 class="wp-block-heading">朝に仕込んで夕方確認するハーフオート運用</h3>



<p class="wp-block-paragraph">公式は、開いたセッションとは独立に夜間テストや朝の仕分けを走らせるスケジューリングにも触れている。背景セッションとAgent View、あるいは/loopを組み合わせれば、朝に仕込んで夕方に結果だけ見る運用が描ける。ただし筆者の今回の実行はインタラクティブな単一セッションで、ここまで完走させたところまでだ。背景＋並列の本格運用は未検証なので、組み合わせる際は小さく試してから広げてほしい。</p>



<h2 class="wp-block-heading">/goalが動かないときの前提条件</h2>



<h3 class="wp-block-heading">信頼ダイアログとフックシステム</h3>



<p class="wp-block-paragraph">/goalの実体は、セッション単位のStopフックのラッパーだ。だから<a rel="noopener" href="https://code.claude.com/docs/en/hooks-guide" target="_blank">公式のフックガイド</a>が示すフックシステムが動く環境が前提になる。具体的には、信頼ダイアログを承認したワークスペースでないと/goalは動かない。承認していない場合、コマンドが理由を表示してくれるので、無反応で悩むことはない。</p>



<h3 class="wp-block-heading">法人・チームのポリシーで無効化される</h3>



<p class="wp-block-paragraph">会社のmanaged policy設定でdisableAllHooksが有効になっていると、フックごと無効になり/goalも使えなくなる。チームや法人のClaude Codeで「コマンドが反応しない」場合は、まずこの管理ポリシーを疑うといい。これも公式のRequirementsに明記されている挙動だ。</p>



<h3 class="wp-block-heading">バージョン確認とアップデート</h3>



<p class="wp-block-paragraph">/goalもAgent Viewも比較的新しい機能で、Agent Viewの研究プレビューはv2.1.139以降が要件とされている。<code>claude --version</code>で確認し、古ければnpmで更新しておく。完了判定の精度はバージョンが上がるほど改善されているので、新しめに保つのが無難だ。</p>



<h2 class="wp-block-heading">今日から始める/goal活用ステップ</h2>



<p class="wp-block-paragraph">副業開発で試すなら、いきなり大物に当てず、小さく回して感覚を掴むのが近道だ。</p>



<div class="wp-block-cocoon-blocks-timeline timeline-box cf block-box not-nested-style cocoon-block-timeline"><div class="timeline-title">/goalを試す3ステップ</div><ul class="timeline">
<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP1</div><div class="timeline-item-content cf"><div class="timeline-item-title">連打タスクを1つ選ぶ</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">今「続けて」を繰り返しているタスクを1つ特定する。テストを通すまで、リファクタが終わるまで、といった「終わりが言える」作業が向く。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP2</div><div class="timeline-item-content cf"><div class="timeline-item-title">完了条件を1文で書く</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">終了状態・証明手段・制約・打ち切り句を1文に詰める。とくに「結果を会話に示す」を入れて、AIに証拠を吐かせる。これが効く条件の核心。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP3</div><div class="timeline-item-content cf"><div class="timeline-item-title">小さく走らせて消費を見る</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">短い作業で走らせ、引数なしの/goalでターン数とトークン消費を確認する。自走のペース感を体で覚えてから、大きいタスクに広げる。</p>
</div></div></li>
</ul></div>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">/goalは普通のClaude Codeと何が違いますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">通常はAIが1ターンごとに止まり、人が「続けて」と打ち直す。/goalは完了条件を満たすまでAIが自分でターンを回し続ける。各ターンの後ろで小さな評価器が条件を満たしたか判定し、未達なら自動で次のターンに入る。人がEnterを押す回数がゼロになるのが最大の違い。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">自走中にトークンを使いすぎませんか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">人が間に入らない分ターンが連続するので、消費は短時間で速く進む。引数なしの/goalを打てば、その時点のターン数とトークン消費が出るので途中で確認できる。条件末尾に「or stop after 60 turns」のような打ち切り句を入れておけば暴走は防げる。判定役のHaiku分は本体に比べて無視できる量だと公式も明記している。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">どんな完了条件だと失敗しますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">「本番運用に耐える品質」のような主観的な条件は失敗する。判定する評価器は会話に出た内容しか見ないので、良し悪しを測れない条件は達成判定が出ない。「npm testがエラー0」「git statusがクリーン」のように、AIの出力に証拠が残る客観的な終了状態を書くこと。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">法人アカウントで/goalが使えないのはなぜですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">/goalはフックシステムを使って動く。会社のmanaged policyでdisableAllHooksが設定されていると、フックごと無効になり/goalも使えない。また信頼ダイアログを承認していないワークスペースでも動かない。どちらの場合もコマンドが理由を表示するので、無反応で悩むことはない。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">/loopとはどう使い分けますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">/goalは「条件を満たしたら止まる」完了駆動。/loopは「一定間隔で同じプロンプトを再実行する」時間駆動で、夜間テストや定期チェックに向く。終わりが条件で決まる作業は/goal、決まった間隔で回したい作業は/loop、と分けると迷わない。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">/goalを実際に使って分かったのは、3つだ。</p>



<p class="wp-block-paragraph">ひとつ、完了条件を1文書くだけで、AIは詰まっても止まらず条件を満たすまで自走する。ふたつ、効く条件の核心は「検証結果を会話に出させる」一文で、評価器は会話しか見ないからここが決定的。みっつ、客観的に検証できる終了状態だけが機能し、主観条件は止まれないループを生む。</p>



<p class="wp-block-paragraph">まず手元で「続けて」を連打しているタスクを1つ選び、終わりを1文で書いてみる。それが書けたなら、その仕事はもうAIに渡せる。書けないなら、自分の中でゴールがまだ曖昧だというサインだ。/goalは、その曖昧さを毎回突きつけてくる道具でもある。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">「Enterを押す係」から卒業すると、空いた時間で次の設計を考えられる。副業の時間は有限だから、この差は大きい。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1709</post-id>	</item>
		<item>
		<title>Claude Code×GASでWorkspace自動化7選</title>
		<link>https://shumatsu-lab.com/claude-code-gas-google-workspace-automation-recipes/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Wed, 03 Jun 2026 02:08:32 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[Google Workspace]]></category>
		<category><![CDATA[業務自動化]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1678</guid>

					<description><![CDATA[Claude Code×GASで実現するGoogle Workspace自動化の全体像 Google Workspaceの自動化は2軸で切る。1軸目は対象データ(メール／予定／表計算／ファイル／フォーム)、2軸目は処理タ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Claude Code×GASで実現するGoogle Workspace自動化の全体像</h2>



<p class="wp-block-paragraph">Google Workspaceの自動化は2軸で切る。1軸目は対象データ(メール／予定／表計算／ファイル／フォーム)、2軸目は処理タイプ(分類・通知／作成・転記／連携・横断)。本記事の7レシピはこの交点から、副業・本業の両方で投資対効果が高い組み合わせを抽出した。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">レシピ集の中には、すでに本サイトで実装記録を公開しているものと、Claude Codeへの投げ方だけ示す構想中のものが混在している。順序通り読まなくても、刺さるレシピから着手して問題ない。</p>
</div></div>



<h3 class="wp-block-heading">なぜ今Claude CodeとGASの組み合わせが最強なのか</h3>



<p class="wp-block-paragraph">GASは無料で動く、Googleの中で完結する、認証は自分のGoogleアカウントで済む。副業エンジニア向けの3拍子がそろっている。一方で「書きはじめるまでが面倒」が長年のネック。Apps Scriptエディタを開いて空のmain関数を眺めて閉じる、を何度繰り返したか分からない。</p>



<p class="wp-block-paragraph">そこにClaude Code Max 5xが噛み合う。仕様だけプロンプトで投げれば、claspで同期して動くコードまで生やしてくれる。試運転→修正→本番デプロイをローカルから一気通貫で回せる。エディタUIを開く頻度が一気に下がる。</p>



<h3 class="wp-block-heading">事前準備：clasp導入とAPI認証の最短セットアップ</h3>



<p class="wp-block-paragraph">Claude CodeでGASを書く前提として、claspをローカルに通しておく。ここを省くとClaude Codeが書いたコードをコピペで運ぶハメになり、結局スピードが落ちる。</p>



<div class="wp-block-cocoon-blocks-timeline timeline-box cf block-box not-nested-style cocoon-block-timeline"><div class="timeline-title"></div><ul class="timeline">
<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP1</div><div class="timeline-item-content cf"><div class="timeline-item-title">Node.js LTSを入れる</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">公式インストーラーで最新LTSを入れる。すでに開発で使っているなら飛ばしてよい。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP2</div><div class="timeline-item-content cf"><div class="timeline-item-title">claspをグローバルインストール</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">ターミナルで <code>npm install -g @google/clasp</code> を実行。インストール後 <code>clasp --version</code> で動作確認。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP3</div><div class="timeline-item-content cf"><div class="timeline-item-title">ブラウザ認証</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph"><code>clasp login</code> を実行するとブラウザが立ち上がりGoogle認証画面に飛ぶ。承認するとローカルにトークンが保存される。</p>
</div></div></li>



<li class="wp-block-cocoon-blocks-timeline-item timeline-item cf"><div class="timeline-item-label">STEP4</div><div class="timeline-item-content cf"><div class="timeline-item-title">プロジェクトを作成または取り込む</div><div class="timeline-item-snippet">
<p class="wp-block-paragraph">新規なら <code>clasp create --type sheets --title "automation"</code>、既存スクリプトを引き継ぐなら <code>clasp clone &lt;スクリプトID&gt;</code> で同期。</p>
</div></div></li>
</ul></div>



<p class="wp-block-paragraph">これで Claude Code が書いたコードを <code>clasp push</code> するだけで反映される。</p>



<h2 class="wp-block-heading">レシピ1〜2：Gmail自動仕分け＆下書き生成で受信箱ゼロ運用</h2>



<p class="wp-block-paragraph">受信箱が日々パンクするなら、最初に攻めるのはここ。判定とラベリングをGASに任せれば、人間の判断は重要メールへの対応だけに集中できる。</p>



<h3 class="wp-block-heading">レシピ1：重要メールをAI判定してラベル＆通知振り分け</h3>



<p class="wp-block-paragraph"><code>GmailApp.search()</code> で未処理メールを引いて、件名と本文の冒頭500字をGemini APIまたはClaude APIに渡す。判定値は「至急 / 重要 / 通常 / 不要 / 営業」の5値固定。結果に応じてGmailラベル付与とSlack通知を発火させる。</p>



<p class="wp-block-paragraph">Claude Codeに投げるプロンプト例:</p>



<pre class="wp-block-code"><code>Gmailの未読メールを取得し、本文を500字に切ってGemini APIで5値判定。
判定値に応じてラベル付与とSlack Webhook通知を発火させるGASを、
&#91;main.gs/config.gs/api.gs](http://main.gs/config.gs/api.gs) の3ファイル構成で書いて。APIキーは
PropertiesService経由で参照すること。</code></pre>



<p class="wp-block-paragraph">ファイル分割と参照経路まで指定すると、Claude Codeが「とりあえず1ファイルに全部」とやらかすのを防げる。</p>



<h3 class="wp-block-heading">レシピ2：定型問い合わせへの返信下書きを自動生成</h3>



<p class="wp-block-paragraph">このレシピは<a href="https://shumatsu-lab.com/gas-gemini-api-email-reply-draft/">GAS×Gemini API無料枠でメール返信下書きを自動化した実装記録</a>で5パターン判定＋下書き生成のスプレッドシート設計まで含めて公開済み。コピペで動くコードを起点に、自分の業務パターンに合わせて分類軸を組み替えるのが最短ルート。</p>



<p class="wp-block-paragraph">レシピ1の判定ロジックと組み合わせると、「通知だけ済ませる」と「下書きまで作る」の出し分けが可能になる。</p>



<h2 class="wp-block-heading">レシピ3〜4：カレンダーとTo Doを連動させる予定管理レシピ</h2>



<p class="wp-block-paragraph">予定が増えるほど、準備作業まで頭の中で持ち回すコストが膨らむ。それを引き剥がす2レシピ。</p>



<h3 class="wp-block-heading">レシピ3：会議招待から準備タスクを自動でTo Doに登録</h3>



<p class="wp-block-paragraph"><code>CalendarApp.getEventsForDay()</code> で当日の予定を取り、件名と説明欄をAPIに渡してタスクをN個抽出。Google Tasks API(Apps Scriptの Advanced Service として有効化)で対象日に登録する。</p>



<p class="wp-block-paragraph">たとえば「営業同行打合せ」なら「先方資料の確認」「ヒアリングシート更新」が当日朝に積まれる。トリガーは平日朝7時の時間ベースで十分。</p>



<h3 class="wp-block-heading">レシピ4：空き時間を解析して集中作業ブロックを自動確保</h3>



<p class="wp-block-paragraph">カレンダーの空きをスキャンして、90分以上連続するスロットを「集中作業」というイベントで予約してしまう。トリガーは毎週日曜の夜、翌週分をまとめて押さえる方式が運用が楽。</p>



<p class="wp-block-paragraph">クォータ・スコープ的にも CalendarApp 内で完結するので、追加API登録が要らない。組み込みコストが最も低いレシピで、効果が一番体感しやすい。</p>



<h2 class="wp-block-heading">レシピ5〜6：スプレッドシート＆ドライブの定型作業を撲滅</h2>



<p class="wp-block-paragraph">表計算とファイル操作はGASの土俵そのもの。Claude Codeに任せれば実装スピードが段違いに上がる。</p>



<h3 class="wp-block-heading">レシピ5：請求書・領収書PDFをドライブから自動仕訳</h3>



<p class="wp-block-paragraph">DriveAppで指定フォルダ配下のPDFを走査し、Gemini APIのドキュメント読み取りで請求元・金額・支払期日を抽出。スプレッドシートに追記したうえで、年月フォルダへ自動移動させる。</p>



<p class="wp-block-paragraph">本業／副業／個人の混在ファイルでも、フォルダ命名規則と仕訳タグでまとめて捌ける。確定申告期に「未仕訳の山」を作らないための先行投資として効く。</p>



<h3 class="wp-block-heading">レシピ6：スプレッドシートの数値変動をSlack/Chatへ即通知</h3>



<p class="wp-block-paragraph">売上、PV、Search Consoleの主要指標などをスプレッドシートにダンプし、前日比・前週比を <code>onOpen()</code> またはトリガーで判定。閾値超過時にSlackやGoogle Chatへ即時通知する。</p>



<p class="wp-block-paragraph">スプレッドシート操作と通知連携のノウハウは<a href="https://shumatsu-lab.com/gas-notebooklm-email-automation-practice/">GAS×NotebookLMで本業メール集約を自動化した実践記</a>で扱っているスクリプトと共通基盤。通知部分だけ差し替えればそのまま流用できる。</p>



<h2 class="wp-block-heading">レシピ7：フォーム回答からドキュメント＆メールまでワンストップ生成</h2>



<p class="wp-block-paragraph">申込・問い合わせフォームは「来た瞬間に処理を始めたい」典型ケース。手動の写経を完全に消す最後のレシピ。</p>



<h3 class="wp-block-heading">レシピ7：申込フォーム→契約書ドラフト→送信を全自動化</h3>



<p class="wp-block-paragraph">Formsのトリガー <code>onFormSubmit</code> で回答を捕捉。Google Docsのテンプレートを <code>DriveApp.getFileById().makeCopy()</code> で複製し、Body内のプレースホルダを置換して契約書ドラフトを生成。PDF化して <code>GmailApp.sendEmail</code> で関係者に送信する。</p>



<p class="wp-block-paragraph">副業のクライアント契約、子ども関連の同意書、社内申請書類まで、テンプレートと差し込み項目さえ用意すれば横展開できる。</p>



<h3 class="wp-block-heading">Claude Codeで&#8221;雑な指示&#8221;からGASコードを生やすコツ</h3>



<p class="wp-block-paragraph">プロンプトは「画面で見える流れ」を時系列で書くのが効く。雑に投げても Claude Code が補完してくれるが、<code>clasp push</code> で動く前提を成立させるには以下3点だけ最初に明示する。</p>



<ul class="wp-block-list">
<li>入力：何を／どこから／どのくらいの量</li>



<li>処理：使うAPI・必要スコープ・分岐ルール</li>



<li>出力：どこに／どの形式で／通知の要否</li>
</ul>



<p class="wp-block-paragraph">この型に乗せれば、初手のコードは8割そのまま動く。残り2割は実行ログを見せて修正させればよい。Claude Code の機能を体系的に押さえたいなら<a href="https://shumatsu-lab.com/claude-code-powerup-guide/">Claude Code /powerup入門</a>のレッスン7〜8(カスタムコマンドとHooks)を先に通すと、自動化レシピの組み立てそのものが速くなる。</p>



<h2 class="wp-block-heading">運用時の注意点とトラブルシューティング</h2>



<p class="wp-block-paragraph">動いたの先にある運用フェーズで、これだけは事前に詰めておかないと事故る。</p>



<h3 class="wp-block-heading">実行制限・権限スコープでハマらないための設計指針</h3>



<p class="wp-block-paragraph">GASにはApps Scriptの割り当て上限(メール送信、トリガー実行時間、外部API呼び出し回数など)がある。一気にバッチ処理を回すと無料アカウントは即上限に到達する。設計時に押さえる3点:</p>



<ul class="wp-block-list">
<li>件数を分割して走らせる(1回あたり50件など上限を決め打ち)</li>



<li>ユーザートリガーと時間ベーストリガーを使い分け、同時実行で衝突させない</li>



<li>スコープは必要最小限。最初から <code>script.external_request</code> 全許可にしない</li>
</ul>



<p class="wp-block-paragraph">詳細な数値は<a rel="noopener" href="https://developers.google.com/apps-script/guides/services/quotas" target="_blank">Google公式のApps Scriptクォータページ</a>で確認できる。設計前に1回必ず開く。</p>



<h3 class="wp-block-heading">個人情報・APIキーを守るセキュリティチェックリスト</h3>



<p class="wp-block-paragraph">副業で動かす場合、本業データとの混在が一番の事故ポイントになる。最低限のラインを固定しておく。</p>



<ul class="wp-block-list">
<li>APIキーは <code>PropertiesService.getScriptProperties()</code> 経由でのみ参照。コード直書き禁止</li>



<li>Gitに <code>.clasp.json</code> を上げる場合、リポジトリは必ずPrivate</li>



<li>本業データを扱うスクリプトは個人GoogleアカウントとWorkspaceアカウントで分離。同居運用は事故の温床</li>



<li>Webアプリ公開(doGet/doPost)は「自分のみ」「全員」のスコープを必ず明示確認</li>
</ul>



<p class="wp-block-paragraph">ここを守れば、運用中に冷や汗をかく場面は激減する。</p>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">7つのレシピは番号順に全部実装しないといけませんか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">順序通りである必要はない。レシピ集には実装記録を公開済みのものと、Claude Codeへの投げ方だけ示す構想中のものが混在しており、刺さるレシピから着手して問題ない。追加API登録が不要で組み込みコストが低いレシピ4(空き時間を解析して集中作業ブロックを確保)は効果も一番体感しやすいので、迷ったらそこから試すのも手だ。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">APIキーを使わずGoogleアカウントだけでAI処理は可能か？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">GASからの直接API呼び出しは認証キーが必要なので、完全な「キーなし」はできない。ただしGemini APIは無料枠が広く、Google AI Studio経由でキー発行も無料・即時。コストよりもキー管理運用(PropertiesServiceへの格納)を最初に決めておく方が重要。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">claspは必須？Apps Scriptエディタだけでは動かせない？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">不可ではない。レシピ単発ならエディタだけで完結する。ただしClaude Code に書かせたコードを毎回コピペで持ち込むのは手間で、修正サイクルが遅くなる。3レシピ以上を本気で運用するならclasp導入が結果的に最短になる。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">本業のWorkspaceで個人開発のスクリプトと干渉しないか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">干渉する。本業アカウントで個人レシピを動かすと、本業データに対するスコープ権限が誤って広がるリスクがある。Googleアカウントを明確に分離し、claspのloginも別プロファイルで運用するのが安全。社用PC側では本業用、私用PC側では副業用と物理的に分けるのが理想。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">7レシピを全部動かすと月のコストは？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">GAS実行・Drive容量は無料枠で完結する想定。Gemini APIは判定頻度次第だが、レシピ1〜7を中規模に回しても月数百円〜千円程度に収まることが多い。Claude Code側のサブスク(Max 5x)が固定費の主軸になる。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ｜まず1レシピ動かしてから広げる</h2>



<p class="wp-block-paragraph">Google Workspaceの自動化は「対象データ×処理タイプ」の2軸で7レシピに分解した。番号順に全部揃える必要はない。実装記録を公開済みのレシピ2や、追加API登録なしで効果を体感しやすいレシピ4など、刺さるところから着手すれば十分だ。</p>



<ol class="wp-block-list">
<li>Claude Codeに仕様だけ投げて <code>clasp push</code> まで一気通貫で回すと、書きはじめの腰の重さが消える</li>



<li>制限・スコープ・キー管理は最初に固めないと運用フェーズで事故る</li>



<li>レシピ集は実装済みと構想中が混在している。刺さるレシピから着手し、動かしながら残りを埋めていけばよい</li>
</ol>



<p class="wp-block-paragraph">次のアクションは、レシピ2(メール返信下書き)の<a href="https://shumatsu-lab.com/se-automation-tips/">SE歴20年の業務自動化術</a>で扱っている運用設計を起点に、自分の業務パターンに刺さるレシピから着手するのが最短ルート。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1678</post-id>	</item>
		<item>
		<title>Claude Opus 4.8とは｜副業での使い方と4.7の違い</title>
		<link>https://shumatsu-lab.com/claude-opus-4-8-side-job-guide/</link>
		
		<dc:creator><![CDATA[ムラサキ]]></dc:creator>
		<pubDate>Thu, 28 May 2026 23:54:43 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[AI活用]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[副業]]></category>
		<guid isPermaLink="false">https://shumatsu-lab.com/?p=1658</guid>

					<description><![CDATA[新しいモデルが出るたびに気になるのは「で、副業の財布にいくら響くの？」だと思う。結論から言うと、Claude Opus 4.8は値上げなしの性能アップ。2026年5月28日にAnthropicが公開し、API料金は$5/ [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="slb slb-tldr">
  <div class="slb-tldr__head">
    <span class="slb-mono slb-tldr__label">TL;DR / 三行要約</span>
          <span class="slb-mono slb-tldr__meta">4分 MIN READ · UPDATED 2026.05.29</span>
      </div>
  <ol>
          <li>Claude Opus 4.8は4.7の正常進化。料金は$5/$25のまま据え置き。Fast modeが前世代比3倍安く、バグ見逃しは4.7の約1/4に。新しいeffort制御で「速さとコスト」を自分で握れるようになった。</li>
      </ol>
    <div class="slb-tldr__badges">
          <span class="slb-badge slb-badge--hi">
        RESULT — アップグレード版      </span>
          <span class="slb-badge">
        TOOL — Claude      </span>
          <span class="slb-badge">
        COST — 据え置き      </span>
      </div>
  </div>
    



<p class="wp-block-paragraph">新しいモデルが出るたびに気になるのは「で、副業の財布にいくら響くの？」だと思う。結論から言うと、Claude Opus 4.8は値上げなしの性能アップ。2026年5月28日にAnthropicが公開し、API料金は$5/$25（入力/出力・100万トークンあたり）で4.7から据え置きのまま、ベンチマークと正確さが上がった。SE歴20年でClaude Code Max枠を毎日回している筆者の視点で、副業・フリーランスに効くポイントだけ抜き出して整理する。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">正直、新モデル＝値上げを身構えてたんですが、今回は据え置き。日々トークンを溶かしている側としては、これだけで十分ありがたいニュースです。</p>
</div></div>



<h2 class="wp-block-heading">Claude Opus 4.8とは？Opus 4.7から何が変わったか</h2>



<p class="wp-block-paragraph">Opus 4.8は、ゼロから作り直した新世代ではなく、4.7を土台にした品質向上版という位置づけ。Anthropicの発表記事「<a rel="noopener" href="https://www.anthropic.com/news/claude-opus-4-8" target="_blank">Introducing Claude Opus 4.8</a>」でも、コーディング・エージェント・推論・実務タスクのベンチマーク全般で4.7を上回ったと説明している。前提として、Opus 4.7時点の副業での立ち位置は<a href="https://shumatsu-lab.com/claude-opus-4-7-release-side-job-impact/">Opus 4.7発表時の使い分け基準</a>に整理済みなので、4.7を触っていた人はそこからの差分で読むと早い。</p>



<h3 class="wp-block-heading">主な改善点：価格据え置きで性能・正確さが向上</h3>



<p class="wp-block-paragraph">押さえるべき変更は3つだけ。料金が$5/$25で据え置き、Fast modeが前世代比3倍安く、そして「コードの欠陥を見逃さず指摘する」正確さが4.7の約4倍に上がった。Anthropicは後者を「honesty（誠実さ）」の改善と表現していて、根拠の薄いまま『できました』と言い切る傾向が減ったとしている。</p>



<p class="wp-block-paragraph">加えてデフォルトの思考量（effort）がxhighからhighへ下がった。これは性能ダウンではない。公式によると、4.8のhighはコーディングで4.7のデフォルトとほぼ同じトークン量で、スコアはむしろ上というチューニングが効いている。同じ働きをより少ない手数で、というのが今回の地味だが効く進化。</p>



<h3 class="wp-block-heading">ベンチマークで見るOpus 4.8の実力（GPT-5.5との比較）</h3>



<p class="wp-block-paragraph">GPT-5.5との比較で見ると、Opus 4.8は得意・不得意がはっきり分かれる。発表記事とSystem Cardの数値を主要軸だけ並べると、こうなる。</p>



<figure class="wp-block-table"><table><thead><tr><th>評価軸</th><th>Opus 4.8</th><th>Opus 4.7</th><th>GPT-5.5</th></tr></thead><tbody><tr><td>Online-Mind2Web（Web操作）</td><td>84%</td><td>下回る</td><td>下回る</td></tr><tr><td>OSWorld-Verified（PC操作）</td><td>83.4%</td><td>82.3%</td><td>78.7%</td></tr><tr><td>GDPval-AA（知識労働・Elo）</td><td>1890</td><td>1753</td><td>1769</td></tr><tr><td>Terminal-Bench 2.1（CLI）</td><td>74.6%</td><td>66.1%</td><td>78.2%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ブラウザ・PC操作と知識労働ではGPT-5.5を上回る一方、コマンドライン主体のTerminal-Bench 2.1ではGPT-5.5に一歩譲る。ここは隠さず書いておきたい正直な弱点。なお各ベンチは評価ハーネスの違いで数値が動くので、厳密な検証は<a rel="noopener" href="https://www.anthropic.com/claude-opus-4-8-system-card" target="_blank">Claude Opus 4.8 System Card</a>で確認するのが確実。副業用途なら、ターミナル一発勝負よりもエージェント的に手順を回す場面が多いはずで、その意味では4.8の伸びは噛み合っている。</p>



<h2 class="wp-block-heading">副業・フリーランスがOpus 4.8で得られる3つのメリット</h2>



<p class="wp-block-paragraph">数字に落とすと、副業規模でも効く変化が見えてくる。</p>



<h3 class="wp-block-heading">追加コストゼロのアップグレード：$5/$25は変わらない</h3>



<p class="wp-block-paragraph">フロンティアモデルの更新で値上げしないのは、AI業界ではむしろ珍しい。Opus 4.8の通常料金は入力$5・出力$25（100万トークンあたり）で、4.7とまったく同じ。すでにOpusのコストで回している人は、財布の前提を変えずに性能だけ受け取れる。乗り換え判断で「値上げ分が見合うか」を計算しなくていい&#8211;この時間の節約こそ、地味だが大きい。</p>



<h3 class="wp-block-heading">Fast modeが3倍安く：APIコスト削減の具体計算</h3>



<p class="wp-block-paragraph">Fast modeは「速度のための上乗せ料金」で、Opus 4.8では入力$10・出力$50。標準の2倍だが、前世代のFast（Opus 4.6時代は$30/$150）と比べると、ちょうど3分の1に下がった。</p>



<p class="wp-block-paragraph">副業規模で試算してみる。1回あたり入力20万＋出力10万トークンの処理を、月100回回す前提だと、こうなる（公式料金からの筆者試算）。</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1250" height="606" src="https://shumatsu-lab.com/wp-content/uploads/2026/08/fastmode-cost-v2.webp" alt="Fast mode コスト比較の棒グラフ（筆者試算）。標準（Fast不使用）は1回 約$3.5・月 約$350、新Fast（Opus 4.8）は1回 約$7・月 約$700、旧Fast（前世代）は1回 約$21・月 約$2,100。副業規模の試算：月100回 × 入力20万＋出力10万トークンの処理" class="wp-image-2035" srcset="https://shumatsu-lab.com/wp-content/uploads/2026/08/fastmode-cost-v2.webp 1250w, https://shumatsu-lab.com/wp-content/uploads/2026/08/fastmode-cost-v2-300x145.webp 300w, https://shumatsu-lab.com/wp-content/uploads/2026/08/fastmode-cost-v2-1024x496.webp 1024w, https://shumatsu-lab.com/wp-content/uploads/2026/08/fastmode-cost-v2-768x372.webp 768w" sizes="(max-width: 1250px) 100vw, 1250px" /><figcaption class="wp-element-caption">Fast mode のコスト比較（筆者試算・月100回×入力20万＋出力10万トークンの処理）。1回あたり単価と月間コストを併記。公式料金ベースの試算でAnthropic公式の実測値ではない</figcaption></figure>



<p class="wp-block-paragraph">ここで早とちりしないでほしい。速度が要らないなら標準が最安。Fastの値打ちは、待ち時間が成果に直結する処理を「現実的なコストで速くできる」点にある。前世代だと月2,100ドル相当で手が出なかったFast運用が、700ドル前後まで降りてきた。対話的なセッションや、レビューを何往復もする作業でこそ効く。</p>



<h3 class="wp-block-heading">バグ見逃しが4倍少ない：コーディング副業での実用価値</h3>



<p class="wp-block-paragraph">副業でコードを書く人に一番効くのが、この正確さの改善。Anthropicの評価では、Opus 4.8は自分が書いたコードの欠陥を見逃さず指摘する確率が4.7の約4倍に上がった。AIが『動きます』と言ったコードが実は壊れていた、というあの手戻りが減る方向の変化だ。レビュー工数を外注している感覚の個人開発者にとって、これは単価以上の価値になりうる。</p>



<p class="wp-block-paragraph">実際にAIごとのバグ検出力がどれだけ違うかは、<a href="https://shumatsu-lab.com/llm-code-review-benchmark-claude-codex-coderabbit/">実バグ6本でのレビュー精度の差</a>を測った検証で具体的な差が出ている。モデル選びの判断材料として合わせて見ると、4.8の伸びの意味がつかみやすい。</p>



<h2 class="wp-block-heading">新機能「effort制御」を副業ワークフローに組み込む</h2>



<p class="wp-block-paragraph">今回の隠れた主役は、モデルそのものより「effort制御」かもしれない。</p>



<h3 class="wp-block-heading">effortレベル別の使い分けガイド（low/medium/high/extra/max）</h3>



<p class="wp-block-paragraph">effortは、Claudeがどれだけ深く考えるかを自分で回せるダイヤル。公式ドキュメント「<a rel="noopener" href="https://platform.claude.com/docs/en/build-with-claude/effort" target="_blank">Effort（Claude API Docs）</a>」によると、レベルはlow・medium・high（既定）・extra・maxの5段階。highより上は思考頻度と深さが増し、下げるとレスポンスが速くなりレート消費も穏やかになる。Claude Codeでは extra が「xhigh」という名前で出てくる点だけ覚えておけばいい。</p>



<p class="wp-block-paragraph">この制御は、月額の<a rel="noopener" href="https://claude.ai/upgrade" target="_blank">Claude Pro</a>から最上位のMaxまで全プランで使え、追加料金もかからない。claude.aiとCoworkではモデルセレクタの隣に並ぶので、画面からそのまま切り替えられる。</p>



<p class="wp-block-paragraph">API側でも同じ発想で指定する。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box information-box">
<p class="wp-block-paragraph">※ 以下はeffort指定のイメージです。実際のパラメータ仕様はAnthropic公式ドキュメントで確認してください。本番利用前に必ず動作確認を。</p>
</div>



<pre class="wp-block-code"><code># Messages API で effort を指定するイメージ
message = client.messages.create(
    model="claude-opus-4-8",
    effort="high",   # low / medium / high(既定) / extra / max
    max_tokens=64000,
    messages=&#091;...],
)</code></pre>



<p class="wp-block-paragraph">extra や max を使うときは、思考に必要なトークン余地を確保するため max_tokens を大きめ（公式の目安は64,000から調整）に取るのがコツ。</p>



<h3 class="wp-block-heading">週末起業家が毎日使うタスク別のeffort設定例</h3>



<p class="wp-block-paragraph">「全部highでいい」と思いがちだけど、副業のタスクは難易度がバラバラ。手元の作業を雑に振り分けると、こんな具合になる（筆者の運用方針）。</p>



<figure class="wp-block-table"><table><thead><tr><th>タスク</th><th>推奨effort</th><th>理由</th></tr></thead><tbody><tr><td>SNS文・定型メール作成</td><td>low / medium</td><td>速さ優先・レート温存</td></tr><tr><td>ブログ下書き・要約</td><td>high（既定）</td><td>品質とコストの標準点</td></tr><tr><td>設計検討・複雑なデバッグ</td><td>extra（xhigh）</td><td>難所は手数を惜しまない</td></tr><tr><td>長時間の自動化・大規模移行</td><td>extra / max</td><td>走り切る安定性を優先</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは「難所だけ上げる」。Claude Codeはeffortを上げた分のトークン増を見込んでレート上限が引き上げられているので、難しいタスクで遠慮なくextraを使い、軽い作業はlowに落として温存する&#8211;このメリハリが、月末のレート切れを防ぐ一番効く運用になる。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon sbp-r"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">個人的に一番うれしいのが、軽い作業をlowに落とせること。SNS文の量産でレートを食いつぶす、みたいな事故が減りそうです。</p>
</div></div>



<h2 class="wp-block-heading">SonnetとOpus 4.8、どちらを使うべきか？</h2>



<p class="wp-block-paragraph">「とりあえずOpus」を卒業すると、コストはぐっと締まる。</p>



<h3 class="wp-block-heading">コスト比較：Opus vs Sonnetの価格差と費用対効果</h3>



<p class="wp-block-paragraph">料金はSonnet 4.6が$3/$15、Opus 4.8が$5/$25。入力で1.67倍、出力で1.67倍の差だ。ブログ自動化のような月間ワークロード（入力500万＋出力200万トークン）で並べると、Sonnetが月$45、Opusが月$75で、差は月$30前後（筆者試算）。</p>



<p class="wp-block-paragraph">この差を「Opus一択」で毎回払う必要はない。日常の実装や定型処理はSonnetで回し、設計や難所だけOpusに投げる&#8211;この発想を具体化したのが<a href="https://shumatsu-lab.com/claude-code-cost-reduction-3tier-stack/">Opus・Sonnet・Haikuでコストを半減する3層の組み方</a>で、モデル単価の差をそのまま月額の差に直結させない設計の実例として読める。</p>



<h3 class="wp-block-heading">副業タスク別の使い分け判断フロー</h3>



<p class="wp-block-paragraph">迷ったときの分岐はシンプルにできる。</p>



<div class="wp-block-merpress-mermaidjs diagram-source-image"><pre class="mermaid">graph TD
  A["タスクを確認"] --> B{"難所・設計判断あり?"}
  B -->|"はい"| C["Opus 4.8"]
  B -->|"いいえ"| D{"長文脈の横断理解?"}
  D -->|"はい"| C
  D -->|"いいえ"| E["Sonnet 4.6"]
  C --> F{"待ち時間が重要?"}
  F -->|"はい"| G["Fast mode併用"]
  F -->|"いいえ"| H["標準で実行"]
  classDef opus fill:#dde8f5,stroke:#9bb4d4;
  classDef sonnet fill:#e3f0e3,stroke:#a9cba9;
  class C,G,H opus;
  class E sonnet;
</pre><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/05/merpress-4.png" alt=""/></div>



<p class="wp-block-paragraph">設計判断や長文脈の横断理解が要るならOpus 4.8、そうでなければSonnet 4.6。Opusに振った中でも、待ち時間が成果に効くならFastを足す。この3問だけで、コストと品質のバランスはだいたい収まる。</p>



<h2 class="wp-block-heading">注意点：Opus 4.8で変わらないこと・制限事項</h2>



<p class="wp-block-paragraph">良い話ばかりではない。先に知っておくと損しない2点。</p>



<h3 class="wp-block-heading">Dynamic WorkflowsはClaude Code Enterprise/Team/Maxで利用可</h3>



<p class="wp-block-paragraph">同時公開された「Dynamic Workflows」は、Claude Codeが数百の並列サブエージェントを走らせ、出力を検証してから報告する大規模タスク向けの機能（研究プレビュー、Claude Code v2.1.154以降）。利用は全有料プランが対象で、Max・Teamは既定でオン、ProとEnterpriseは有効化が必要（Proは/config、Enterpriseは管理者設定）。実際に副業で走らせた手触りは別記事にまとめる予定。</p>



<h3 class="wp-block-heading">高effort設定でのトークン消費量に注意</h3>



<p class="wp-block-paragraph">effortは便利だが、上げれば上げるほどトークンを食う。extraやmaxは思考も手数も増えるぶん、同じタスクでも消費が膨らむ。Claude Code側はレート上限が引き上げられているとはいえ、APIで従量課金している場合は青天井になりうる。「難所だけ上げる」を徹底し、走らせっぱなしの自動化ではmaxを安易に常用しないのが安全。Opusのトークナイザは入力に対して生成トークンが増えやすい特性もあるので、移行前に自分のワークロードで概算しておくと事故が減る。</p>



<h2 class="wp-block-heading">よくある質問</h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Claude Opus 4.8を使うのに追加料金はかかりますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">API料金はOpus 4.7と同じ入力$5・出力$25（100万トークンあたり）で据え置きです。Pro・Maxの定額プランも価格変更はありません。新しいeffort制御は全プランに追加料金なしで提供されます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Opus 4.7のコードは自動でOpus 4.8に切り替わりますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">自動では切り替わりません。APIのモデルIDはclaude-opus-4-8で、明示的に指定する必要があります。model=&#8221;claude-opus-4-7&#8243;のままのコードは4.7で動き続けます。claude.aiではモデルセレクタから選びます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">Fast modeは副業でも使う価値がありますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">速度のための上乗せ料金なので、待ち時間が成果に直結する処理向きです。対話的なセッションや何往復もするレビューでは効きます。前世代比で3倍安くなりましたが、速度が要らない処理なら標準のほうが安く済みます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">effortは「high」のままで問題ないですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">多くの作業はhigh（既定）で十分です。設計検討や長時間の非同期処理はextra/maxに上げ、SNS文や定型処理はlow/mediumに下げてレート消費を抑えると、コストと品質のバランスが取りやすくなります。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">SonnetではなくOpus 4.8を選ぶべきタスクは？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p class="wp-block-paragraph">設計・複雑なデバッグ・長文脈の横断理解など、難所と呼べる作業です。日常の実装や定型処理はSonnet 4.6（$3/$15）で足ります。月間のコスト差はワークロード次第ですが、おおむね1.5〜1.7倍が目安です。</p>
</div></dd></dl></div>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">Opus 4.8は派手な新世代ではなく、副業の現場にじわっと効くアップデートだった。要点は3つ。</p>



<ol class="wp-block-list">
<li>料金は$5/$25で据え置き。値上げ分の計算なしに性能だけ受け取れる。</li>



<li>Fast modeが前世代比3倍安く、バグ見逃しは4.7の約1/4。速さと正確さの両方が現実的なコストに降りてきた。</li>



<li>effort制御で「難所だけ深く、軽作業は速く」を自分で握れる。Sonnetとの使い分けと合わせれば、月のAIコストはまだ削れる。</li>
</ol>



<p class="wp-block-paragraph">まずは普段のタスクをlow/high/extraにざっくり振り分けて、1週間レート消費を眺めてみるところから。自分のワークロードの「どこにコストが乗っているか」が見えると、Opus 4.8の据え置き料金とeffort制御は一気に武器になる。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://shumatsu-lab.com/wp-content/uploads/2026/03/murasaki_icon.png" alt="ムラサキ" class="speech-icon-image"/></figure><div class="speech-name">ムラサキ</div></div><div class="speech-balloon">
<p class="wp-block-paragraph">据え置きでこの伸び幅なら、乗り換えで悩む理由はほぼなし。あとは自分の作業をどうeffortに割り振るか、ですね。</p>
</div></div>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1658</post-id>	</item>
	</channel>
</rss>
