「AIで作ったポートフォリオって、バレますか?」
正直に答えます。バレます。
僕は未経験の方のポートフォリオを添削していますが、AIで作ったんだろうな感があふれている作品は、けっこうあります。
ただ、この記事で言いたいのは「使うな」ではありません。
使い方を変えれば、バレるどころか評価されます。
どこでバレるのか
1. 一部だけ急に整いすぎている
これが一番多いです。
他の部分は初学者らしい書き方なのに、ある箇所だけ妙に洗練されている。
書き方の水準が途中で変わるので、見ればすぐ分かります。
本人は「良いコードになった」と思っていますが、逆効果です。
全体のレベルと合っていないほうが目立ちます。
2. 「これ、どうやって実装したんですか?」で止まる
ここが本命です。
添削のとき、僕は必ず聞きます。
そこで答えられないと、コードを見るまでもなく分かります。
面接でも同じです。実際に僕が受けた面接では、コードは軽く見られただけでした。
その代わり聞かれたのがこれです。
このボタンを押したら、どうなっているんですか?
つまりコードでバレるのではなく、口頭でバレます。
3. コミット履歴が不自然
- コミットが3件しかない
- 全ファイルが1回のコミットで追加されている
- メッセージが「update」ばかり
作りながら進めた形跡がないと、どこかから持ってきたのではと思われます。
4. 使っていないコードが残っている
AIが出したコードをそのまま貼ると、使っていない変数や読み込みが残ります。
自分で書いていれば、たいてい気づきます。
5. 書き方が揃っていない
実務でも、僕が一番よく指摘されるのがここです。
Ahagate
ahaGate
AhaGate
aha_gate
どれが正解ということはありません。混ざっていることが問題です。
AIに書かせた部分だけ書き方が違うと、そこで分かります。
大前提:AIを使うこと自体は問題ありません
現場では全員が使っています。僕も実務で使います。
使ったことを責める人はいません。
判断基準は1つだけです。
自分の言葉で説明できるか
説明できるなら、AIで書いても「自分で作った」と言っていいと思っています。
説明できないなら、自分で書いていても同じことです。
実際、僕は自分で全部書いたアプリなのに、面接で動きを説明できずに落ちました。AIは関係ありません。
バレない使い方(というより、正しい使い方)
1. 構成とDB設計は、絶対にAIに渡さない
実務でも、僕はここだけは自分でやります。
| 内容 | |
|---|---|
| AIに任せていい | 機械的に書き換えられるところ/一度実装したのと同じところ/デザインやHTMLなど、誰が書いても同じになる部分 |
| 自分でやる | 全体の構成/DB設計 |
面接で必ず聞かれるのが「なぜこのテーブル設計にしたのか」です。
ここをAIに決めてもらっていると、その瞬間に終わります。
2. 「初学者が読めるコードで」と指定する
何も言わないと、短くて賢い書き方が返ってきます。
それを貼ると、自分の作品なのに自分が読めない状態になります。バレる原因の1番がこれです。
3. 自分が書いたコードを参照させる
すでに書いた部分をAIに見せて、「この書き方に合わせて書いてください」と頼みます。
これをやると、全体の書き方が揃います。
「一部だけ整いすぎている」という不自然さが消えます。
4. 分かるまで質問しまくる
返ってきたコードで分からない箇所があったら、そのまま貼らずに聞いてください。
- なぜここでこの書き方をしたのか
- この行がないとどうなるのか
相手はAIなので、何回聞いても嫌な顔をされません。ここで遠慮する意味はまったくないです。
5. 学習中は、エディタに組み込まない
VSCodeにAIを入れると、その場に勝手に書き込まれるので、理解していなくても進んでしまいます。
学習中はブラウザ版をコピペで使ってください。
どのファイルのどこに貼るかを自分で決める必要があるので、それ自体が練習になります。
面接では正直に言っていい
隠すほうがリスクです。聞かれたら正直に答えてください。
○ 評価される答え方
「使いました。ただ、テーブル設計と全体の構成は自分で決めています。
AIに書いてもらった部分も、分かるまで質問して、自分の言葉で説明できる状態にしました。」
✕ 評価されない答え方
「AIは使っていません」(そのあと説明できずに詰まる)
「どこを自分で決めて、どこを任せたか」が言えると、むしろ実務を分かっている人に見えます。
もう作ってしまった人へ(今からできる対処)
ステップ1:全ファイルを読んで、説明できるようにする
分からない箇所は、AIに「なぜこう書いたのか」を聞いてください。分かるまで聞いていいです。
ステップ2:説明できない部分は、自分で書き直す
読んでも理解できないコードは、動いていても捨てたほうがいいです。
面接で必ずそこを聞かれます。
ステップ3:書き方を揃える
変数名やルートの書き方を1つに統一します。これだけで不自然さがかなり減ります。
ステップ4:機能を1つ、自分だけで追加する
小さくて構いません。非同期処理を1か所入れるのがおすすめです。
お気に入りボタンや、チェックの切り替えなど、押しても画面が切り替わらない動きを1つ作ってください。
面接で「このボタンを押したらどうなっているか」と聞かれたときに、答えられる場所になります。
ステップ5:ここからは記録を残す
何に詰まって、どう調べて、どう直したか。
この記録がそのまま面接の回答になります。
よくある質問
Q. AIを使わずに作ったほうが評価されますか?
A. そんなことはありません。見られているのは説明できるかどうかだけです。
Q. どこまでAIに任せていいですか?
A. 誰が書いても同じになる部分までです。構成とDB設計は自分で決めてください。
Q. 全部AIで作ってしまいました。作り直すべきですか?
A. 作り直す必要はありません。全部読んで、説明できる状態にしてください。それだけで見え方が変わります。
まとめ
- バレます。特に「一部だけ整いすぎている」のはすぐ分かる
- ただしコードでバレるのではなく、口頭でバレる
- 判断基準は「自分の言葉で説明できるか」だけ
- 構成とDB設計は絶対に自分でやる
- 「初学者が読めるコードで」「自分の書き方に合わせて」と指定する
AIを使ったかどうかは、実はどうでもいい話です。
自分の作品を分かっているかどうかだけが見られています。
次に読む記事
ポートフォリオの無料添削をしています。「これどうやって実装したんですか」を一緒に確認できます。LINEから送ってください。