0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

oh-my-agent: スキルが自分の有用性を測定し、最適化できるように

0
Last updated at Posted at 2026-06-08

多くのスキルライブラリは、ただ積み重ねるだけで育ちます。SKILL.md を1つ追加し、「便利そう」と思えば、そのまま残り続ける。実際に役立つか、害になるかを誰も証明できないからです。今週 oh-my-agent はその穴を埋めました。oma skills eval はスキルを読み込んだときにホールドアウトタスクの結果が本当に改善するかを測り、oma skills opt はその数値を上げるよう SKILL 自体を書き換えます。194コミットが入り、CLI は 8.41.0 ですが、注目すべきは eval → opt のループです。

新機能

  • oma skills eval: ホールドアウトタスクで utilityLift(treatment と baseline の差)を測定。--mock は記録済み rollout を決定的に再生、--live はタスクごとに read-only なエージェント腕を2本起動、--record で rollout を保存。デフォルトの checker は judge(LLM がルーブリックで出力を採点)。assertregex は任意の決定的チェック。
  • oma skills opt: optimizer LLM が SKILL.md への add/delete/replace 編集を提案し、各候補を eval で再採点。ホールドアウト検証の lift が厳密に改善し、negative-transfer の退行がない場合だけ採用(SkillOpt, arXiv:2605.23904)。デフォルトは --dry-run--apply は atomic な temp+rename で書き込み、.bak を残す。
  • Negative-transfer サンプリング: --neg-transfer で、あるスキルを読み込むと他スキルの eval セット上の無関係な同ドメインタスクが退行しないか確認。
  • スケーリング則 audit: oma skills audit が black-hole スキル(汎用すぎてルーティングを奪うもの)を検出し、ライブラリサイズに応じた routing-decay 閾値を超えたら警告(Chen et al., arXiv:2605.16508)。
  • oma-video スキルと /video workflow: API キー任意の3段階生成(9:16 ショート、16:9 解説、任意 URL のデモキャプチャ)。ナレーション、ビジュアル、字幕、同梱 Remotion compositor を組み合わせる。各プロバイダは決定的フォールバックに落ちるため、API キー0でも実行が完走する。
  • oma-mobile の Swift ネイティブ iOS: swift-ios バリアント(SwiftUI + @Observable、Apple swift-openapi-generator、App/Core/Features/Shared 構成)。/stack-set が Swift / Flutter / React Native を検出して解決済みスキルへルート。oma verify mobile はスタック manifest に応じて swift build / swift test を実行。
  • oma intel: GitHub の README、リリース、issue を集める local-first のプロダクトインテリジェンスパイプライン。対立的なマルチレンズ review gate を通し、PRD と gap report に分割出力。
  • 3つの新ランタイム: Kiro CLI、Pi(Earendil、in-process .pi/extensions 経由)、Antigravity(agy)の .agents/hooks.json フック統合。

修正

  • runAction が位置引数を潰していた: マージ済み options オブジェクトで args[0] を上書きしていたため、oma state:emit decision.made '{...}' の kind が {category:"main",...} になり、state:verify は常に decision 欠落を報告。options は位置で置き換え、オペランドが残るようにした。
  • --yes がハンドラに届かなかった: ラッパーが command.opts()(グローバル解析フラグを落とす)を渡していたため、oma skills eval --live --yes でもコスト確認で止まった。optsWithGlobals() に切り替え、CI 上で live skill-eval が動くようにした。
  • AgentMemory がプロジェクト配下に漏れていた: iii エンジンが cwd 相対の ./data/ を起動元プロジェクトに書いていた。daemon cwd を ~/.agentmemory に固定し、daemon stopagentmemory stop を呼び、port 3111 の孤児エンジンを残さない。
  • キーレス market ソースが黙って 403: 匿名 reddit search.json と bluesky 公開 search が 403 を返し、デフォルトソースの4つ中2つが落ちていた。reddit は pullpush.io、bluesky は api.bsky.app 経由に変更し、キーレス既定カバレッジを 2/4 から 4/4 に。
  • agy headless の stdout が空: Antigravity は非 TTY 向け --print で stdout に何も出さず、spawn した subagent の捕捉が空白だった。subagent を PTY(script(1))上で実行し、出力を捕捉するようにした。

改善

  • workflow を直接 symlink: 各 workflow ファイルが name + disable-model-invocation frontmatter を持ち、.agents/workflows/<wf>.md へ直 symlink で公開。コミット済みラッパースキル18件を削除し、pdf/oma-pdf audit の false positive を修正。実スキル数は30。
  • harvest.ts を分割: 1.4k 行の market harvest を endpoints / normalizers / sources に分離。約400行の fetchSource 条件分岐を source-handler registry 化。公開 facade は不変。
  • print stylesheet のカスケード競合を解消: slide PDF export の不要な !important をやめ、競合源(author style の後に出る scoped #slide-NN reset)を直した。残る !importantprefers-reduced-motion の a11y reset のみ。
  • パスとハッシュを集約: install、state、recap が .agents パス定数を共有し、manifest checksum はフル SHA-256 で一致。
  • デフォルト effort を xhigh から high に: install 時 Claude 設定と Anthropic auto-default。既存のより高い設定は保持。

インストール

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex

oh-my-agent は、スキルライブラリを測定可能な資産として扱うチーム向けです。次は、oma skills opt で採用された編集を eval fixture に戻し、リリースごとにライブラリが自己調整する流れを作ります。


原文(英語): https://dev.to/gracefullight/oh-my-agent-skills-now-measure-and-optimize-their-own-utility-4g14

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?