AI に実装を任せる前に。手戻りを防ぐために人間が確認したい2つのこと
こんにちは、フロントエンドエンジニアの上條です。
AI が普及してしばらく経ち、業務にも馴染んですっかり手放せなくなりました。便利さもある一方で、仕様設計が不完全でも AI によって動くものが作れてしまったという経験はないでしょうか?
一見短い時間で動くものができて便利だと思いきや、その制作物には後々手戻りが発生する可能性があるかもしれません。私が経験したあるミスをもとに、AI をうまく活用するにあたって人が考える領域と、AI を動かす前に確認しておきたい問いについて考えます。
AI が短時間で作った、動くけど間違ったアウトプット
先述した「あるミス」とは、参画しているプロダクトの機能追加において、FE/BE がそれぞれどこまで責務を負うのか切り分けられていなかったため手戻りが発生したという出来事です。
最初に AI に仕様書を読ませて実装を任せたところ、ぱっと見要件通りに動くものが完成しました。しかし肝心の中身は本来 BE 作業である部分も FE のコードで無理やり動かしている状態のだったのです。チームメンバーからの指摘でその事に気づき、結局 BE 作業がある前提でイチからやり直しとなりました。
ちなみに AI にはこのようなプロンプトを投げました。とても雑です。
(チケットURL)このチケットの内容を調査して実装計画を立ててください
前提条件が曖昧だと AI はモックデータやハードコードでとりあえず動くものを作れてしまいます。当時の私のように雑に AI を走らせると、間違った前提のまま実装してしまうリスクがあると実感しました。
人間は「問い」AIは「答え」を考える
一連の出来事から分かるように AI は作ることに長けています。ですが、何を作るかという設計観点での正しさまで判断してくれません。今回の件は人間が詰めきれていなかった曖昧なところを補完し、それっぽく動くものを作ってくれる AI の便利さが手戻りの原因でした。
巷では作業が AI に取って代わられると言われますが、正確には人間と AI で注力すべき領域が異なるのではと感じています。
AI は前提が曖昧でも見た目は動くものを作れてしまいます。そのうえで AI を活用するエンジニアに求められるのは、動かす前にデータの出どころや責務分担を先に決めておく力ではないでしょうか。
手戻りを防ぐためのセルフチェック
では今回のミスである FE/BE の作業領域の切り分けは最初にどんな問いを立てると良かったのか、振り返ってみました。
1. この要件はどんなデータがあれば実現できるか?
この問いに対して回答を出すには要件とゴールが分かっている必要があります。その状態まで持っていく方法の1つとして、なんとなく頭の中にある要件と実装方針を自分の言葉で説明することが効果的に感じました。
言語化することで解像度が上がり、そのなかでうまく説明できない箇所があればそれが実装に足りない情報かもしれません。少し時間はかかりますが、手を動かす前にやってみることをおすすめします。
2. そのデータはどこから来るのか?
1の問いで実装に必要なデータが分かります。そのデータはどこから来るのでしょうか?ぱっと思いつくのは以下です。
- 既存の API から既に返ってきている
- 新規で BE の開発が必要
- コード上で定数として定義されている
この問いの答えによって必要なアクションが分かります。1なら FE 作業のみで完結する可能性が高いですし、2なら BE に作業依頼が必要です。
これらを踏まえ、今ならこのようなプロンプトを書くと思います。
(チケットURL)このチケットの実装計画を立ててください。この実装に必要なデータ xxx は新規で BE 開発が必要です。FE は BE からデータが返ってくる値を使う前提で実装します。
AI を動かす前のセルフチェックで最終的な作業効率が上がるのではないでしょうか。
おわりに
コードを書く作業が AI に移り変わるにつれ、その前段で何をどう作るべきかを考える人間の役割がさらに重要になります。エンジニアリングに限らず、顧客のプロダクト支援において大切にしているのもこの「考える」というプロセスです。
Gaji-Labo では言われた通りに実装するのではなく、何のための機能なのか、どんな価値を届けたいのかといった観点でプロダクトにとって最適な方針を顧客と伴走しながら形にしていきます。その過程で AI を使いこなし、本質的な価値に向き合うプロダクトチームを目指しています。
Gaji-Labo は Next.js 開発の実績と知見があります
フロントエンド開発の専門家である私たちが御社の開発チームに入ることで、バックエンドも含めた全体の開発効率が上がります。
「既存のサイトを Next.js に移行したい」
「人手が足りず信頼できるエンジニアを探している」
「自分たちで手を付けてみたがいまいち上手くいかない」
フロントエンド開発に関わるお困りごとがあれば、まずは一度お気軽に Gaji-Labo にご相談ください。
オンラインでのヒアリングとフルリモートでのプロセス支援にも対応しています。
フロントエンドの相談をする!Gaji-Labo フロントエンドエンジニア向けご案内資料
Gaji-Labo は新規事業やサービス開発に取り組む、事業会社・スタートアップへの支援を行っています。
弊社では、Next.js を用いた Web アプリケーションのフロントエンド開発をリードするフロントエンドエンジニアを募集しています!さまざまなプロダクトやチームに関わりながら、一緒に成長を体験しませんか?
もちろん、一緒にお仕事をしてくださるパートナーさんも随時募集中です。まずはお気軽に声をかけてください!







