🐥
"「Agentic Coding とは Reconciliation Loop である」ということ。" に関して調べてみた。
はじめに
まずは、 t_wada さんのこちらのツイートを見て頂きたいです。
t_wada さんはエンジニアに伝わる共通言語を選んでくれたのだと思うが、私は恥ずかしながら Reconciliation Loop という言葉に馴染みがありませんでした。簡単に言うと、理想状態に対するシステム状態の差分を認識して状態補正を行う作用のことらしいです。
私も Cline に出会い、アプリの理想状態を自動テストや linter で表してそれがパスするまでプロダクションコードを繰り返し修正させることにトライしきたため、こちらのツイートをきっかけに"理想状態"や"評価関数"を決めることに関しての事例や取り組みを調べてみました。
Reconciliation Loop/ 評価関数/ 適応度関数(Fitness Function) あたりがキーワードです。
ちなみに適応度関数という言葉は機械学習で用いられるのとほぼ同じ意味合いで用いられているようです。
「適応度関数(Fitness Function)」という進化的計算の概念を拝借する。
人の取り組みを挙げていく記事になります。私が実践できた学びを共有するような記事ではありません。
10X さんの事例
- プロダクトのステージにおける理想の状態が違うこと示した上での適応度関数の目的に触れられている
- 適応度関数の定義だけではなく、適応度関数を運用するエコシステムに関して述べられいる
- 運用している適応度関数の具体例も示してくれています
- Dartプロジェクトの Null Safety 対応
- モジュール境界違反の検知
- パフォーマンス計測
CADDi さんの事例
- ArchUnit を導入し、アーキテクチャーや実装の理想状態を与えて自動チェックをする仕組みの運用について示してくれています
ナレッジワーク さんの事例
- eslint を用いてモジュールの依存関係チェックの運用を示してくれています
所感
私がモジュール境界や依存関係の整理の話が好きなので、多めに集まってしまったかもしれない。調べ切れていないが、ソフトウェアアーキテクチャメトリクスなどもコードの健全性に関する評価を提供するものだと言えそう(参考: https://qiita.com/mastar_3104/items/74a83ac7fd6478ad7b00) なので、調べてみたい。
Discussion