Zenn
🦔

1152円と1時間でブログアプリをデプロイできる

2025/03/24に公開
7

はじめに

約 1150 円を払うことで、blog アプリの原型をフルスクラッチで作成でき、vercel へデプロイまでできました。

概略を備忘録として残しておきます。

  • FW : nextjs
  • css : tailwind
  • エディタ : vscode
  • 拡張機能 : Cline
  • 使用した AI モデル : claude-3.7-sonnet
  • 所要時間 : 1 時間程度
  • かかった料金 : 7.69 ドル(約 1,152 円) (149.79 円/ドル)

成果物

https://nextjs-blog-app-roan.vercel.app/

https://github.com/nekoallergy22/nextjs-blog-app

詳細

clinerules

下記の clinerules を設定しました。

作成した clinerules

本ルールを作成するにあたって、下記の clinerules を参考にしました。
これは python 用のルールだったので、Web 開発用に書き直して使用しました。

参考にした clinerules

所感

最高な点

良かった点をまとめます。

  • 自動生成
    • ほとんどの処理を自動で実行できた
    • 人間はコマンド実行時に承認ボタンを押すのみ
    • git 操作、github 操作、vercel へのデプロイもコマンドのみで完結
  • ドキュメントも自動生成
    • clinerules で設定した通り、プロジェクトの最初はdocs/design.mdを作成する
    • 作成した要件に沿ってモデルは作業を進める。
  • gh コマンドを使うことで github の処理を任せられた
    • リモートリポ作成
    • プルリクエスト作成
    • マージの実行
    • ブランチ保護の設定
  • テンプレ化することでルールを統一できた

イマイチな点

独自実装は一切していません。そのため、機能が不十分な点や、ルールに沿っていない部分が見られます。

  • 記事の作成、修正、削除が UI からできない
    • 理由は記事情報の格納が DB ではなく、ディレクトリ上の json への直接書き込みのため。
    • そもそも、管理者用の画面を用意するべき。
  • clinerules で Docker 使えって言ったのに実装してくれなかった
    • 順番的に後の操作だから、前の操作のボリュームが多く、なんやかんや埋もれてしまった。
    • テストコード実装も同様に未実装
  • build エラーが発生した際に、nextjs のバージョンを下げようとしてきた
    • 実際は node のバージョンが足りなかった
    • 「nextjs のバージョンを変えずに」と指示することで対応。最初から rule に追加していればよかったかも。
  • 不要な UI のこだわり
    • ボタンの UI なんかを独自でカスタマイズしはじめた。
    • 理由は、clinerules の tailwindcss に関する指示で、「複雑なスタイルは~」と記述してしまったせいかも
    • たとえばこれ
  • マイグレーションのエラーが発生し、沼ってしまった
    • 5 回くらい Try&Error を繰り返していた
    • 最終的に改善したのでよし
    • 今後同じミスをしないように、docs ディレクトリにnotesを置いておいた。

今後の改善点

  • もっと自動生成
    • docker 環境の自動構築
    • テストコード自動生成
  • Issue 管理ができていなかったので、タスクは前もって Issue を発行する
    • Issue 発行 -> ブランチ切る -> 実装 -> push -> PR 出す -> マージ の流れが理想
    • gh コマンドで自動化したい
    • Issue の前にタスク分解して docs においておく
  • Vercel Authentication を無効化する
    • デフォルトの設定で vercel へデプロイすると、Vercel Authenticationによってサイトが保護されている。
    • Vercel アカウントを持つユーザーのみアクセスを許可する。
    • これによってログインなしの一般ユーザからはサイトへアクセスできない。無効にする設定が必要。
    • 無効化設定は CLI ではできない模様。vercel api を使えばできるっぽい?

もっと将来系

さいごに

世界中の誰かの助けになれば幸いです。

追記

claude の UI 上で API 使用量を見ると、下記のような感じでした。

claude-price-ui

claude 3.7 sonnet による分析結果

この画像は Claude の API を使用した際の料金内訳を示しています。以下の内訳が表示されています:

  • Input: USD 0.00(入力料金)
  • Prompt caching write: USD 1.80(プロンプトキャッシュ書き込み料金)
  • Prompt caching read: USD 4.74(プロンプトキャッシュ読み取り料金)
  • Output: USD 1.37(出力料金)

この料金内訳から、プロンプトキャッシングが積極的に使用されていることがわかります。特にプロンプトキャッシュの読み取り料金が最も高額(USD 4.74)であり、多くのリクエストでキャッシュされたプロンプトが再利用されていることを示しています。

キャッシュ書き込み(USD 1.80)はキャッシュ読み取りよりも低い金額ですが、これは新しいプロンプトパターンの初回処理に対する費用です。通常、キャッシュ書き込みはベース入力料金より高く、キャッシュ読み取りはベース入力料金より安くなるため、頻繁に同じプロンプト構造を使用する場合はコスト効率が向上します。

Anthropic の場合、

  • キャッシュ書き込みトークンはベース入力トークンより 25%高いコストがかかります
  • キャッシュ読み取りトークンはベース入力トークンより 90%安くなります

入力料金が 0.00 ドルとなっているのは、すべての入力がキャッシュ処理されているためと考えられます。全体として、この使用パターンはプロンプトキャッシングを効果的に活用していることを示しています。

7

Discussion

ログインするとコメントできます