Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIに振り回された3か月間の成功と失敗/dev-productivity-con2024-...

 生成AIに振り回された3か月間の成功と失敗/dev-productivity-con2024-link-and-motivation

開発生産性Conference(主催:ファインディ株式会社様)

リンクアンドモチベーション登壇資料(2024/06/29)

『生成AIに振り回された3か月間の成功と失敗』

#開発生産性con_findy #リンモチ
=============================================
【イベント情報】
■イベントページ
https://dev-productivity-con.findy-code.io/2024

【株式会社リンクアンドモチベーション】
■お問い合わせ
 [email protected]
■テックブログ
 https://link-and-motivation.hatenablog.com/
=============================================

More Decks by リンクアンドモチベーション

Transcript

  1. 2 © Link and Motivation Group 山西 陽平 株式会社リンクアンドモチベーション イネーブリング

    • 中途入社5年目 • 現在はイネーブリンググループで開発生産性の向上 を担っています • ぷよぷよが好きです https://github.com/ymap https://qiita.com/ymap 自己紹介
  2. 16 © Link and Motivation Group ファイル全体を受け渡す • 編集したいファイルは一つだけ選ぶ •

    ファイル全体を渡し、変更後のファイル全体を 返してもらう とりあえず全て受け渡す?
  3. 22 © Link and Motivation Group ファイル全体を受け渡す(失敗) • 勝手にコメントを 削除してしまう

    • 長い入出力の時に 起こりやすい傾向 がある 差分を返却させよう!
  4. 29 © Link and Motivation Group 差分を返却してもらう(失敗) • 不完全な形式で出 力される

    ◦ --- や +++ がない ◦ @@ … @@ がない ◦ - や + の過不足 • 出力フォーマット が複雑すぎるのか もだが、他の形式 も思い浮かばない
  5. 30 © Link and Motivation Group 差分を返却してもらう(失敗) • 不完全な形式で出 力される

    ◦ --- や +++ がない ◦ @@ … @@ がない ◦ - や + の過不足 • 出力フォーマット が複雑すぎるのか もだが、他の形式 も思い浮かばない たまには成功するので いったん妥協。。
  6. 35 © Link and Motivation Group たまには、編集が成功することもある。しかし。。。 • 誤った変更や無関 係な変更を生成し

    てしまう • 変更対象のファイル だけでは型を充分に 推測できないからか なあ。。
  7. 36 © Link and Motivation Group たまには、編集が成功することもある。しかし。。。 • 誤った変更や無関 係な変更を生成し

    てしまう • 変更対象のファイル だけでは型を充分に 推測できないからか なあ。。 呼び出し元のコードも与 えよう!
  8. 40 © Link and Motivation Group 情報を事前に与えてみる(失敗) • 追加したコードを 意図通りに活用し

    てくれない • 活用の仕方は様々だ から事前に教えるの は困難だなあ。。
  9. 41 © Link and Motivation Group 情報を事前に与えてみる(失敗) • 追加したコードを 意図通りに活用し

    てくれない • 活用の仕方は様々だ から事前に教えるの は困難だなあ。。 うーん???
  10. 48 © Link and Motivation Group 失敗の振り返り(1. 失敗率が高い) • 例えば、diffの形式

    に関しての注意点 をプロンプトで指 示しても一向に失 敗率が下がらない • 実は失敗率を大幅に 改善する方法なんて ないのでは?
  11. 49 © Link and Motivation Group 失敗の振り返り(1. 失敗率が高い) • 例えば、diffの形式

    に関しての注意点 をプロンプトで指 示しても一向に失 敗率が下がらない • 実は失敗率を大幅に 改善する方法なんて ないのでは? 失敗率の低いタスクに 分割しよう!
  12. 52 © Link and Motivation Group 簡単なタスクに分割してもらう(1. 失敗率が高い) • patchコマンドの

    失敗率が8割から2 割程度まで改善し た • 分割するだけで動作 が改善するなんて、 従来のプログラミン グでは無かったなあ
  13. 53 © Link and Motivation Group 簡単なタスクに分割してもらう(1. 失敗率が高い) • patchコマンドの

    失敗率が8割から2 割程度まで改善し た • 分割するだけで動作 が改善するなんて、 従来のプログラミン グでは無かったなあ 「スモールステップが大事!」 → 人間と似ている?
  14. 56 © Link and Motivation Group 失敗の振り返り(2. 失敗のパターンが多い) • 例えば、diff形式の

    失敗のパターンに ついて、個別にプ ロンプトに書くの が大変だった • 失敗の仕方を事前 に網羅するのは困 難なので、失敗し た時にFBさえでき れば良いかも
  15. 57 © Link and Motivation Group 失敗の振り返り(2. 失敗のパターンが多い) • 例えば、diff形式の

    失敗のパターンに ついて、個別にプ ロンプトに書くの が大変だった • 失敗の仕方を事前 に網羅するのは困 難なので、失敗し た時にFBさえでき れば良いかも エラーメッセージを 読んでもらおう!
  16. 59 © Link and Motivation Group エラーメッセージを読んでもらう(2. 失敗のパターンが多い) • 失敗に対応する為

    のプロンプトやコ ードの量が減り開 発が楽になった • 生成AIはエラーメ ッセージを読める ので、ツールの出 力を最大限に利用 するのが吉
  17. 60 © Link and Motivation Group エラーメッセージを読んでもらう(2. 失敗のパターンが多い) • 失敗に対応する為

    のプロンプトやコ ードの量が減り開 発が楽になった • 生成AIはエラーメ ッセージを読める ので、ツールの出 力を最大限に利用 するのが吉 「エラーメッセージをよく読もう!」 → 人間と似ている?
  18. 63 © Link and Motivation Group 失敗の振り返り(3. 失敗が充分に減らない) • 8〜9割は成功しな

    いと、付き合う人 間側が逆に大変だ と考え、いつまで も公開できなかっ た • いつまでも公開で きないし、様々な 失敗について予め 調整を終えるのは 難しいなあ
  19. 64 © Link and Motivation Group 失敗の振り返り(3. 失敗が充分に減らない) • 8〜9割は成功しな

    いと、付き合う人 間側が逆に大変だ と考え、いつまで も公開できなかっ た • いつまでも公開で きないし、様々な 失敗について予め 調整を終えるのは 難しいなあ 実戦で育つ仕組みを!
  20. 67 © Link and Motivation Group 実戦で育てる(3. 失敗が充分に減らない) • Q&A集によって実

    際に出力が改善さ れたケースも見ら れた • 最初は手間が掛か るが、いずれ成長 して役に立ってく れるならアリだよ なあ
  21. 68 © Link and Motivation Group 実戦で育てる(3. 失敗が充分に減らない) • Q&A集によって実

    際に出力が改善さ れたケースも見ら れた • 最初は手間が掛か るが、いずれ成長 して役に立ってく れるならアリだよ なあ 「長い目で見て育てよう!」 → 人間と似ている?
  22. 71 © Link and Motivation Group 3つの改善を重ねた結果 • タスクの成功率: 10%

    -> 30% • 差分編集の成功率: 20% -> 80% • タスクの成功率は最初に期待した程(80%)ではない • 編集が安定したので、実戦とQ&A集を通した成長に期待 できる様にはなった
  23. 72 © Link and Motivation Group 1. 失敗率が高い 2. 失敗のパターンが多い

    3. 失敗が充分に減らない 改めて振り返ってみる => 簡単なタスクに分割 => エラーを読んでもらう => 実戦で育てる
  24. 73 © Link and Motivation Group 人間と生成AIの類似点、従来のプログラムとの相違点 上手くいかなかったこと 関連する特性 人間

    / 生成AI 従来のプログラム 1. 失敗率が高い 指示への忠実さ やや低い 高い 2. 失敗のパターンが多い 品質のばらつき ある ない 3. 失敗が充分に減らない 失敗の克服法 学習 指示
  25. 74 © Link and Motivation Group 人間と生成AIの類似点、従来のプログラムとの相違点 上手くいかなかったこと 関連する特性 人間

    / 生成AI 従来のプログラム 1. 失敗率が高い 指示への忠実さ 低い 高い 2. 失敗のパターンが多い 品質のばらつき ある ない 3. 失敗が充分に減らない 失敗の克服法 学習 指示 生成AIはもっともっと 人間らしく扱うと良いかも
  26. 77 © Link and Motivation Group 生成AIがチームメンバーならどうする?で、他にも発想できる 1 • 組織知を共に育ててもらう

    ◦ Q&A集に書き込みもしてもらう • 背中を見て学んでもらう ◦ Issueとマージ済PRの差分を学習データにして、Fine-tuningする
  27. 78 © Link and Motivation Group 生成AIがチームメンバーならどうする?で、他にも発想できる 2 • 報連相してもらう

    ◦ 継続困難なら終了する選択肢も与えて、理由を報告・相談してもらう • 新しいIssueを挙げてもらう ◦ 別の問題を発見したら挙げてもらう、自動化してもらう