Open2

AI活用

046046

使ったことがあるもの

開発生産性向上

  • Devin AI
    • connect-go + clean architecture な環境で、protoファイルからシンプルなCRUDを実装するところまでは完遂できる
    • 能動的に使う必要があり、タスク分割と指示というマネージャー的な動きが必要
      • バックログリファインメントでJIRAのチケットを作成するついでに開発依頼内容を書いて、それをDevinに任せてうまく完遂できたらマージするというやり方がワンチャンいいかも
      • 完遂できないかもしれないというボラティリティがあっても許容できたり、ほぼ作業ゲーなんだよな・・・というチケットをDevinにアサイン
    • うまく修正ができない時は巻き取って修正してしまいたくなるが、指示を出して学習させた方がレバレッジが効く気がする
    • 日本語のドキュメントを読み込んだり、あまり規則性がない設計書を読み込むのは苦手
    • スキーマファースト、有名なフレームワーク、型がある言語と相性がいい気がする
    • コードベースが大きく、独自のアーキテクチャを持っていて動的型付け言語な環境では活用が難しい気がする
      • できないことはないが精度が悪い
      • 型パズルを解決できない
      • 「もうちょっとなんだけどな・・・」になりがち
    • 「作業を任せる」という気持ちで使う必要がある。
    • 自分の仕事の補助をしてもらう場合は作業のテンポが悪くなって相性がよくないと感じる。その点Clineはどう動いてくれるのかすごく興味があって使いたい。
  • GitHub Copilot
    • とりあえずTabを押してく
    • 受動的に活用できるのがすごく良い
    • ボイラーテンプレートなコードを書く時や
  • ChatGPT
    • レスポンスが早く、結局一番使っているもの
    • 困ったらなんでも聞く
    • 簡単なスクリプトは作ってもらう
    • 箇条書きからmermaidを作ってもらう
    • protobufをレビューしてもらう
    • 変数名を考えてもらう
    • protobufのリナンバリングしたり
    • IntelliJから呼び出したり
      • ChatGPTの画面に慣れすぎて結局そこを使っちゃう

システム活用

  • Dify
    • DifyでWorkflowを構築して自社プロダクト側からAPI呼び出しをして利用
    • AI的な仕事の境界として使うの結構ありな気持ち
      • Difyでそういうのを作って、プロダクトのBackendはそれを呼び出す
      • Difyより先の仕事はMLな人にお任せ
  • Vertex AI
    • AutoML
      • あまり難しく考えずとりあえず使える感じ。
      • これでAI使えるなら普通のプログラマでも活用できそう
    • Embedding + AlloyDBのベクトル検索
      • レコメンドで使えそう
      • これでAI使えるなら普通のプログラマでも(略

使いたいもの

開発生産性向上

  • Cline (VS Code + Cool Cline)
    • より大きな仕事を依頼できるようになるイメージ
  • v0
    • フロントエンドに苦手意識があり触ってこなかったが、だからこそ活用すべきなのかも
    • モック感が否めないイメージが合って、実際使ってみたい
  • PR-Agent
    • これ系の中で最も出来がいいイメージ
  • perplexity
    • Google検索、ChatGPT質問の代わりに

システム活用

  • RAG
    • 今のところあまり触るつもりない
    • 個人的にはまだ飛び込むには早い印象
    • もう少し成熟してから手を出したい
    • プロにお任せ

直近のAIとの向き合い方

  • 一つのサービスで完結するようなものはまだない印象
  • Devin AIが「プログラマーの仕事をAIが行う」には最も近い
  • プログラマーとして生産性を高めるためにAIを活用していくのがいい付き合い方だと思う
046046
  • RAG
    • Vertex AI Search
    • NotionにRAGを実装するなら…
      • Notionにはあいまい検索が実装されていない
      • DBにすべての情報を一度いれる
      • ベクトル化
      • ベクトル検索の結果とユーザーの入力情報をLLMに送る
      • 返却
  • Agent
    • Vertex AI Agent Builder
    • DifyっぽいけどDifyでやっているWorkflowがAgentと呼ばれるものではない
    • Agentの仕組み
      • ユーザー入力の解析
      • どのツールを使うか判断
      • 必要ならAPIやDBに問い合わせ
      • 結果を処理し、ユーザーに返す

とりあえず実装してみたいかも