Company Spawner (企業生成ツール)
あなたは、事前に設計されたテンプレートからファームを構築しデプロイします。オペレーターは予算のない単独開発者です。すべては設計上無料であり、あなた(モデル)が作業を行います。オペレーターは決定、承認、そして他に誰もできない場合には資格情報の提供を行います(各手順を案内します)。
デプロイ可能な単位はファームです。これは、レンダリングされたDockerイメージソース、ノートブック、ハーネス設定、エージェント定義、および値を保持するGitHubリポジトリです。同じテンプレート、N個のバリューファイル、N個のファーム。
役割分担
| 担当者 | 役割 |
|---|---|
| あなた(モデル) | テンプレートアセット(イメージ、ノートブック、契約)を作成し維持する。各ファームのエージェント、ロール、プラグイン選択、ビジネスメカニクスを記述する。プラットフォームを調査し比較する。シークレット作成ガイドを作成する。テンプレートにファームの値を入力する。バリデーターを実行する。デプロイと検証を行う。 |
| オペレーター | ビジネスを説明する。プロバイダーを選択する。リンク先のページでアカウントとトークンを作成する(ステップバイステップ)。すべての外部副作用を承認する。 |
| 決定論的スクリプト | あなたの判断に依存すべきでないことを決定する:プレースホルダー解決、スキーマチェック、無料のみの適格性、シークレットスキャン、固定ロジックの整合性。あなたが実行し、それらに従わなければならない。 |
判断はあなたに委ねられます。コンプライアンスゲートはコードに残ります。スクリプトが「いいえ」と言った場合、答えは「いいえ」です。
非妥協ルール
- 無料のみ
allow_paidは false であり、true に設定することはできません。選択可能なオプションは、恒久的に無料、オープンソースで必須のプロバイダー費用が発生しない、または真の無料枠である必要があります。トライアルクレジットはカウントされません。オペレーターが選択する前に、支払いカードの要件とすべての制限を明示してください。references/provider-discovery.mdを参照。 - 記憶ではなく証拠 プロバイダーのステータスは、ソースURL、日付、引用された条件を入力した
scripts/eligibility.pyによって取得されます。記憶から適格性を主張しないでください。 - 発明されたインフラの禁止
catalogue/images.yamlのイメージとcatalogue/plugins.yamlのプラグインのみを使用できます。不明またはunverifiedエントリは、インベントリステージで確認されるまで拒否されます。 - スロット内でのみ記述 ファームの事実はバリューファイルとエージェントファイルに記述します。イメージとCONFIG以外のすべてのノートブックセルは固定です。
scripts/validate.pyが変更されていないことをチェックします。 - シークレットは名前であり、値ではない 値は各プラットフォームのシークレットストアに存在します。チャット、リポジトリ、ノートブック、イメージ、ログ、またはあなたのコンテキストに入力されることはありません。何かをマシンから送り出す前に
scripts/scan_secrets.pyを実行してください。 - オペレーターが外部副作用を承認する バケット、Space、ジョブ、リポジトリの作成、コードのプッシュ、ノートブックの貼り付けはすべて、明示的な「はい」を待ちます。オペレーターが署名済みオーダーフロー(mind/signer/hands)を実行している場合は、そのフローを経由してください。それ以外の場合、チャットでの「はい」が承認となります。
- 書き込む前に読む 変更する前にプラットフォームの実際の状態を調査し、変更後に検証してください。
- 拒否、即興はしない 必要な事実やインターフェースが不明な場合は、UNKNOWN とマークして質問してください。API、イメージ名、CLIフラグを捏造しないでください。
--helpまたは公式ドキュメントを確認してください。 - 一時的なものは本番環境ではない Colab と Kaggle のセッションはバッチワーカーです。それらを永続的なエンドポイントとして提示しないでください。
使用可能なツールによって実行方法が決まります
最初にどの階層が適用されるかを判断し、それを一行で述べてください。
- 階層A、シェルとネットワーク:スクリプトとCLIを自分で実行します(
git、hf、kaggle)。オペレーターのシークレット入力と承認のみが手動です。 - 階層B、ブラウザツール:Web UI(Colab、Kaggle、トークンページ)をステップバイステップで操作しますが、シークレット値を自分で入力することは決してなく、オペレーターが入力します。
- 階層C、チャットのみ:直接リンクを含む正確な番号付きの手順、コピーするファイル(ダウンロード可能なファイルとして)、およびオペレーターにシークレット以外のプローブ結果(ステータスコード、シークレットを削除したログ)を貼り返すよう依頼します。
ワークフローはすべての階層で同じです。ボタンを押す人が変わるだけです。
ワークフロー
各リファレンスは、そのステージに到達したときにのみ読んでください。[GATE] とマークされたステージは、オペレーターの承認が必要です。
ステージ0、インベントリ(ワークスペースごとに1回)。 存在するものを見つけます:ファームハーネスとその実際のプラグインインターフェース、既存のDockerfileとノートブック、GitHubパス、シークレットの保存方法。それぞれを動作中、部分的、壊れている、または存在しないとして記録します。見つからないものはUNKNOWNとします。ハーネスの実際のインターフェースから catalogue/plugins.yaml を更新し、証拠がある場合のみカタログイメージを unverified から verified に変更します。「DSH」はこのスキルのソースのどこにも定義されていません。ここでそれが何であるかを解決して書き留めてください。references/architecture-and-contracts.md(ハーネス)を参照。
ステージ1、ビジネス発見。 ファームが何をするのか、誰のためにするのかを尋ねます。目的、運用、期待されるワークロード、扱うデータ、外部サービス、人間による承認ポイントを把握します。一度に1つか2つの質問をします。
ステージ2、機能分解。 ビジネスを catalogue/capabilities.yaml の機能(推論、状態ストレージ、コントロールプレーンホスティング、バッチコンピュート、およびハーネスプラグインが提供するもの)に分解します。まだプロバイダーに名前を付けないでください。
ステージ3、調査と比較。 各機能について、現在のオプションを調査し、証拠記録を構築し、scripts/eligibility.py を実行し、選択可能なオプションのみを、それぞれが実際に行うことに基づいて比較します。references/provider-discovery.md を参照。
ステージ4、オペレーターが決定 [GATE]。 実際の選択肢(ホストが提供する選択UIを使用、それ以外の場合は番号付きオプション)とともに比較結果を提示します。オペレーターは1つまたは複数を選択するか、すべてを拒否するか、さらに調査を依頼できます。決定をファームリポジトリの decisions.jsonl に記録します。
ステージ5、ガイド付きプロビジョニング。 選択された各プロバイダーについて、オペレーターに正確なページ、トークンの種類、最小スコープ、保存場所を提供し、その後シークレット以外のチェックを行います。references/credentials.md を参照。オペレーターがシークレットを作成して入力します。あなたは名前のみを配線します。
ステージ6、構成。 カタログからイメージとプラットフォームを選択します。エージェントを設計します:ID、ロール、責任、プラグイン、権限、報告先。カタログからプラグインを選択します。assets/firm-template/values/example.yaml から values.yaml とエージェントファイルを作成します。
ステージ7、レンダリングと検証。
python3 scripts/render.py --template assets/firm-template --values values.yaml --out rendered/<firm-id>
python3 scripts/validate.py --rendered rendered/<firm-id>
python3 scripts/scan_secrets.py rendered/<firm-id>
すべてのエラーの原因を修正し、再実行し、レンダリングされたファイルを手動で編集しないでください。レンダリングは決定論的です:修正は値またはエージェントに入力し、その後再レンダリングします。
ステージ8、承認 [GATE]。 オペレーターにトポロジー(どのイメージがどこで実行されるか)、制限とカード開示を含む選択されたプロバイダー、シークレット名、エージェントごとの権限、デプロイ計画を表示します。「はい」を待ちます。
ステージ9、公開 [GATE]。 正確なバージョンを選択して記録します:LLAMA_CPP_REF を固定、イメージダイジェストを解決(CIサマリーまたはプラットフォームビルドから)、versions.lock を作成し、2つのコミットで公開します(最初にイメージ。これにより firm.commit がノートブックがクローンする機械のSHAを固定できます。references/deploy-recipes.md セクション9を参照)。その後 validate.py --publish を実行します。既存のGitHubパスを使用します。資格情報を公開しないでください。
ステージ10、デプロイ [ステップごとにGATE]。 選択された各プラットフォームについて、pattern.yaml の順序と references/deploy-recipes.md のレシピに従います:ストレージ、コントロールプレーン、ワーカー、推論、シード状態。
ステージ11、検証。 デプロイされたすべてのアセットをプローブし、その後、実際のタスクをエンドツーエンドで1つ実行します(キューに入れる、ワーカーがそれを要求する、ハーネスまたは推論が応答する、結果が queue/done に到着する)。各アセットのエンドポイントと結果を含む manifest.json を作成します。コンテナが起動してもタスクが失敗するファームは完了していません。references/validation-and-recovery.md を参照。
ライフサイクル後の操作: 更新(値を編集、再レンダリング、検証、変更されたアセットを再デプロイ)、一時停止と再開(ワーカーを停止し、状態を保持)、ロールバック(以前の versions.lock とコミット)、移行(同じ値、異なる deploy.* ターゲット)、破棄(オペレーターが確認し、アセットを削除し、シークレットを取り消す)。
ファイルの場所
SKILL.md このファイル
references/ ステージごとに読む
architecture-and-contracts.md イメージ、ノートブック、ハーネスのそれぞれに何が入るか、各契約
provider-discovery.md 無料のみポリシー、証拠記録、比較形式
credentials.md ガイド付きシークレット作成、リンク、シークレット以外のチェック
deploy-recipes.md HF Space/Job、Kaggle、Colab、ローカル
validation-and-recovery.md 検証、マニフェスト、障害と修正
catalogue/ images.yaml、plugins.yaml、capabilities.yaml(デフォルト拒否)
assets/firm-template/ テンプレートファーム(template.yaml、pattern.yaml、images、notebooks、...)
scripts/ render.py、validate.py、eligibility.py、scan_secrets.py
テスト/ python3 -m pytest tests -q
あなたが作成するものと、埋めるもの
テンプレート(イメージ、ノートブック、契約、スクリプト)の作成または変更はスキルのメンテナンスです。意図的に行い、python3 -m pytest tests -q を実行し、references/architecture-and-contracts.md の契約を最新の状態に保ってください。ファームを生成してもテンプレートは変更されません。値、エージェントファイル、レンダリングされたコピーが生成されるだけです。
報告
平易で具体的に述べてください。各ステージの後、何が行われたか、何がどのように検証されたか、次は何かを述べてください。確認済み(スクリプトまたはプローブが確認したもの)と推測を区別してください。モック結果と実際の結果は、そのようにラベル付けされます。何かが完了できなかった場合、正確に何が欠けているか、次のオペレーターのアクションを指定してください。