1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「レビューを繰り返して」と頼んだだけで、旧システムの計算バグが見つかった

1
Posted at

旧システムの会計機能を、別システムへ移植するための資料をAIに作らせました。
資料ができたあと、こう頼みました。

この資料を深く読んで分析して、レビューを繰り返し、抜け漏れや考慮漏れがないか徹底的に考えて

指示はこれだけです。ここからAIが自分で進めた流れと、出してきた結果を紹介します。

1. AI が観点を分けて、並行でレビューした

AI は観点の違う3つのサブエージェントを立ち上げ、同時にレビューさせていました。

レビュー観点
- 旧システムの挙動を正しく写せているか
- 移植先の既存機能を壊さないか
- 経理・運用の目で見て穴がないか

返ってきた指摘の一部です(3つ合わせて約50件)。

【高】移植案では「付替行は除外」としているが逆効果
  親子予約の間で金額を移す行。除外すると、子は全件「入金不足」、
  親は「過不足」のエラーになる。
  直し方: チェックにも仕訳にもそのまま含める

【高】「旧システムで現役の機能」と書いているが、実際は無効化されている
  呼び出し口がコメントアウトされている

指摘にはどれも、該当するコードの箇所が根拠として付いていました。

2. AI が指摘を裏取りしてから反映した

AI はレビュー役の指摘をそのまま採用せず、重要なものは自分でコードを読んで確かめていました。誤った指摘も見つけています。

レビュー役の指摘:
  チェック②の対象は「一昨日以前」の売上だけ

コードで確認した結果:
  日付を時刻付きのまま比較しているため、昨日の分も含まれる
  → この指摘は反映しない

3. 直したあと、もう一度レビューした

AI は修正した資料を、別のサブエージェントにもう一度レビューさせていました。旧システムのバグが出てきたのは、この2回目です。

【高】未収金・預り金の計算が正しい累計になっていない
  未収 += 売上日計 − 入金日計 − 預り残高
  預り += 入金日計 − 売上日計 − 未収残高
  例: 前日に入金 5,000、1泊目・2泊目の売上が各 10,000、チェックアウト日に入金 15,000
      2泊目の未収金 → 正しくは 15,000、実際は 10,000
      チェックアウト日の貸借が 5,000 ずれる
  直し方: 旧システムのとおりに再現するか、正しく作り直すかを決める

この機能は、経理から「数字が合わない」という声が続いて使われなくなっていました。
その原因の一つが、コードで説明できました。

わかったこと

  • 「レビューを繰り返して」と頼むだけで、AI は観点を分けた並行レビュー、裏取り、再レビューまで自分で進めた
  • 1回目は資料の大きな穴、2回目は計算式の細部と、周回ごとに見つかるものが変わった
  • レビュー役のAIも間違える。裏取りの工程があったから、誤った指摘を資料に入れずに済んだ
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?