📊

Amazon Q Developer(Claude Sonnet 4)をProで使っていたらリミットに達したのでチャット数を計測してみる

に公開

はじめに

Amazon Q Developer CLIを愛用しております。
IDE統合版ではなく、CLI版を特に使っています。
もちろんProプランでお布施をしております。

本当に愛用しております。酷使しすぎたと言ったほうが正しいのかもしれません。
毎日、なんでもかんでも、ソースコードの相談から、AWSの相談、雑談でもなんでもかんでも、Amazon Q Developer CLIに投げ込んでいたら、「Monthly request limit reached - The limits reset on 09/01.」と言われてここ数日、使用できなくなりました。
困りました。座して待つのは嫌なので動きました。
まあ、明日になればまた使えるのでしょう。楽しみです。

ちなみにAmazon Q Developer CLIから使用できるモデルは、Anthropic社のClaude Sonnet 4です。
これまたちなみに、私はmacOS 15.6.1を使用しています

チャットの数を数えるラッパーを作りました(Codex CLIが)

#!/usr/bin/env bash
set -euo pipefail

# q chat usage counter wrapper
# - Counts assistant replies completed during this run by querying SQLite
# - Logs to ~/.local/share/q-wrapper/usage.csv

subcmd="${1:-}"

# Detect DB path
case "${OSTYPE:-}" in
  darwin*) DB_PATH="$HOME/Library/Application Support/amazon-q/data.sqlite3" ;;
  linux*)  DB_PATH="${XDG_DATA_HOME:-$HOME/.local/share}/amazon-q/data.sqlite3" ;;
  *)       DB_PATH="$HOME/Library/Application Support/amazon-q/data.sqlite3" ;;
esac

LOG_DIR="$HOME/.local/share/q-wrapper"
mkdir -p "$LOG_DIR"
LOG_FILE="$LOG_DIR/usage.csv"

# Start and end window in UNIX ms
start_ms=$(($(date +%s)*1000))

# Run q with all arguments
set +e
if ! command -v q >/dev/null 2>&1; then
  echo "[qw] error: 'q' not found in PATH" >&2
  exit 127
fi
q "$@"; exit_code=$?
set -e

end_ms=$(($(date +%s)*1000))

# Only attempt counting for chat subcommand and when DB exists
count=0
dir_key="$(pwd)"
if [[ "$subcmd" == "chat" && -f "$DB_PATH" ]]; then
  # Count history entries whose stream_end_timestamp_ms fell within this run window
  # Escape single quotes for SQL literal
  esc_key=${dir_key//\'/''}
  read -r count < <(sqlite3 -readonly "$DB_PATH" "WITH rows AS (
    SELECT json_extract(h.value, '$.request_metadata.stream_end_timestamp_ms') AS end_ms
    FROM conversations, json_each(conversations.value, '$.history') AS h
    WHERE conversations.key = '$esc_key'
  ) SELECT COUNT(*) FROM rows WHERE end_ms IS NOT NULL AND end_ms >= $start_ms AND end_ms <= $end_ms;") || count=0
fi

# Append CSV log: ts,subcmd,dir,count,exit
ts=$(date -Iseconds)
printf "%s,%s,%s,%s,%s\n" "$ts" "${subcmd:-}" "$dir_key" "$count" "$exit_code" >> "$LOG_FILE"

# Friendly summary
echo "[qw] replies this run: $count (dir=$dir_key, exit=$exit_code)"

exit "$exit_code"

名付けて、q wrapper で、qw です。
このファイルを適当なところに置きまして、chmod +x qwとでもやって実行権限を与え、PATHを通しておきます。
sqlite3 コマンドも必要です。

使い方

q chat --resumeの代わり、qw chat --resumeの要領で使います。
あとは普通に、Amazon Q Developer CLIとの開発という名の芸術活動を楽しみ、/quitコマンドで抜けると、チャットした数を数えてくれます。

集計結果

~/.local/share/q-wrapper/usage.csv にたまります。
こんな感じです。

2025-08-29T03:08:20+09:00,chat,/Users/yamauchi/memo,0,0
2025-08-29T03:14:08+09:00,chat,/Users/yamauchi/memo,4,0
2025-08-29T08:57:42+09:00,chat,/Users/yamauchi/Documents/AWS,116,0
2025-08-29T20:29:47+09:00,chat,/Users/yamauchi/Documents/AWS,12,0
2025-08-30T21:13:05+09:00,chat,/Users/yamauchi/memo,2,0
2025-08-30T22:22:11+09:00,chat,/Users/yamauchi/memo,1,0
2025-08-31T10:02:50+09:00,chat,/Users/yamauchi/memo,5,0
2025-08-31T10:25:48+09:00,chat,/Users/yamauchi/PythonProjects/mcp-charcount,0,0
2025-08-31T10:29:16+09:00,chat,/Users/yamauchi/PythonProjects/mcp-charcount,13,0
2025-08-31T10:31:06+09:00,chat,/Users/yamauchi/PythonProjects/mcp-charcount,3,0
2025-08-31T10:32:06+09:00,chat,/Users/yamauchi/PythonProjects/mcp-charcount,3,0

左から以下の情報が並んでいます。

  • 日時
  • サブコマンド(chat)
  • ディレクトリ
  • チャット回数
  • 終了コード

正確には測れません!!!

最初に言っておくと、なんとなくの概算でしか測れません。

いまのところは私の体感と合っています。
こちらからプロンプトを打ち込んで、Amazon Q Developer CLIからの回答が返る1往復で1カウントです。

/quitしたあとでしか測れないのと、ずっと会話をつづけていると自動で/compactされる場合があるとおもいますがそうした場合の挙動があやしいです。

まあ、そのへんはご愛嬌ということで、よろしくお願いします。

どうやってつくったの?

OpenAI社のCodex CLIに作ってもらいました。
私ひとりではこんな難しいことはとてもできそうにありません。

https://github.com/aws/amazon-q-developer-cli

ソースコードは公開されているので解析してもらったわけです。やりたいことだけ伝えたら、意図をくんでくれてまたたく間に作ってくれました。

  • q chatの履歴が、data.sqlite3に記録されていること
  • データベース内のテーブル構造を把握して集計用のSQLを書いてくれました

Proプランの上限と現在使用量

Proプランの上限と現在使用量はわかりません。

Proプランの上限

https://aws.amazon.com/q/developer/pricing/

料金ページをみても、includedとしか書かれておらず、さっぱりわかりません。
2025/08/28に「Monthly request limit reached - The limits reset on 09/01.」となったので、上限はありそうです。そりゃそうだと思います。他のAIエージェントは、$20/mo、$40/mo、$200/moの3体系が一般ではないでしょうか。同じくAmazon製のKiroもそうなっています。Amazon Q Developerでの課金プランは、現状$19/moのみです。

現在使用量

これもわかりません。
上限がさっぱりわからないですし、上限に対してどのくらいの割合を消費しているのかもわかりません。これはサポートに問い合わせていただいた回答なので、2025/08/29時点では間違いのないことです。

Freeプランだと、50という数字が見えます。何をもって1と数えるのかがわかりません。そこで自分のチャットの数を数えてみることで、推測ができるようになることを狙っています。


Amazon Q Developerとの思い出

Amazon Q Developerとのこの夏の思い出を書きます。

6月にQのTシャツをもらいました!

Amazon Q CLI でゲームを作ろう Tシャツキャンペーン (好評につき期間延長!) に応募し、見事Tシャツをいただきました!
うれしかったです。ありがとうございます!!!

いただいたTシャツは、この夏のシーンに重宝いたしましたし、一歩先取りしている感を誇らしく思っておりました。

7月にFreeプランで使っていると7/20くらいに上限に達しました

最初は、AWS Builder IDで使用していました。7月はmodelをclaude-3.7-sonnetに切り替えさせられることが常でしたが、Freeプランだから仕方ないと思っていました。相当使っていたと思います。チャットの数だけでいうと50なんて数時間で消費してしまうと思います。それでも7/20くらいまでは使えていたと思います。IDE版で使わなければ、無制限なのかと途中まで思っていました。そのくらいFreeプランでもたいへんお世話になりました。

私の「ソフトウェア開発ライフサイクル(SDLC)」を大きく変えており、Amazon Q Developer CLIは手放すことのできない存在になっておりました。

8月からはProプランに入りました

8月からはProプランに入りました。お布施を始めました。
しかしこのProプランの登録がめちゃくちゃ難しいのです。

その難しさは以下の記事に書きました。

【月19ドル】Amazon Q Developer CLIが好きです(9月以降は値上げ?)

それはそれとして、一回やればいいので、課金設定の難しさよりもその後に得られる「ソフトウェア開発ライフサイクル(SDLC)」の変革によるメリットのほうがでかすぎます!

冒頭お伝えした通り、Amazon Q Developer(Claude Sonnet 4)を酷使しすぎまして、果たしてMonthly request limit reached - The limits reset on 09/01.となってしまいました。明日の9/1がくるのが待ち遠しいです。


さいごに

現在は、Freeプラン時代に使っていたAWS Builder IDでログインしなおして使っております。

結局何をしたのかというと、OpenAI社のCodex CLIに、Amazon Q Developer CLIを解析してもらったというこの夏の思い出です。

Discussion