AIと和解する
はじめに
- AIとはなんぞや?AIにコーディングさせても効率落ちるのでは?という印象をもっていた古いエンジニアが、AIと仲良く仕事できるようになっていく過程で感じたことや今後AIと仕事をしていくうえで何を気にしながらやり取りしていこうとしているかを共有したいと思います。
1. 怪訝期 〜こいつ何者?〜
- こちらが実現したいことを伝えても期待通りには捉えてくれないんでしょう?
- AIに任せても手直しが必要になって、余計に時間がかかるんでしょう?
- 実装はできたとしてもスパゲッティコードになって解読に苦労するんでしょう?
- ドキュメントを作らせても正確でなく読みづらい文章になるんでしょう?
- 依頼するにも何を任せていいのかがわからない

2. 受入期 〜ちょっと抜けてるけどいい仕事する〜
- あいまいな質問をしても答えてくれるし、自分でWeb検索して探すより情報収集が早い
- 設計の相談をすると自分が気付いていなかった視点で方式を提案してくれる
- 設計変更やバグ等で現状分析すると、自分で調べるよりはるかに早く分かりやすい結果を返してくれる
- 実装してもらうと不要なコードが残ったり書き方が分かりづらい部分があるなぁ

3. 和解期 〜何をお願いしてもこなしてくれる〜
- 関連する複数ファイルを変更しなればならない場合も人が書くより全然速いし的確
- あいまいな方針から壁打ちで具体化していき細部まで決まれば実装が正確
- 面倒なテストケースの作成もまとめて実施してくれるしアサーションも意味あるものになっている
- やたらと処理を細分化しようとするけどそれが標準だよなぁ

4. 信頼期 〜適切な指示で後はお任せ〜
- スタートさえ間違わなければ実装はほぼ任せてしまえる
- 成果物のチェックは、一通り行うがざっくりと違和感を探す程度
- 全て依存するのではなく細かいミスは手直しすれば無駄な時間を省ける
- 0.5~0.6人分くらいの作業はAIでこなせる

5. 信頼はしているけれど…
- 設計・実装ではインプットを曖昧にしない
- 最初のインプットを曖昧にしても壁打ちを繰り返すことで求める結果に辿り着くかもしれないが作業短縮効果が薄れる
- 具体化できている部分をその通りに伝えることでより正確な分析をしてくれるので、結果も速く正確になる
- 成果物イメージを持つことをサボらない
- 自分の中で成果物のイメージがあると、想定と違う≒間違いを検出できる
- AIの間違いでなくとも、自分の間違いに対してその対応で問題ないかのチェックができる
- 自分が分からないことを任せない
- 成果物が正しいのか判断できなければ成果物として成り立たない
- 分からないなら分かるまで壁打ちしたから目的の成果物作成を任せる
6. ただ裏では
ここまでAIを信頼できる状態になっているのは、単にAIの進化だけが要因ではない。 裏で有識者がAGENTS.mdの調整や適切なSkillsの導入をしていることも大きな要因になっている。 なので、単に使い方を工夫するだけでは足りず、AGENTS.mdの書き方やSkillsに対する知識も付ける必要がある。

7. まとめ
- AIは日々進化しており信頼できる相棒足りえる
- 現状分析・コーディングレベルの作業はAIの生産性には勝てない
- 人に必要な能力
- 成果物を明確にイメージして具体的にAIへ伝える
- アウトプットと成果物イメージに差異がないか見極める
- AIの基本設定を行える
