0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ポニーテールはいいぞ!

0
Posted at

画像のようなエンジニアっているよねー

Ponytailとはなにか

Ponytail は、AI Agent に「過剰な実装を嫌うベテランエンジニア」の思考ルールを導入し、無駄なコードを書かせないようにするプラグイン・ルールセットです。

最高のコードとは、書かずに済んだコードである」をコンセプトに、AI Agent でコードを書かせている時に、以下の問題(過剰エンジニアリング)を防ぐようにします。

  • AI が必要以上に複雑なコードを書いてしまう
  • 不用で長ったらしいコメントアウトを書いてしまう
  • 不必要なライブラリを追加してしまう

主な仕組み

Ponytail を導入した AI は、コードを書き始める前に、以下の優先順位で解決策を検討します。

  1. YAGNI : 本当に作る必要があるか?必要なければ作らない
  2. 既存コードの再利用:プロジェクトに同様のコードがないか。あれば使い回す
  3. 標準ライブラリの利用:言語の標準機能で解決できるか?
  4. プラットフォーム標準機能の利用:ブラウザや OS の標準機能で済むか?自作せずとも実装できないか?
  5. 導入済みのライブラリの利用:すでにインストールされている依存パッケージで解決できないか?
  6. 1行実装:1行でシンプルに書けるか?
  7. 最小限の実装:上記のどれにも当てはまらない場合、必要最小限のコードを書く

ポニーテールの導入方法

導入方法は古くなる場合が多いので、詳細は README を参照ください

Claude Code

以下のコマンドを 2 回のプロンプトに分けて順に送信・実行する。

/plugin marketplace add DietrichGebert/ponytail
/plugin install ponytail@ponytail

Codex

ターミナルで以下のコマンドを実行してプラグインを追加する。

codex plugin marketplace add DietrichGebert/ponytail
codex plugin add ponytail@ponytail

Codex を起動して、~/hooks を開き、2つのライフサイクルフックを確認・承認(trust)した上で、新しいスレッドを開始する。

どういったことができるか

具体的には、以下の機能が提供されます。

開発プロセスの最適化(自動コード削減)

コードを書き始める際、AI が自動的に判断基準に沿って検討を行います。

  • 無駄な実装の削減(YAGNI):不要な機能の提案や作成を防止
  • 既存コード・標準機能の優先利用:車輪の再発明を防ぎ、HTML 標準要素(例: <input type="date">)やプロジェクト内既存コード、言語の標準ライブラリを優先して採用
  • 最小限実装:安全性を損なわない範囲で最小行数の解決策を採用

コマンド・スキル機能(専用スラッシュコマンド)

導入により、開発環境や AI エージェント上で以下の専用コマンドを実行できるようになります。

  • /ponytail [lite | full | ultra | off]:AI の過剰実装防止ルール(強度)の調整・切替
  • /ponytail-review:現在の git diff(変更差分)をレビューし、過剰エンジニアリングされた箇所の削除候補リストを出力
  • /ponytail-audit:プロジェクト全体を監査し、リポジトリ内の過剰な実装を検出
  • /ponytail-debt:後回しにしたショートカットや課題を整理・記録する台帳を作成
  • /ponytail-gain:計測されたインパクト(コード削減率、コスト削減率、処理速度向上)のスコアボードを表示
  • /ponytail-help:利用可能なコマンドのヘルプ表示

使ってみての感想

まず、現在作成中 or draft 状態の pull request に対して/ponytail-review を実行しました。
不用なコードやコメントアウト、重複処理などを調査して必要に応じて短く実装したり、削除する対応を行いました。
結果、100行くらいの不要なコードを追加していたことが発覚し、削減することができました。

将来的には、実装したら/ponytail-reviewを自動実行してレビューする Hooks を作成したいと考えています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?