【要約】AIに目次生成CLIを作らせたら、記号だけの見出しでリンクが壊れていた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がAIを用いてツールを生成する際、生成されたコードの品質と信頼性をどう担保すべきかという課題がある。具体的には以下の問題が発生した。
- ・AIは指示に含まれない論理的な欠陥を見落とす。見出しが記号のみの場合、アンカーが空文字になる不具合が発生した。
- ・生成されたコードを無批判に受け入れると、実害のあるバグを見逃すリスクがある。
- ・一度に多くの指示を出すと、AIが既存の正常な挙動を破壊する可能性がある。
// Approach
開発者は、Claude Codeのワンショット実行を活用し、指示を最小単位に分割して段階的にコードを洗練させる手法を採用した。
- ・
claude -pによるワンショット実行を用い、指示内容を極限まで絞り込んだ。 - ・人間が「意地悪な入力」を作成し、コードブロック内の偽見出しや記号のみの見出しなどの境界値をテストした。
- ・不具合発見後、修正依頼を「1点」に限定することで、他のコードへの影響を最小化した。
// Result
指示の粒度を小さく制御することで、開発効率とコードの安定性を両立させることに成功した。
- ・修正依頼を絞ることで、生成時間が59.6秒(1回目)から10.9秒(3回目)へと大幅に短縮された。
- ・指示した1点のみがピンポイントで修正され、既存の正常な挙動(回帰テスト)を維持できた。
- ・
--output-format jsonにより、モデル名や所要時間などのメタデータを正確に把握できた。
Senior Engineer Insight
> AI駆動開発において、AIは「指示の範囲内」で最適化を行う性質を持つ。記号のみの見出しのような、論理的に成立するがパターンとして稀なケースは、人間が境界値テストで炙り出す必要がある。指示を最小化するアプローチは、生成コスト(時間)の削減とデグレード防止の両面で、実戦的なプロトタイピングにおいて極めて有効な戦略である。AIを「万能な開発者」ではなく「指示に忠実な実装エンジン」として扱う視点が不可欠だ。