💡

「スマートリポジトリ」という概念について

に公開

以下の記事を書いた
https://zenn.dev/tesla/articles/3abc9e61da0b1e

内容としては
「n8nを利用してラベルが貼られたタイミングでwebhookが起動し、自動で@Claudeのコメントをする」というもので
仕組みとしては非常に単純で多分そんな難しくないし、Github Actionなどでおそらくやっている方もいたと思う

「開発のパイプライン化」という標語をすえて、PMや非エンジニアから使いやすいPJ管理ベースの環境を構築したいという目的だった

https://x.com/tesla0225/status/1907953100062953892

たださらに深掘りした時に、以下のような使い方ができると思った
https://x.com/tesla0225/status/1935620438425817265

これはどういうところから着想したかというとnaoyaさんのツイートから
https://x.com/naoya_ito/status/1935898378413695201
https://x.com/naoya_ito/status/1932058205292740903

これらをまとめることで「スマートリポジトリ」という概念に辿り着いた。
もちろんCI/CDが回っている時点である程度自律的に問題を解いてもらえたりエンジニアの助けにはなるが、LLMやAIエージェントを組み込むことでさらに「賢い」リポジトリになるということ。

以下に定義を述べる

スマートリポジトリとは(定義はClaudeに出してもらった)

AIと自動化技術を活用して、開発プロセスを理解し、自律的に判断・実行できる「賢い」リポジトリシステムです。従来の単純な自動化を超えて、コンテキストを理解した上で最適な行動を選択し、経験から学習して継続的に改善していきます。

核となる3つの「賢さ」

1. 理解する賢さ

  • コードの意図や背景を理解
  • issueやPRの本質的な課題を把握
  • ビジネス要件と技術的制約のバランスを考慮

たとえばdocsを充実させてあるコードがどのドメインに直結するか
またMCPなどと接続しそのドメインがどうビジネスインパクトに繋がるか

2. 判断する賢さ

  • 状況に応じた最適なアプローチを選択
  • 優先順位を自律的に判断
  • リスクと効果を評価して行動

ラベルベースで管理している際に、label名から問題を考えたり
上記の「理解する賢さ」をもとに状況に応じたアプローチを行う

3. 成長する賢さ

成功・失敗パターンから学習
組織の知識を蓄積・活用
時間とともに精度と効率が向上

成功失敗パターンというのは、過去のissueから判断したり
あるいは失敗パターンを埋め込むことで対応を間違えないようにするなど

最小要件:スマートリポジトリと呼ぶための最低限の機能

  1. AIによる開発タスクの自律実行(計画・実装・レビュー)
  2. イベントドリブンな問題解決(外部トリガーへの自動対応)
  3. 継続的な自己改善メカニズム(定時監査・学習機能)

まだイベントドリブンな問題解決や改善メカニズムについては正直試せているわけではないので、机上の空論の域を出ないところもあるが
おそらく人と組織でどう振る舞いを分けるかがここからもわかる

人と組織のエンジニアの振る舞い方

組織 = リポジトリ

問題が発生した時の調整役やPMの要件をエンジニアレベルに落とし込んだりそのまま実装したりするポジション

  • タスク分解されていない混沌の状態のものを時ほぐしてAIとともに解決する
  • AIが解けない課題を受け取り補助する
  • 創造的な課題やまだ実装が難しいことを手探りで進める

このような形になるかも...?と思いました

Discussion