不動産・住宅設備の紹介文が「コピペの繰り返し」になっている問題

不動産会社や住宅設備メーカーで物件・製品ページを管理している担当者は、同じような文章を何度も書いている。築年数・駅距離・間取りといった情報を入れ替えるだけで、ベースの文体は変わらない。それでも毎回手で書いているケースが多い。

Claude Codeを使って「スプレッドシートに情報を入れれば紹介文が自動生成されるツール」を作った事例を紹介する。作成時間は約2時間。非エンジニアの営業担当が運用できる設計にした。

作ったツールの概要

仕組みはシンプルだ:

  1. Googleスプレッドシートに物件情報を入力する
  2. GASスクリプトを実行する
  3. Claude APIが紹介文を生成する
  4. スプレッドシートの指定列に自動入力される

ツールの管理はスプレッドシート上で完結するため、エンジニアがいない会社でも運用できる。

Claude Codeでスクリプトを作る手順

Claude Codeは「自然言語でコードを書いてもらい、その場で実行・修正できる」ツールだ。今回はClaude Codeに以下のプロンプトを渡して、GASスクリプトを生成した。

以下の要件を満たすGoogle Apps Scriptを作成してください。

【目的】
Googleスプレッドシートの物件情報をClaude APIに渡して、
不動産物件紹介文を自動生成し、スプレッドシートに書き込む。

【スプレッドシートの列構成】
A列:物件名
B列:所在地(市区町村)
C列:最寄り駅・徒歩分数
D列:築年数
E列:間取り
F列:専有面積(㎡)
G列:賃料または価格
H列:特徴(複数可、カンマ区切り)
I列:紹介文の出力先

【紹介文の要件】
- 200〜300文字
- 生活者目線の言葉を使う
- 物件の特徴が1つ以上自然な形で盛り込まれている
- 「〜となっております」などの冗長表現は使わない
- 最後は「ぜひ内見にお越しください」で締めない(使い古された表現のため)

【その他】
- APIキーはScript Propertiesから取得する
- 処理は選択した行のみ実行できるようにする
- エラーが出た場合はセルに「エラー:[エラー内容]」と書き込む

Claude Codeがこのプロンプトからスクリプトを生成し、不明点はその場で質問してきた。「処理は選択した行のみ」の部分でどう実装するかを確認され、「スプレッドシートで選択中の行だけ処理する方法で」と返答したら、getActiveRange()を使った実装が出てきた。

生成されたスクリプトの構造

Claude Codeが生成したスクリプトの骨格を示す。

function generatePropertyDescription() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getActiveRange();
  const startRow = range.getRow();
  const numRows = range.getNumRows();
  
  const apiKey = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
  
  for (let row = startRow; row < startRow + numRows; row++) {
    const propertyName = sheet.getRange(row, 1).getValue();
    const location = sheet.getRange(row, 2).getValue();
    const station = sheet.getRange(row, 3).getValue();
    const age = sheet.getRange(row, 4).getValue();
    const layout = sheet.getRange(row, 5).getValue();
    const area = sheet.getRange(row, 6).getValue();
    const price = sheet.getRange(row, 7).getValue();
    const features = sheet.getRange(row, 8).getValue();
    
    const prompt = `以下の物件情報を元に、生活者向けの物件紹介文を200〜300文字で書いてください。
    
物件名:${propertyName}
所在地:${location}
最寄り駅:${station}
築年数:${age}年
間取り:${layout}
専有面積:${area}㎡
賃料/価格:${price}
特徴:${features}

要件:
- 冗長表現は使わない
- 生活者が購入・入居後に感じる価値を自然に表現する
- 200〜300文字に収める`;
    
    try {
      const response = UrlFetchApp.fetch('https://api.anthropic.com/v1/messages', {
        method: 'post',
        headers: {
          'x-api-key': apiKey,
          'anthropic-version': '2023-06-01',
          'content-type': 'application/json'
        },
        payload: JSON.stringify({
          model: 'claude-haiku-4-5',
          max_tokens: 512,
          messages: [{ role: 'user', content: prompt }]
        })
      });
      
      const result = JSON.parse(response.getContentText());
      const description = result.content[0].text;
      sheet.getRange(row, 9).setValue(description);
      
    } catch(e) {
      sheet.getRange(row, 9).setValue(`エラー:${e.message}`);
    }
    
    Utilities.sleep(500); // APIレート制限対策
  }
}

住宅設備メーカーへの応用

同じ仕組みを住宅設備(キッチン・バス・洗面台など)の製品紹介文に応用した事例もある。入力項目が「商品名・型番・素材・機能・価格・セールスポイント」に変わり、出力も「ECサイト向けの製品説明文(200文字)」「カタログ向けの詳細説明(400文字)」の2種類を生成するように変更した。

この場合、プロンプトに「ショールームで接客するスタッフが口頭で説明するようなトーンで」という指示を加えると、硬すぎず・やわらかすぎずの文体が出やすい。

運用での注意点

物件紹介文・製品説明文は法的な正確さが求められる場面がある。特に不動産では「駅徒歩◯分」「築◯年」などの表記に宅建業法上の規制がある。AIが生成した文章をそのまま掲載する前に、担当者が事実確認をするフローを設けることは欠かせない。

生成コストについては、claude-haiku-4-5を使えば100件処理してもAPIコストは数百円程度に収まる。

まとめ

不動産・住宅設備の紹介文自動生成は、Claude Codeを使えば非エンジニアでも2時間程度でツールを作れる。スプレッドシートで管理できる運用設計にすることで、現場担当者が日常業務として使い続けられる。定型的な文章生成の反復作業をAIに任せることで、担当者の時間を「お客様対応や営業活動」に向けられるようになる。