AIが迷うのも、そりゃそうか

コーディングエージェントに「これ直して」と頼んでも、リポジトリの目的も、確認に使うコマンドも、触っていい範囲も書いてなければ、そりゃ迷う。人が途中参加しても困るような状態を、AIだけがうまく読んでくれるわけではない。

そこで、エージェントをもっと賢くする前に、リポジトリの受け入れ準備を見たほうがいいんじゃないかと思った。Harness Babyは、その足りないものを手元で探すためのCLIとして始めた。

点数より、根拠がほしい

READMEがあるから何点、テストがあるから何点。それだけなら簡単だけど、数字だけ見ても次に何を直せばいいか分からない。Harness Babyのレポートには、確認した項目ごとにpass、warn、fail、skipと、その判断に使った証拠を残す。

たとえばPythonならpyproject.tomlやテストファイル、GitHub Actionsならworkflow内のtestやlintの手がかりを見る。秘密らしき文字列を見つけた場合も、値そのものは出さず、ファイルと行番号と種類だけを記録する。

まずは、見るだけ

診断ツールが親切心でファイルを書き換え始めると、それはそれで怖い。scanはソースや設定を直さず、依存関係も入れず、Terraformも実行しない。通常の書き込みは、指定したYAMLレポートだけに絞った。

何かを作るinitも、最初はプレビューだけを返す。実際に7つのファイルを置くには、内容を見たあとで--applyを付ける。診断と変更を分けておけば、どこからが自分の判断だったかを追いかけやすい。

  • scanはリポジトリの中身を勝手に直さない
  • 同じ状態なら、同じ順序と結果を返す
  • 変更する操作は、診断とは別のコマンドにする

できることを盛らない

Harness BabyはAIエージェントではないし、LLMも呼ばない。リポジトリが本番運用に耐えられることを保証する道具でもない。現時点では実験的なalphaで、Python、Terraform、GitHub Actionsと、リポジトリ共通の基本項目を中心に見ている。

対応していないものを、ロードマップに書いたから使えることにするのはやめた。Node.jsやGo、Dockerなどは候補にはあるけれど、実装して検証するまでは未対応のまま。ここは小さくても正直にしておきたい。

まだ育ててる途中

今は、ファイルがあるかどうかだけじゃなく、そこに書いてある内容が本当に作業の助けになるかまで見たい。AGENTS.mdが空の雛形だったら、それを満点として扱うのは変だ。存在確認の次に、中身をどう評価するかが残っている。

完成品の紹介だけだと、たぶんあとで自分が困る。どうしてこの境界にしたのか、何をあえてやらなかったのかも、ここに残していく。