314 Views
September 16, 26
スライド概要
AWS Startup Community 202609
Developer
実装前のバグを見つけるために、 AI-DLC Workflows v2 を個人開発で入れた話 岡本秀⾼ AWS Startup Community 202609
自己紹介 Hidetaka Okamoto (岡本秀高 ) ● CircleCI Senior Field Engineer ● AWS Community Builder ( Serverless ) ● 年間ブログ件数 100 - 150 本ペースを 10年以上 2
PREMISE 個人のツール / bot系はほぼ AI駆動開発 03 / 12
AGENDA AIが書くコードが 信頼できない
PREMISE CICDの整備や Agent Hookでコード検証は整備した 03 / 12
TDDやDevOpsを整備しても、不具合は起きた 1. Change log監視‧通知 bot が1週間機能不全に 取得先URLがmdではなくhtmlに変わっていた 2. 4つの⼩さな不具合‧不整合が段階的に積み重なった 取得先URLの変更‧R2のキー変更‧型アサーションの改善‧AIレビューの修正 3. ローカルテストも CI も ALL Green、でも壊れていた 個別の開発セッション上ではOK。しかし4つが重なった瞬間に事故となった 複数の異なる判断と小さな仕様の歪みが、テストを壊さずにアプリを壊した AWS Startup Community 202609 04 / 12
AGENDA AIが書くコードが 信頼できない
AGENDA AIが書くコードが そもそも発注者(人間)が 信頼できない
AGENDA コードを書く前にも 何かしらの検証が必要
INTRODUCTION AI DLC Workflows v2 https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
INTRODUCTION AI DLC Workflows v2 https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
INTRODUCTION AI DLC wf v2 -> Agent HookでWFをゴリゴリカスタマイズ https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
INTRODUCTION AI DLC wf v2 -> Agent HookでWFをゴリゴリカスタマイズ 約200行の .claude/settings.json https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
INTRODUCTION AI DLC wf v2 -> Agent HookでWFをゴリゴリカスタマイズ 約200行の .claude/settings.json https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
INTRODUCTION AI DLC wf v2 -> Agent HookでWFをゴリゴリカスタマイズ 約200行の .claude/settings.json https://aws.amazon.com/jp/blogs/news/ai-driven-development-life-cycle/ AWS Startup Community 202609 05 / 12
PREMISE AI DLC Workflows v2導入後の個人開発フロー 03 / 12
PREMISE AI DLC Workflows v2導入後の個人開発フロー ここに従来のコード検証系 フローが内包されている 03 / 12
PREMISE AI DLC Workflows v2導入後の個人開発フロー ここに従来のコード検証系 フローが内包されている 03 / 12
SCOPING スコープを composeでカスタマイズして使う 作りたいものやボリュームに合わせて「やらないステージ」をAIと議論して決定する 9〜14 11 1 113 ステージ intent 本のみ 回 カスタムスコープの幅 運⽤中 フル32/33ステージ完⾛ 承認ゲート通過 AWS Startup Community 202609 06 / 12
SCOPING スコープを composeでカスタマイズして使う 作りたいものやボリュームに合わせて「やらないステージ」をAIと議論して決定する 9〜14 11 1 113 ステージ intent 本のみ 回 カスタムスコープの幅 運⽤中 フル32/33ステージ完⾛ 承認ゲート通過 01 02 03 要件の⽭盾 設計の⾃⼰⽭盾 前提の事実誤認 実装前に発覚した仕様バグ(2ヶ⽉) 25 件 AWS Startup Community 202609 06 / 12
その後起きたこと
バグを踏み抜いて ワークフローが デッドロック!
検証エンジンに不具合が出ると、 エージェントが何もできなくなることもある バグを踏み抜いて ワークフローが デッドロック!
SCOPING AI DLC WFがバグると、ワークフローが死ぬ ● bunのスクリプトが、「次のステージに進んでいいか」を監査する ● Agent Hookで設定されるので、エージェント自身は迂回が困難 ● その検知スクリプトがバグっていると、エージェントはその場で迷子になる aidlc.settings.local.jsonにbypassフラグを設定 → コアに⼀時パッチを当てて回避 AWS Startup Community 202609 06 / 12
まとめ 信頼できないのは、 AIだけなのか? 1. 開発を進める中で、仕様の整合性を維持し続ける判断ができるのか? 本当の不具合は、複数の⼩さな変更が積み重なって発⽣する 2. 検証すべきは「⽣成されたコード」だけじゃない ADRや過去の実装ドキュメントとの⽭盾など、仕様や要件レベルのバグにも注意が必要 IMO (In My opinion) AIはコード生成以外の 副作用についても加速させた → SDLC とちゃんと向き合う時が来た https://martinfowler.com/articles/is-quality-worth-cost.html AWS Startup Community 202609 11 / 12
まとめ + 開発・導入支援する際のポイント ● AI DLC WF v2.8でコア更新・プラグイン操作系をサポート ● チームに向けてのカスタマイズは、AI DLCプラグインを使う ● コアを直接変更すると、アップデートで死ぬ ○ ただしClaudeのサブスク版を使いたい時は、 手動対応が必要 ● コア・Hook系がバグると詰む。 bypass系など、トラブルシューティングページは要ブクマ AWS Startup Community 202609 06 / 12
まとめ おまけ: Port.ioで状況管理いいよ ● AI DLC WF v2.8でコア更新・プラグイン操作系をサポート ● チームに向けてのカスタマイズは、AI DLCプラグインを使う ● コアを直接変更すると、アップデートで死ぬ ○ ただしClaudeのサブスク版を使いたい時は、 手動対応が必要 ● コア・Hook系がバグると詰む。 bypass系など、トラブルシューティングページは要ブクマ AWS Startup Community 202609 06 / 12