プログラミング
Skillscript – 宣言的でサンドボックス化されたツールオーケストレーション言語 (Show HN)
Show HN: Skillscript – A declarative, sandboxed language for tool orchestration (github.com)
要約
Skillscriptは、AIエージェントがツールをどのように実行するかを定義するための、宣言的でサンドボックス化された言語です。この言語は、モデルが毎回指示を解釈するのではなく、事前に定義された手順を実行することを目指しており、ローカルモデルやシェルコマンドとの連携を安全に行えるように設計されています。開発者は、言語設計やエージェントによるスキル利用の信頼性についてフィードバックを求めています。
全文翻訳
皆さん、こんにちは、HN。
私はスコットです。Skillscriptは、モデルが毎回正しく解釈してくれることを期待するのではなく、私がローカルエージェントに実際に行わせたいことを、私が読み取り、バージョン管理できる形式で記述するために構築した小さな言語です。
きっかけは些細なことでした。私のNanoClawエージェントに、毎日同じように朝のブリーフィングを実行させたいと思ったのです。夜間のチケットを確認し、デプロイパイプラインを要約し、緊急のものをフラグ付けします。セッションごとに、これはゼロから実行する方法を再考し、少しずつ逸脱し、基本的に固定された手順に対してトークンを消費していました。システムプロンプトやMDスキルファイルに入れることもできましたが、それらはモデルが毎回読み取って推論する指示のままです。そして、自律的に実行してから、モデルにデータを推論させるようにしたかったのです。
私を後押しした2つ目のこと:安価な処理には小さなローカルモデルを使いたかったのです。それらは能力がありますが、ただハンドルを渡すと、さまよってしまいます。私が望んだのは、フロンティアモデル(または私自身)が特定のプロセスを書き、それを解釈するのではなく実行するためにローカルモデルに渡す方法でした。skillscriptはそのプログラムであり、モデルはそのランタイムです。
Skillscriptはそれです。skillscriptは、名前付きステップ、変数、条件、およびツール(MCPコネクタ、ローカルモデル、およびオペレーターの許可リストからのシェルコマンド)への呼び出しを含むテキストファイルです。意図的に最小限に抑えられています — evalなし、任意のインポートなし、サブプロセスなし、無制限のループなし。制限された言語であり、損害の可能性は限定的です。skillscriptができることはすべてファイルに記載されています。それを読めばわかります。
現在の状況:v1.0(0.30)より前、MCPネイティブ、セルフホスト。既知の粗削りな点:初回セットアップが想定より多くの手順を必要とすること、一部の文法がまだ変更中であること、ローカルモデルの統合が現在Ollamaを想定していること。十分実用的で毎日使用していますが、必ずしも本番環境対応とは言えないでしょう。
- リポジトリ: https://github.com/sshwarts/skillscript
- サイト: https://skillscript.ai
- ドキュメント: https://skillscript.mintlify.app/docs
- npm: skillscript-runtime
特に2つの点について、批評を歓迎します:言語設計(小さすぎますか?大きすぎますか?形状が間違っていますか?)と、エージェントが作成したスキルを信頼する際の信頼モデルです。ご自身のマシンでこれを信頼する前に、どのようなものを見たいと思いますか?