Libretto(https://libretto.sh)は、あなたのコーディングエージェントが決定的なブラウザ自動化を生成したり、既存のものをデバッグしたりしやすくする Skill+CLI です。重要な転換は、「実行時にエージェントへプロンプトを渡して、なんとかして理解してくれることに期待する」から次へ: 「コーディングエージェントを使って、読み取り・実行・デバッグできる“実際のスクリプト”を生成する」です。
デモはこちら: https://www.youtube.com/watch?v=0cDpIntmHAM。ドキュメントは https://libretto.sh/docs/get-started/introduction から始まります。
私たちはヘルスケアのスタートアップで、EHR とペイヤー(支払)ポータルの連携に向けたブラウザ自動化を 1 年かけて開発・保守してきました。これらの自動化を作り、失敗したものをデバッグする作業は、非常に時間がかかりました。
Browseruse や Stagehand のように実行時の AI を使うツールはいろいろありますが、試したところ次の理由で(1)古くて複雑なサイト(ヘルスケアのサイトを含む)では、信頼性の低いカスタム DOM パースに依存しているためうまくいきませんでした。可能な場合は、そのウェブサイト内部のネットワーク呼び出しを使うほうが、より速く、より信頼できます。(2)AI 呼び出しを大量に行う必要があるためコストが高くなりがちで、複雑なロジックを含むワークフローでは、キャッシュされたアクションに頼って確実に動くとは限りません。(3)実行時に動くので、エージェントが何をするのか解釈できません。プロンプトを正しく渡して正しいことをしてくれることに少し期待するしかありませんが、レガシーなワークフローはサイトごとに直感的でないことや一貫性のなさが多く、実行時にエージェントが勝手に正しく把握してうまくやると信用できません。(4)新しい自動化の生成にはあまり役立たず、また自動化の失敗をデバッグするのにもあまり役立ちません。
私たちは、壊れやすい実行時エージェントに頼らずに、ゴチャゴチャしていて、しかもリスクの高い環境でも、ブラウザ自動化を確実に生成し、保守できる方法が欲しいと考えました。
Libretto は、実行時エージェントの代わりに「開発時間(development-time)の AI」を使う点で異なります。つまり、スクリプトは実行時の不透明なエージェント挙動ではなく、事前に実際のコードとして生成され、読み取り・制御できます。ブラックボックスではなく、コードの主導権はあなたにあり、すべてを検査・修正・バージョン管理・デバッグできます。
実行時の DOM パースに頼る代わりに、Libretto はハイブリッドアプローチを採用します。より高い信頼性とボット検知回避のために、Playwright の UI 自動化と、ブラウザセッション内でのダイレクトなネットワーク/API リクエストを組み合わせます。
エージェントがスクリプトを生成・更新するのを助けるために手動ユーザー操作を記録し、ステップ実行によるデバッグをサポートし、エージェントがうっかりデータを送信または変更してしまうのを防ぐためのオプションの読み取り専用モードがあり、さらにあなたのコーディングリポジトリにすでにあるすべての抽象化と慣習に従うコードを生成します。
皆さんが実際にどのようにブラウザ自動化を構築・保守しているのか、また今回私たちが取ったアプローチへのフィードバックがあればぜひ聞かせてください。
コメント URL: https://news.ycombinator.com/item?id=47780971
ポイント: 100
# コメント: 35

