📝
技術的にはできる。でもやらない判断をした話
それでもAIが答えてくれないこと #1
導入
自分は、「将来のプロダクトの犠牲やエンジニア的負荷を減らせるかを先に考える」ことを信条に開発業務をしている。
今回のケースはまさにその信条が試された出来事だった。
事例
- PostgreSQLとKintoneアプリのデータを整形して、OpenSearchに約5,000件をIndexing。
- そのうち約900件が取り込み失敗。
- 推進担当は「900件もあるなら、できるだけ取り込みたい」と考えた。
調べると、そのうち約800件はKintoneアプリのあるフィールドに値が存在していないデータ。
つまり、システムの拠り所となる重要なキー情報が欠けていた。
推進担当からの質問はこうだった:
null にして取り込むことは可能ですか?
技術的に可能か?
Backend改修をすれば可能。
しかし、その場合…
- 検索対象としてあるデータが存在しない状態で登録される
- 他のエンジニアが見たとき「なぜ?」となるデータになる
- Frontend側では体験の再設計が必要になる
つまり、実装できるけど負債になる可能性が高い。
自分の判断
心の中では「やりたくない」。
でもそれは怠慢ではなく、突貫工事で負債を積み上げたくなかったから。
「検索対象を無理に増やす」よりも「正しいデータに基づいた検索にする」ことを優先した。
推進担当からの反応
「やはりそうですよね。忘れてOKです!」
実際にデータを確認したところ、該当件数は特殊フラグ付きのものであり、検索対象外でも問題なさそうだと分かった。
学び
- 「やりたくない」とだけ言わないこと
→ 「なぜやらないか」を技術的に説明すると理解されやすい - 質問に対する答え方が大事
→ 単なるYes/Noではなく、背景と影響を添えることで合意形成がスムーズになる
まとめ
- 技術的には可能なことでも、後世に負債を残すならやらない方が良い
- 「それでもAIが答えてくれないこと」は、こうした「判断」と「合意形成」の部分にある
- これこそがエンジニアとしての経験値であり、記事に残す意味がある
Discussion