概要
- AIやLLM(大規模言語モデル)による開発現場の変化に対する不安や課題の整理
- 楽しみながらプログラミングを続けるための具体的なワークフロー提案
- LLMの活用範囲と人間の役割のバランス
- 精神的・社会的な側面の重要性の強調
- LLM活用時の注意点や持続的なスキル維持の方法
LLM時代の開発者としての生き方
- AIバーンアウト や、 低スキルな他者やLLMに仕事を奪われる不安 の増加
- コード品質の低下 や、「自分の」コードへの失望感の広がり
- 倫理的な問題は本稿の主題外
- Haskell など好きな言語で「書く楽しさ」を感じる開発者の存在
- LLMによるコード生成で 楽しさが減少 するリスク
コードを書くことの意義
- コードベースの主導権維持 には、自分で書き続ける必要
- スキル維持 のためにも、手を動かす習慣の継続が重要
- LLM生成コードは 人間にとって読みにくく、保守が困難
- 生産性向上は「コード生成」ではなく、「周辺業務の自動化」で実現
LLMの効果的な活用方法
- 計画立案や情報整理 など、「退屈な作業」をLLMに任せる
- 例:会話記録から TODOリスト作成、テスト結果の整理
- 重要な意思決定は人間が担当
- リサーチ業務 もLLMと並行して自分でも行う
- LLMの調査結果は 必ず根拠や出典を明記 させる
- 最終判断は自分 で行う
人間が「コーダー」であるべき理由
- 「計画は一緒に立て、 実装は自分で行う」ワークフローの推奨
- LLMには コードベースの調査・TODO提示・注意点の指摘 などを依頼
- 全体像の把握や計画の質向上、スキル維持に効果
- 自分の得意な働き方 を中心にエージェント(LLM)を活用
コーディングエージェントの適切な使い方
- リファクタリングや単純作業、ルーチンワークに限定
- 例:FIXMEの解消、類似ケースの追加、モジュール整理
- 複雑な設計や重要な部分は自分で実装
- LLMの「コピペ的」生成に注意し、 抽象化や設計力を意識
レビューサイクルの重要性
- 自動レビューエージェント による成果物の品質担保
- LLM生成物は 必ずレビュー を通す
- 自分のコードもレビュー してもらうことで、バグや抜け漏れの早期発見
フロンティアモデルへの依存リスク
- 環境負荷や信頼性の問題、ブラックボックス化の懸念
- 自分が責任を持てる範囲でLLMを活用
- 小規模モデルやオープンソースモデル への移行性を意識
トークン切れ問題への備え
- トークン不足による作業停止 のリスク
- 「自分のせい」ではなく「サービスの問題」と認識
- オフラインでも進められるTODOリスト の確保が重要
LLM生成テキストへの注意
- LLM特有の「意味不明な文章」 は精神衛生上有害
- 人間同士のコミュニケーション を重視
- LLM生成物は 自動レビュー後のみ読む、疲れたら休憩
プログラミングは社会的活動
- PRやコミットメッセージなどの人間同士のやり取り を大切に
- 完全自動生成のPRは避ける
- LLM生成文は ツール出力として添付 し、主文は自分で記述
持続可能な開発スタイルの提案
- LLMを「 有機肥料」的に活用し、 無理なく生産性向上
- 好きな言語での開発 を続けるための知恵と工夫
- 楽しさと生産性の両立 を目指す持続的なワークフロー