コンテンツ更新パイプラインをClaude Codeで再構築した理由
サマリー
Semrushは、コンテンツ更新のためにn8nからClaude Codeにパイプラインを再構築しました。新しいシステムはリサーチとドラフト作成を統合し、品質の向上を実現しました。これにより、執筆プロセスが効率化され、チームのフィードバックも改善されました。
本文
Semrushには数千のブログ記事があり、その多くはSEO、AIの可視性、コンテンツに関連するトピックを学ぶために読者が頼りにしている情報提供記事です。これらの記事を最新の状態に保ち、Semrushが知られる品質基準を維持することは、重要で継続的な作業です。しばらくの間、私はn8nワークフローを使って情報コンテンツの維持を試みましたが、リサーチは機能したものの、ドラフト作成で問題が発生しました。そこで、Claude Codeでパイプラインを再構築しました。この新しいシステムは、リサーチとドラフト作成の両方を処理します。n8nからClaude Codeに切り替えた理由、システムの動作、チームにとっての変化について説明します。
n8nの問題点は、既存の記事を更新することが監査と外科的な書き直しの2つの仕事を含むことです。何が古くなっているのか、競合がどこに移動したのか、AI検索の風景が今何を期待しているのか、新しい製品機能をどのように織り込むのか、そしてまだ機能している部分に触れずにどのように更新するのかを理解する必要があります。これを数百件のバックログに掛け算すると、ワークフローは迅速で正確、一貫性が必要です。
私の最初の試みはn8nワークフローでしたが、リサーチ部分は機能しました。各記事について、キーワードの包括的なSERPデータ、上位競合記事、私たちの記事と競合を比較する埋め込みドメインインテリジェンス(EDI)スキャン、クエリに対するGoogleのAI概要、Googleが提示する関連検索、私たちのコンテンツ内の内部リンク機会を引き出しました。しかし、ドラフト作成はうまくいきませんでした。ドラフトは私が求めていたものに近いものでしたが、公開するには十分ではありませんでした。声が合わず、構造がスタイルガイドを無視し、言葉が冗長でした。そして最悪なのは、AIが存在しないSemrushの機能を詳細に説明する幻覚があったことです。
私は出力を改善するために考えられるすべてを試しましたが、一貫した高品質の出力は得られませんでした。最終的に、n8nから得られるコンテンツの修正を試みるのをやめました。リサーチ部分はチームが執筆するための情報を提供していたので、それを継続し、ドラフト作成は一時保留にしました。しかし、ドラフト作成が失敗し続ける理由を考え続けました。
実際、失敗は構造的なものでした。n8nはAPIコールを連鎖させるのに優れていますが、記事をドラフトするには編集的な推論が必要です。記事全体を一度に考慮し、スタイルガイドや過去の例を参照しながら判断を下す必要があります。ワークフローツールはそのために作られていません。
Claude Codeに切り替えた理由は、元の記事を読み、クエリの背後にある意図を理解し、何を変更し何をそのままにするかを判断できるものが必要だったからです。いくつかのオプションを検討し、Claude Codeに戻ってきました。Claude Codeは、コンピュータのフォルダー内で実行されるエージェントであり、パイプラインはそのフォルダーです。スタイルガイド、過去のドラフト、リサーチ出力、更新される記事はすべてその中のファイルです。Claude Codeは必要なときに必要なものを読み、行った作業は次のステップで使用できる別のファイルになります。
n8nとの構造的な違いは、AIがワークフローにどのように組み込まれているかです。n8nでは、ワークフローを事前に構築し、AIは特定のステップを実行しますが、Claude CodeではAIがワークフロー自体を実行し、ファイルを読み、何をするかを決定し、出力を生成します。各ステップで何をするかを指示するスキル指示と組み合わせることで、Claude Codeはドラフトに必要なコンテキストと、脱線しないための制約を持っています。これが違いを生み出しました。
AIは必要なときに必要なものにアクセスでき、各ステップで定義された仕事を持っていました。生成された作業は次のスキルが引き継げるファイルであり、ライターが後で確認できるものでした。私はClaude CodeでAPIコールを含む全体のパイプラインを再構築しました。すべてが1つのフォルダーにあるため、ドラフト作成ステップはリサーチ出力、元の記事、過去のドラフト、スタイルガイドを必要に応じて読み取ることができました。そして、それは機能しました。
このパイプラインは、私たちのライターが編集して公開できるドラフトを生成し、何かが不正確に見えるときに確認できるファイルのトレイルを提供します。私がClaude Codeで構築したパイプラインは、9つのスキルで構成されており、マスタースクリプトによって順番に実行されます。更新したい記事のURLとターゲットキーワードを入力すると、ドラフトが返されます。ドラフトは他の記事と同様に通常の編集ワークフローを経て、レビュー、改訂、編集、画像が追加されます。私たちのチームがすべての編集判断を行います。
9つのスキルは次の通りです:
1. ライブ記事を取得する
2. SERPと競合をリサーチする
3. 既存の作品に対してEDIセマンティック類似性チェックを実行する
4. 更新計画を合成する
5. 古いコンテンツを特定する
6. 製品の言及を監査する
7. 更新をドラフトする
8. 元のドラフトと新しいドラフトの比較を生成し、変更を強調表示する
9. 公開用に結果をフォーマットする
私は意図的に9つのスキルに留めました。これは、パイプラインが必要とするすべての判断に対して明確なスキルを持つ最小の数でした。そして、1つの設計選択が非常に重要であることが判明しました。各スキルは、次のスキルが実行される前に作業をファイルに保存します。これらのファイルは、私がパイプラインのアーティファクトと呼ぶものです。リサーチ、計画、ドラフト、サイドバイサイド比較が含まれています。各ステップをファイルとして保存することで、任意のスキルを再実行でき、誰でもファイルを開いてドラフトに問題があるときに確認できます。
Claude Codeパイプラインが動作し始めたときに変わったことは2つあります。AIが時折生成する幻覚が簡単にキャッチできるようになったことと、ドラフトが私たちが書いたように読まれるようになったことです。AI生成のステップは時折幻覚を引き起こす可能性がありますが、パイプラインはそれを迅速にキャッチするように構築されています。私たちの貢献者の一人であるダナがドラフトをレビューしているとき、存在しない機能に関する信じられる指示に遭遇しました。これは、古いn8nバージョンでは見逃されるか、20分のクロスチェックを要するエラーでした。彼女はサイドバイサイドの差分を開き、元の記事の同じセクションを見て、元の記事にはそのワークフローが言及されていないことを確認し、作り話を置き換えました。全体で1分かかりました。
これがアーティファクトの目的です。AIは間違いを犯すことがありますが、パイプラインはレビュアーがそれをキャッチし、1分で確認できるように構築されています。もっと大きな話は、実行を重ねる中で起こったことです。数ヶ月間、私はドラフト作成ステップがSemrushのように読まれるものを生成するように努力してきました。つまり、声、トーン、構造、そして自社製品の説明の適切なアプローチです。n8nでは、1つの要素をうまく捉えたドラフトが得られ、他の3つを逃すことがありました。そして次の実行では異なる組み合わせが得られました。しかし、Claude Codeでは、わずかな調整を加えた3回の実行で、私は目標に到達しました。3回目には、ドラフトが一貫して強力になりました。
声は元の記事に一致し、構造はスタイルガイドに従い、トーンはSemrushに合い、ブランドポジショニングも正しかったです。AIは製品の説明を正確に行い、同じ種類のエラーが異なる場所で繰り返し発生することはありませんでした。これは私が予想していなかった部分です。n8nでの数ヶ月の調整ではここに到達できませんでしたが、Claude Codeでの3回の実行で達成しました。ダナはまだ問題を見つけましたが、それはオープニングを鋭くしたり、セクションを再構成したり、ぎこちない移行をスムーズにしたりするような、小さな編集修正でした。ドラフトはもはやn8nが私たちに与えた大きな問題を持っていませんでした。
最終的に重要だったのは、3つのことです。ドラフトには完全なコンテキストが必要です。LLMをワークフローステップの1つとして扱うと、一貫性のない文章が生まれます。ドラフト作成作業は、記事、スタイルガイド、リサーチを同時に見る必要があります。ファイルのトレイルがシステムです。各スキルは次のスキルが実行される前に作業を保存します。そのトレイルが私たちのチームが問題をキャッチする方法であり、私が任意のステップを再実行できる方法です。スキルを減らし、洗練を増やすこと。9つのスキルが作業をカバーしました。10番目のスキルを追加したくなるたびに、正しい動きは既存の9つのうちの1つを洗練させることでした。パイプラインは稼働しており、チームはそれを使用しており、貢献者は大幅な時間を節約しており、フィードバックはAI生成コンテンツで得たものよりもポジティブです。もしAIコンテンツで品質の限界に達しているなら、AIがどこで執筆の決定を下しているかを尋ねてみてください。それがワークフローステップ内で行われているなら、それが限界の原因です。ドラフト作成作業をAIがファイルに直接アクセスできる場所に移動してください。それはClaude Codeのようなエージェントや、AIに参照資料への持続的なアクセスを提供するツールかもしれません。それが私たちにとって限界を突破する動きでした。
n8nの問題点は、既存の記事を更新することが監査と外科的な書き直しの2つの仕事を含むことです。何が古くなっているのか、競合がどこに移動したのか、AI検索の風景が今何を期待しているのか、新しい製品機能をどのように織り込むのか、そしてまだ機能している部分に触れずにどのように更新するのかを理解する必要があります。これを数百件のバックログに掛け算すると、ワークフローは迅速で正確、一貫性が必要です。
私の最初の試みはn8nワークフローでしたが、リサーチ部分は機能しました。各記事について、キーワードの包括的なSERPデータ、上位競合記事、私たちの記事と競合を比較する埋め込みドメインインテリジェンス(EDI)スキャン、クエリに対するGoogleのAI概要、Googleが提示する関連検索、私たちのコンテンツ内の内部リンク機会を引き出しました。しかし、ドラフト作成はうまくいきませんでした。ドラフトは私が求めていたものに近いものでしたが、公開するには十分ではありませんでした。声が合わず、構造がスタイルガイドを無視し、言葉が冗長でした。そして最悪なのは、AIが存在しないSemrushの機能を詳細に説明する幻覚があったことです。
私は出力を改善するために考えられるすべてを試しましたが、一貫した高品質の出力は得られませんでした。最終的に、n8nから得られるコンテンツの修正を試みるのをやめました。リサーチ部分はチームが執筆するための情報を提供していたので、それを継続し、ドラフト作成は一時保留にしました。しかし、ドラフト作成が失敗し続ける理由を考え続けました。
実際、失敗は構造的なものでした。n8nはAPIコールを連鎖させるのに優れていますが、記事をドラフトするには編集的な推論が必要です。記事全体を一度に考慮し、スタイルガイドや過去の例を参照しながら判断を下す必要があります。ワークフローツールはそのために作られていません。
Claude Codeに切り替えた理由は、元の記事を読み、クエリの背後にある意図を理解し、何を変更し何をそのままにするかを判断できるものが必要だったからです。いくつかのオプションを検討し、Claude Codeに戻ってきました。Claude Codeは、コンピュータのフォルダー内で実行されるエージェントであり、パイプラインはそのフォルダーです。スタイルガイド、過去のドラフト、リサーチ出力、更新される記事はすべてその中のファイルです。Claude Codeは必要なときに必要なものを読み、行った作業は次のステップで使用できる別のファイルになります。
n8nとの構造的な違いは、AIがワークフローにどのように組み込まれているかです。n8nでは、ワークフローを事前に構築し、AIは特定のステップを実行しますが、Claude CodeではAIがワークフロー自体を実行し、ファイルを読み、何をするかを決定し、出力を生成します。各ステップで何をするかを指示するスキル指示と組み合わせることで、Claude Codeはドラフトに必要なコンテキストと、脱線しないための制約を持っています。これが違いを生み出しました。
AIは必要なときに必要なものにアクセスでき、各ステップで定義された仕事を持っていました。生成された作業は次のスキルが引き継げるファイルであり、ライターが後で確認できるものでした。私はClaude CodeでAPIコールを含む全体のパイプラインを再構築しました。すべてが1つのフォルダーにあるため、ドラフト作成ステップはリサーチ出力、元の記事、過去のドラフト、スタイルガイドを必要に応じて読み取ることができました。そして、それは機能しました。
このパイプラインは、私たちのライターが編集して公開できるドラフトを生成し、何かが不正確に見えるときに確認できるファイルのトレイルを提供します。私がClaude Codeで構築したパイプラインは、9つのスキルで構成されており、マスタースクリプトによって順番に実行されます。更新したい記事のURLとターゲットキーワードを入力すると、ドラフトが返されます。ドラフトは他の記事と同様に通常の編集ワークフローを経て、レビュー、改訂、編集、画像が追加されます。私たちのチームがすべての編集判断を行います。
9つのスキルは次の通りです:
1. ライブ記事を取得する
2. SERPと競合をリサーチする
3. 既存の作品に対してEDIセマンティック類似性チェックを実行する
4. 更新計画を合成する
5. 古いコンテンツを特定する
6. 製品の言及を監査する
7. 更新をドラフトする
8. 元のドラフトと新しいドラフトの比較を生成し、変更を強調表示する
9. 公開用に結果をフォーマットする
私は意図的に9つのスキルに留めました。これは、パイプラインが必要とするすべての判断に対して明確なスキルを持つ最小の数でした。そして、1つの設計選択が非常に重要であることが判明しました。各スキルは、次のスキルが実行される前に作業をファイルに保存します。これらのファイルは、私がパイプラインのアーティファクトと呼ぶものです。リサーチ、計画、ドラフト、サイドバイサイド比較が含まれています。各ステップをファイルとして保存することで、任意のスキルを再実行でき、誰でもファイルを開いてドラフトに問題があるときに確認できます。
Claude Codeパイプラインが動作し始めたときに変わったことは2つあります。AIが時折生成する幻覚が簡単にキャッチできるようになったことと、ドラフトが私たちが書いたように読まれるようになったことです。AI生成のステップは時折幻覚を引き起こす可能性がありますが、パイプラインはそれを迅速にキャッチするように構築されています。私たちの貢献者の一人であるダナがドラフトをレビューしているとき、存在しない機能に関する信じられる指示に遭遇しました。これは、古いn8nバージョンでは見逃されるか、20分のクロスチェックを要するエラーでした。彼女はサイドバイサイドの差分を開き、元の記事の同じセクションを見て、元の記事にはそのワークフローが言及されていないことを確認し、作り話を置き換えました。全体で1分かかりました。
これがアーティファクトの目的です。AIは間違いを犯すことがありますが、パイプラインはレビュアーがそれをキャッチし、1分で確認できるように構築されています。もっと大きな話は、実行を重ねる中で起こったことです。数ヶ月間、私はドラフト作成ステップがSemrushのように読まれるものを生成するように努力してきました。つまり、声、トーン、構造、そして自社製品の説明の適切なアプローチです。n8nでは、1つの要素をうまく捉えたドラフトが得られ、他の3つを逃すことがありました。そして次の実行では異なる組み合わせが得られました。しかし、Claude Codeでは、わずかな調整を加えた3回の実行で、私は目標に到達しました。3回目には、ドラフトが一貫して強力になりました。
声は元の記事に一致し、構造はスタイルガイドに従い、トーンはSemrushに合い、ブランドポジショニングも正しかったです。AIは製品の説明を正確に行い、同じ種類のエラーが異なる場所で繰り返し発生することはありませんでした。これは私が予想していなかった部分です。n8nでの数ヶ月の調整ではここに到達できませんでしたが、Claude Codeでの3回の実行で達成しました。ダナはまだ問題を見つけましたが、それはオープニングを鋭くしたり、セクションを再構成したり、ぎこちない移行をスムーズにしたりするような、小さな編集修正でした。ドラフトはもはやn8nが私たちに与えた大きな問題を持っていませんでした。
最終的に重要だったのは、3つのことです。ドラフトには完全なコンテキストが必要です。LLMをワークフローステップの1つとして扱うと、一貫性のない文章が生まれます。ドラフト作成作業は、記事、スタイルガイド、リサーチを同時に見る必要があります。ファイルのトレイルがシステムです。各スキルは次のスキルが実行される前に作業を保存します。そのトレイルが私たちのチームが問題をキャッチする方法であり、私が任意のステップを再実行できる方法です。スキルを減らし、洗練を増やすこと。9つのスキルが作業をカバーしました。10番目のスキルを追加したくなるたびに、正しい動きは既存の9つのうちの1つを洗練させることでした。パイプラインは稼働しており、チームはそれを使用しており、貢献者は大幅な時間を節約しており、フィードバックはAI生成コンテンツで得たものよりもポジティブです。もしAIコンテンツで品質の限界に達しているなら、AIがどこで執筆の決定を下しているかを尋ねてみてください。それがワークフローステップ内で行われているなら、それが限界の原因です。ドラフト作成作業をAIがファイルに直接アクセスできる場所に移動してください。それはClaude Codeのようなエージェントや、AIに参照資料への持続的なアクセスを提供するツールかもしれません。それが私たちにとって限界を突破する動きでした。