HN 日本語サマリー

← 一覧へ戻る
プログラミング

Ponytail: シニアエンジニアの「怠惰」スキル

Ponytail: Lazy Senior Engineer Skill (ponytail.dev)

30 pointsby zatkin16 コメント

要約

Ponytailは、シニアエンジニアが既存のライブラリや標準関数、ワンライナーを活用してコード量を削減するのを助けるツールです。YAGNI(You Ain't Gonna Need It)原則を重視し、コードの複雑性、バグ、コストを削減しつつ、安全性とパフォーマンスを維持することを目指しています。Ponytailは、コード削減の提案をどの程度積極的に行うかを制御するための異なる「強度」レベルを提供します。

全文翻訳

Ponytail: 怠惰なシニアエンジニアのスキル

ponytail

Ponytail 5.3 · 今すぐバンドに参加 →

コードは半分に。

それなのに、より良い。

AIコーディングエージェントに、動作する最小限のコードを書かせるためのルールセットです。コード量は53%削減、速度は41%向上、コストは26%低下し、正しさはそのままです。

01ベンチマーク

同じエージェント。同じタスク。

すべてが少なくなる。

Opus 5.5 を39のタスクで、それぞれ5回実行しました。実際のレポジトリでの機能チケット、隠しチェック付きタスク、「作って」というリクエスト。スキルなし = 100%。

-53% 行数
100%
52%
47%

-45% 出力トークン
100%
57%
55%

-26% コスト
100%
84%
74%

-41% 時間
100%
62%
59%

{…} スキルなし {…} Ponytail v4.13 {…} Ponytail 5

タスクごとの中央値の幾何平均。隠された正しさおよび安全性チェック: 96% / 96% / 97% 合格。検証、エラー処理、セキュリティ、アクセシビリティは決して簡略化されて失われることはありません。方法と限界。

02テスト

それでも

リスクのあるロジックの98%にテストが付属します。分岐、ループ、パーサー、お金、またはセキュリティ: 重要な箇所に、小さなテストが1つ。

Ponytailなしの場合 68%

03変更前 / 変更後

エージェントはライブラリに手を伸ばす。

Ponytailはブラウザに手を伸ばす。

「フロントエンドに日付ピッカーを追加して。」同じエージェント、同じリポジトリ、追加された行数、5回の実行の中央値。

Ponytailなしの場合 335 行

Ponytailなしの場合: 手作りのカレンダーと日付ピッカー、335行。Ponytail 5の場合: ブラウザ標準の<input type="date">を基にした、10行のファイル1つ。

リポジトリはReactなので、回答もReactのままです。カレンダーはブラウザから取得します。

04仕組み

最初に見つかった足場に止まる

それが持つなら。

まずコードを読み、実際のフローをトレースします。それから登っていきます。リクエストを選択してください:

  1. 01これ存在する必要ある? いいえ: スキップ
  2. 02このコードベースに既にある? 再利用
  3. 03標準ライブラリでできる? 使用
  4. 04プラットフォームにある? 使用
  5. 05インストール済みの依存関係で解決できる? 使用
  6. 061行でできる? 1行
  7. 07ようやく: 動作する最小限のもの。ロジックがあればテストを1つ追加。

05レビュー

レビュー、再構築。

差分が隠すものを見つける。

古いレビューはコードを削減することだけを見ていました。新しい /ponytail-review は、差分だけでなく、変更が触れるコードを読み込みます: バグ、セキュリティ、実際の負荷、テスト不足、速度、そして削減すべきもの。各発見事項は、コードが何をするか、何が問題になるか、どう修正するか、そして修正しない場合に何が起こるかを述べています。/ponytail-audit は、リポジトリ全体に対して同じことを行います。

›

植え付けられた問題の 100% を発見 Ponytailなしの場合 87%

差分の外にある問題の 100% を発見 Ponytailなしの場合 78%

06バンド

各タスクのコスト。

プロンプトのすぐ上に。

5.3の新機能: Claude Codeでは、ponytailはプロンプトの上にバンドを表示します。現在のタスクのコスト、トークンとエージェント時間、新しいコードを書く代わりに既存のコードをどれだけ再利用したか、そして前回の変更後にテストが合格したかどうかを示します。ワンクリックでレビューや監査を実行したり、タスクをMarkdownとしてコピーしたり、バンドを1行に折りたたんだりできます。

[画像: プロンプトの上にあるClaude Codeのponytailバンド。詳細モード: コスト $23.80、前回のターン $1.14、平均 $0.72/ターン; 56.7Mトークン、168k出力、33ターン; エージェント時間 52m 14s; 再利用 71%、5つ使用、2つ新規; 前回の変更後にテスト合格。コンパクトモードは同じ情報を1行で表示。]

Boardは、プロジェクトごとのすべてのタスク(コスト、エージェント時間とトークンの推移、テスト付きの各セッション、作業した日数)をローカルページで開きます。

[画像: ponytail board、ローカルページ: 61セッション、20時間13分エージェント時間、$285.30および492.5Mトークン(過去30日間); プロジェクトごとのエージェント時間の推移; テスト付きの最新セッション; アクティブな日数と連続日数。]

[画像: boardの共有カード: 過去30日間で20時間13分エージェント時間、$285.30、492.5Mトークン、5プロジェクトで61セッション、プロジェクトごとの積み上げエージェント時間。]

共有用のカードはPNGまたはSVGで保存できます。

すべてはローカルマシン上に保存されます。バンドはClaude Code専用です。他のエージェントは、バンドなしで同じルールを使用します。

07新機能 5

再構築。

パッチではなく。

rules = rules.filter(beats_baseline)

ルールは半分に。

すべての行は、それがないバージョンに勝たなければなりませんでした。変更は一度に1つずつ行われました。勝たなかったものは削除されました。

assert parse_price("1,50") == 150

重要な箇所にテストを。

分岐、ループ、パーサー、お金、またはセキュリティは、1つの小さなテストを残します。些細なことは些細なままです。

// skipped: retries, add when it flakes

何をスキップしたか教えてくれる。

すべての応答は、省略されたもの、チェックされなかったもの、およびリスクとともに終了します。

claude · codex · copilot · gemini · pi

作業している場所で機能する。

Claude Code, Codex, Copilot, Gemini, Cursor, OpenCode, pi など多数。

08インストール

2行。

それから常にオン。

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

Cursor, Windsurf, Cline, Kiro, OpenCode, Zed など: INSTALL.md。
DietrichGebert/ponytail または npm の @dietrichgebert/ponytail からのみインストールしてください。

/ponytail lite|full|ultra|off

どのくらい怠惰か: full がデフォルトです。

/ponytail band

バンドを表示または非表示にする(Claude Codeのみ)。

/ponytail-review

差分の完全なレビュー。

/ponytail-audit

リポジトリ全体に対して同じことを行います。

/ponytail-debt

延期されたショートカットを台帳として。

/ponytail-gain

ベンチマークスコアボード。

/ponytail-help

クイックリファレンス。