現場ノート

実際のプロジェクトでAIエージェントと働いた3時間:記録と数字

このブログ自身でAIエージェントと長く作業した1回分の記録を、gitの履歴とチャットの履歴から測りました。12回のコミット、33通のメッセージ、そして人の目だけが見つけた不具合。

  • #AIエージェント
  • #現場ノート
  • #実測
  • #検証
  • #ワークフロー

スライド

スライドをクリックし、矢印キーでページを移動します。Lキーで言語、Fキーで全画面表示を切り替えます。

全画面で開く

この現場ノートは、確かめられる2つの情報源から測っています。このブログのプロジェクトのgit履歴と、筆者とAIエージェント(Claude Code)とのチャット履歴です。組み立てた数字はありません。

先に限界を述べます。これは1回の作業、1つのプロジェクト、人とエージェントの1組で、対照群はありません。ある具体的な姿を示すものであり、すべてのプロジェクトについて何かを証明するものではありません。


要点#

  • 最初のコミットから最後のコミットまで3時間18分で、エージェントと人は合計6,922行の追加または削除を伴う12コミットを作りました。
  • 人は33通のメッセージを送りました。コミットの指示が11、新しい作業の依頼が7、不具合の報告ややり直しの依頼が15(約45%)です。
  • 12コミットのうち7つはフィードバックを受けた修正でしたが、合計で323行、変更行数の約**4.7%**にすぎません。小さな不具合が、何回転もかかります。
  • 人が見つけた不具合の大半は目に見えるものでした。箱の中の箱、欠けた丸、違う言語の文字、かたい言い回し。少なくとも4つは、当時その種類のチェックがなかったために自動チェックをすり抜けました。
  • あるとき、エージェントは場所を間違えて直しました。ラベルを動かしましたが、本当の原因は画像の枠でした。直す前に測ることで原因が分かりました。
  • 実践的な学び:不具合のたびに、新しいチェック1つと、プロジェクトの手引きに1行を残すこと。

1. 背景#

プロジェクトは、この個人の静的ブログです。Markdownの内容、手書きのページ生成器、3言語(ベトナム語、英語、日本語)、そしてスライドです。作業中、筆者はメッセージでエージェントに仕事を渡し、エージェントはファイルを読んで直し、ビルドとチェックのスクリプトを走らせ、人がブラウザで結果を見て返信しました。コミットは人が指示したときだけ作られました。

これは「エージェントが一晩ひとりで走る」やり方とは違い、人がそばに座って絶えずフィードバックする形です。数字を読むときはこの点に留意してください。


2. コミットの記録#

時刻はgitの履歴によるものです(現地時間、同じ日)。「種類」はコミットの接頭辞です。

時刻 種類 内容 生まれた理由
11:08 feat 3言語の翻訳と見た目の調整 人が不具合のスクリーンショットを送り、見直しを依頼
11:26 feat 記事「AIを鵜呑みにしてはいけない理由」とスライド 新しい作業
11:45 feat 記事を分かりやすくし、開発者の例を追加 フィードバック:分かりにくい、用語が硬い
12:26 fix あいまいなスライドを書き直し、キーボードのデモの配置を修正 不具合のスクリーンショット付きのフィードバック
12:30 docs スライドで使った基準に記事をそろえた フィードバック:基準に合っていない
12:35 fix 英語と日本語のスライドに残っていたベトナム語のラベルを翻訳 スクリーンショット付きのフィードバック
12:49 feat 記事「AI時代のITチームの働き方」と21枚のスライド 新しい作業
12:55 feat スライドの文言を引きつけるものに書き直し フィードバック:言い回しがぎこちない
12:57 fix 表紙にテーマ名を追加 スクリーンショット付きのフィードバック
14:15 feat SEO、GEO、AEOの導入(33ファイル) 新しい作業
14:22 fix マスコットのアンテナの丸が隠れないように修正 スクリーンショット付きのフィードバック
14:26 fix 本当の原因を修正:SVGの枠が丸を切っていた フィードバック:まだ直っていない

大きな納品のたびに、その後に修正が続きました。チームワークのスライドの後、最初の修正は6分後。SEOの一式の後、最初の修正は7分後、本当の原因の修正は11分後でした。


3. 数字#

指標 値 測った元
最初と最後のコミットの間隔 3時間18分 git log
コミット数 12(機能6、文書1、修正5) git log
コミット全体での追加または削除の行数 6,922(2回書き直した行は2回数える) git log、コミットごとの統計
作業前との最終的な差 40ファイル、追加5,983、削除311 git diff
人のメッセージ 33通 チャット履歴
うち、コミットの指示、新しい作業、不具合報告ややり直し 11、7、15 手作業の分類
フィードバック後の修正コミット 12のうち7 手作業の分類
その修正コミットの行数 6,922のうち323(4.7%) git log

メッセージの分類の方法:「不具合報告ややり直し」は、納品した結果に誤りがある、分かりにくい、意図と違う、と伝えるメッセージです。「新しい作業」は、内容や機能の追加の依頼です。分類は手作業で、いくつかのメッセージは議論の余地があります。

最も印象的なのは、**12コミット中7つ対、行数の4.7%**です。労力の大半は、文章の量ではなく戻る回数にあります。


4. 人が見つけた11の不具合#

エージェントより先に人が見つけた代表的な不具合です。最後の列は根本原因を示します。

# 人が見たこと 根本原因 分類
1 検索ボックスが「動かない」 絞り込みの論理は正しいが、結果が最初の画面の下にあり、何も起きないように見えた 体験
2 マスコットの「髪」が黒く、ダークモードで見えない SVGの中の固定色 見た目
3 薄いベージュの縁取りが醜い エージェントは見えやすさで色を選び、美しさでは選ばなかった 美的感覚
4 日本語のタイトルの改行で意味が切れた ブラウザが語句の途中で改行した 言語
5 スライドの「温度」が誰にも分からない 用語の機械的な翻訳 言葉
6 スライドの冒頭の一文があいまいで、内容を予告しているだけ 「AIが言葉を選ぶ様子を思い描く方法がある」のような文は何も語らない 言葉
7 日本語のスライドにベトナム語が残っていた 表紙の2つのラベルが翻訳の仕組みの外に直接書かれていた 言語
8 キーボードのスライドで箱の中に箱 CSSのルールが翻訳文を包む要素にも当たった 見た目
9 スライドのタイトルが依頼文をそのまま写してぎこちない エージェントは依頼の文字に従う 言葉
10 表紙にテーマ名がない 引きつけるタイトルがテーマ名に取って代わった 言葉
11 最初の修正の後もマスコットの丸が欠けたまま 最初は場所を間違えた。犯人はラベルではなくSVGの枠だった 原因

分類:言葉が4、言語が2、見た目が2、体験が1、美的感覚が1、診断の誤りが1。

注目すべき点: これらはどれもプログラムの論理の誤りではありません。結果が目にどう見えるかにあり、人が画像を渡さないかぎりエージェントには目がなく、自動チェックにも見るよう教えていませんでした。


5. 自動チェックは捉えたか#

エージェントはチェックのスクリプトを書きました。スライドの配置(はみ出し、重なり、タイトルの折り返し)と、その後は言語が漏れた文字の検査です。これらは人が見る前に多くの不具合を捉えました。しかし上の表のうち少なくとも4つは、当時その種類のチェックがなかったためにすり抜けました。

  • 不具合7、8、10、11:配置のチェックは「問題なし」と言うか、存在しなかったのに、人は間違いを見つけました。配置のチェックは「違う言語に文字が漏れていないか」「ページが正しいテーマを示しているか」「動くあいだに丸が欠けないか」を問いません。

そのたびの正しい対応は、新しいチェックを足すことでした。言語漏れの検査、4つの幅での丸とラベルの間隔の測定、「タイトルはテーマを示すこと」という規則です。自動チェックは、人が出会う不具合とともに育ちます。

不具合11はよく読む価値があります。間隔の測定は重なりなしと示しましたが、犯人は丸が跳ね上がるときに形を切るSVGの枠でした。動きの頂点で不具合を再現し、形と枠を比べて初めて原因が分かりました。教訓:直す前に測り、まさにその状況を再現する。

これはAIを鵜呑みにしてはいけない理由と同じ型です。結果は完成して見え、内部のチェックは問題なしと言い、見た人が間違いを見つけます。


6. 6つの学び#

  1. 人のフィードバックは、おもに見ること、感じることについて。 絵、言葉、名前、配置。人が指摘するのを待つのではなく、エージェントが自分の結果を見られる手段(スクリーンショット、スクリプトでの測定)を用意します。
  2. 費用は行数ではなく回転数にある。 7つの修正コミットは323行だけ。費用を下げるには、最初から「完成とは何か」を示して戻る回数を減らします。
  3. 自動チェックは教えられたことしか捉えない。 不具合のたびにチェックを足します。さもないと同じ種類が戻ってきます。
  4. 直す前に測る。 最初の丸の修正は、最初にもっともらしい推測に従ったため外れました。不具合を最悪の状態で再現します。
  5. エージェントは言葉に従う。 人が「AではなくBへ向かう」と言うと、エージェントはそのままタイトルに写しました。依頼文を写さず、言い換えるよう求めます。
  6. 学びをプロジェクトの手引きに書く。 繰り返す不具合は、案内ファイルの1行になります(AI向けの手引きを参照)。このプロジェクトには現在、4つの専用の手引きと1つの共通の注意書きがあり、項目のほとんどが上の不具合から生まれています。

7. このノートの限界#

  • 1回の作業、1つのプロジェクト、1組。 一般的な水準は推測できません。これは内容と見た目のプロジェクトで、目に見える不具合の比重が大きいものです。バックエンドのプロジェクトなら別の姿になります。
  • 対照なし。 人が1人でやったらどれくらいかかったかは分からず、エージェントが速かったか遅かったかは言えません。以前の記事で触れたMETRの研究が警告したとおり、速く感じることは速いことではありません。
  • 手作業の分類。 メッセージと不具合は手で分けており、別の人は数件を違うところに入れるかもしれません。
  • 時間はコミットから。 コミットは人が指示したときだけ作るため、実際の作業は2つのコミットの間隔より長くなります。
  • 測っていないこと: 人が見て、フィードバックを打つのにかけた時間、読者から見た品質、エージェントを使う費用。

8. 自分のプロジェクトで測る#

小さな記録があれば、自分の数字が得られます。エージェントに渡した作業ごとに1行です。

列 例
作業 「検索ページを追加」
開始、終了 10:05、10:40
修正の回転数 3
不具合の種類 見た目、論理、言葉、言語、診断の誤り、美的感覚
誰が見つけたか 人、自動チェック、エージェント自身
チェックや手引きの1行を足したか はい、いいえ

2つのコマンドを添えます。

git log --format='%h %ad %s' --date=format:%H:%M --shortstat
git diff --shortstat <作業前のコミット> HEAD

1週間後、3つの数字を読みます。何件の作業が2回転より多くかかったか、どの種類の不具合が最も繰り返されるか、誰が不具合の大半を見つけるか。この3つが、自動チェック、手引き、仕事の渡し方のどれに投資すべきかを教えてくれます。


9. 結論#

3時間で、エージェントは大量の成果を素早く作り、人は、人の目にしか見えない小さな点のために何度も戻らなければなりませんでした。どちらも本当です。エージェントのそばに座る価値は、修正のたびにチェックか手引きの1行に変えることにあり、次にその不具合を人が指摘する必要がなくなります。

このノートは1つの標本にすぎませんが、測り方は再利用できます。あなたも1週間を記録すれば、その数字は、他の誰のレポートにも代わりに言えないことを語ってくれます。


参考資料#

数字は、このプロジェクトのリポジトリのgit履歴(コミット 3791938 から ec1bc85)と、作業のチャット履歴によります。リポジトリ内の関連記事:

外部の参考資料:

よくある質問

実際のプロジェクトでAIエージェントはどれくらい効果的ですか?
このブログのプロジェクトでは、エージェントは3時間でおよそ6,000行の変更を作りましたが、人のメッセージの約3通に1通は不具合報告ややり直しの依頼でした。これは人とエージェント1組の1回分の作業で、対照実験ではないため、エージェントが人より速かったか遅かったかは結論できません。
AIエージェントのどんな不具合が自動チェックをすり抜けますか?
目で見えるものです。CSSのルールが包む要素に当たって箱の中に箱ができたこと、動くあいだに画像の枠で丸が欠けたこと、ベトナム語が日本語版に漏れたこと、依頼文をそのまま写したタイトルなどです。チェックは教えられたことしか捉えないので、新しい不具合のたびに新しいチェックが要ります。
AIエージェントと働く成果はどう測ればよいですか?
作業ごとに1行を記録します。何をしたか、どれくらいかかったか、修正が何回転したか、不具合の種類、誰が見つけたか(人かツールか)。gitの履歴とメッセージ数も添えます。数日たつと、エージェントがきれいにこなす作業と、人がそばに必要な作業が見えてきます。
1回の修正が数行なのに、なぜ何回転もするのですか?
費用は行数ではなく、戻る回数にあります。気づく、伝える、直るのを待つ、確かめ直す、で1回転です。この作業では修正コミットは約323行だけでしたが、12コミットのうち7つを占めました。