【要約】AIが開発要望をヒアリングして実装判断するBotの設計と実装 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者が、曖昧な開発要望を受けた際に、正確な工数やスコープを判断できない問題に直面した。具体的には以下の課題がある。
- ・要望の背景(技術スタック、既存コンポーネント、デザイン制約、期日等)が不明瞭である。
- ・コンテキストの不足により、工数見積もりが数時間から数週間まで大きく変動する。
- ・ヒアリング作業が属人的であり、効率化の余地がある。
// Approach
開発者は、Claude APIのマルチターン会話を利用し、段階的に情報を収集するBotを設計した。解決のために以下の手法を採用している。
- ・System Promptで「1ターンに1つの質問」を制約し、回答の浅さを防ぐ。
- ・終了条件をターン数ではなく「判断に必要な情報の充足」に設定する。
- ・出力形式にマーカー方式を採用し、自然な対話とJSONパースを両立させる。
- ・Python CLI版と、GitHub Pagesで動作するHTML/JS版の2形態で実装する。
// Result
開発者は、要望を構造化データとして抽出する仕組みを、2つの形態で実現した。
- ・Python CLI版およびHTML/JS版の成果物を用意した。
- ・「判断に必要な情報の定義」に注力することで、精度の高い判断出力を可能にした。
- ・非構造化テキストをスキーマに落とし込む、データ分析的なアプローチを確立した。
Senior Engineer Insight
> プロンプト設計における「1問ずつ質問させる」という制約は、LLMの推論精度を保つ上で極めて実践的だ。単なる自動化ではなく、情報の質を担保する設計に重きを置いている点は高く評価できる。ただし、フロントエンドからの直接API呼び出しは、本番環境ではセキュリティ上のリスクとなるため、バックエンドプロキシの導入が必須だ。要件定義の一次受けとして、人間への橋渡しを行う補助ツールとしての活用が現実的である。