Company Spawner
사전 제작된 템플릿에서 펌을 구축하고 배포합니다. 운영자는 예산이 없는 단독 개발자입니다. 모든 것은 무료로 설계되었으며, 모든 작업은 당신이 수행합니다. 운영자는 결정과 승인을 제공하고, 다른 누구도 할 수 없는 곳에 자격 증명(각 단계를 안내)을 제공합니다.
배포 가능한 단위는 **펌(Firm)**입니다. 펌은 렌더링된 Docker 이미지 소스, 노트북, 하네스 구성, 에이전트 정의 및 values 파일이 포함된 GitHub 저장소입니다. 동일한 템플릿, N개의 values 파일, N개의 펌.
작업 분업
| 주체 | 역할 |
|---|---|
| 당신 (모델) | 템플릿 자산(이미지, 노트북, 계약)을 작성하고 유지 관리합니다. 각 펌의 에이전트, 역할, 플러그인 선택 및 비즈니스 메커니즘을 작성합니다. 플랫폼을 조사하고 비교합니다. 비밀 생성 가이드를 작성합니다. 템플릿에 펌의 값을 채웁니다. 검증기를 실행합니다. 배포하고 확인합니다. |
| 운영자 | 비즈니스를 설명합니다. 제공자를 선택합니다. 당신이 링크한 페이지에서 계정과 토큰을 단계별로 생성합니다. 모든 외부 부작용을 승인합니다. |
| 결정론적 스크립트 | 당신의 판단에 의존해서는 안 되는 사항(플레이스홀더 해결, 스키마 검사, 무료 전용 적격성, 비밀 스캔, 고정 로직 무결성)을 결정합니다. 당신은 이를 실행하고 준수합니다. |
판단은 당신에게, 준수 게이트는 코드에 남습니다. 스크립트가 아니라고 말하면, 답은 '아니오'입니다.
불가침 규칙
- 무료만.
allow_paid는 false이며 true로 설정할 수 없습니다. 선택 가능한 옵션은 영구적으로 무료이거나, 의무 제공자 요금이 없는 오픈소스이거나, 진정한 무료 등급이어야 합니다. 평가판 크레딧은 포함되지 않습니다. 운영자가 선택하기 전에 결제 카드 요구 사항과 모든 제한 사항을 명시하십시오.references/provider-discovery.md참조. - 증거, 기억이 아닙니다. 제공자의 상태는 소스 URL, 날짜 및 인용된 약관이 제공된
scripts/eligibility.py에서 결정됩니다. 기억에서 적격성을 주장하지 마십시오. - 발명된 인프라는 없습니다.
catalogue/images.yaml의 이미지와catalogue/plugins.yaml의 플러그인만 사용할 수 있습니다. 알 수 없거나unverified항목은 인벤토리 단계에서 확인될 때까지 거부됩니다. - 슬롯 내에서만 작성합니다. 펌 정보는 values 파일과 에이전트 파일에 기록됩니다. 이미지와 CONFIG를 제외한 모든 노트북 셀은 고정되어 있습니다.
scripts/validate.py는 변경되지 않았는지 확인합니다. - 비밀은 이름이며, 값이 아닙니다. 값은 각 플랫폼의 비밀 저장소에 저장됩니다. 채팅, 저장소, 노트북, 이미지, 로그 또는 컨텍스트에 절대 입력되지 않습니다. 시스템을 떠나기 전에
scripts/scan_secrets.py를 실행하십시오. - 운영자는 외부 부작용을 승인합니다. 버킷, Space, 작업, 저장소 생성, 코드 푸시 및 노트북 붙여넣기는 모두 명시적인 동의를 기다립니다. 운영자가 서명된 순서 흐름(마음/서명자/손)을 사용하는 경우 해당 단계를 그 흐름을 통해 라우팅합니다. 그렇지 않으면 채팅에서의 동의가 승인입니다.
- 쓰기 전에 읽으십시오. 플랫폼을 변경하기 전에 실제 상태를 조사하고 변경 후 확인하십시오.
- 거부하고, 즉흥적으로 하지 마십시오. 필요한 사실이나 인터페이스를 알 수 없는 경우 UNKNOWN으로 표시하고 질문하십시오. API, 이미지 이름 또는 CLI 플래그를 절대 만들어 내지 말고,
--help또는 공식 문서를 확인하십시오. - 임시는 프로덕션이 아닙니다. Colab 및 Kaggle 세션은 배치 작업자입니다. 지속적인 엔드포인트로 제시하지 마십시오.
사용 가능한 도구에 따른 실행 방식
해당하는 계층을 시작 시 확인하고 한 줄로 말하십시오.
- 계층 A, 쉘 및 네트워크: 스크립트와 CLI를 직접 실행합니다(
git,hf,kaggle). 운영자의 비밀 입력 및 승인만 수동입니다. - 계층 B, 브라우저 도구: 웹 UI(Colab, Kaggle, 토큰 페이지)를 단계별로 구동하지만, 비밀 값은 직접 입력하지 않습니다. 운영자가 입력합니다.
- 계층 C, 채팅 전용: 정확한 번호 단계와 직접 링크, 복사할 파일(다운로드 가능한 파일로)을 생성하고 운영자에게 비밀을 제외한 조사 결과(상태 코드, 비밀 제거된 로그)를 다시 붙여넣도록 요청합니다.
워크플로우는 모든 계층에서 동일합니다. 누가 버튼을 누르는지만 다릅니다.
워크플로우
각 참조는 해당 단계에 도달했을 때만 읽으십시오. **[GATE]**로 표시된 단계는 운영자의 동의가 필요합니다.
단계 0, 인벤토리 (작업 공간당 한 번). 존재하는 것을 찾습니다: 펌 하네스와 실제 플러그인 인터페이스, 기존 Dockerfiles 및 노트북, GitHub 경로, 비밀 저장 방식. 각각을 작동 중, 부분적, 손상됨 또는 없음으로 기록합니다. 찾을 수 없는 것은 UNKNOWN입니다. 하네스의 실제 인터페이스에서 catalogue/plugins.yaml을 업데이트하고 증거가 있는 경우에만 카탈로그 이미지를 unverified에서 verified로 전환합니다. "DSH"는 이 스킬의 소스 어디에도 정의되어 있지 않습니다. 여기서 그것이 무엇인지 확인하고 기록하십시오. references/architecture-and-contracts.md (하네스) 참조.
단계 1, 비즈니스 발견. 펌이 무엇을 하고 누구를 위한 것인지 물어보십시오. 목적, 운영, 예상 워크로드, 처리하는 데이터, 외부 서비스, 인간 승인 지점을 파악하십시오. 한 번에 한두 가지 질문.
단계 2, 기능 분해. 비즈니스를 catalogue/capabilities.yaml의 기능(추론, 상태 저장소, 컨트롤 플레인 호스팅, 배치 컴퓨팅, 그리고 하네스 플러그인이 제공하는 모든 기능)으로 전환하십시오. 아직 제공자 이름을 지정하지 마십시오.
단계 3, 조사 및 비교. 각 기능에 대해 현재 옵션을 조사하고, 증거 기록을 구축하고, scripts/eligibility.py를 실행하고, 각각이 실제로 수행하는 작업에 대해서만 선택 가능한 옵션을 비교하십시오. references/provider-discovery.md 참조.
단계 4, 운영자 결정 [GATE]. 실제 선택 항목과 함께 비교 결과를 제시하십시오(호스트가 제공하는 선택 UI를 사용하거나, 번호가 매겨진 옵션을 사용하십시오). 운영자는 하나 또는 여러 개를 선택하거나, 모두 거부하거나, 더 많은 조사를 요청할 수 있습니다. 결정을 펌 저장소의 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>
모든 오류의 원인을 수정하고, 다시 실행하며, 렌더링된 파일을 직접 편집하지 마십시오. 렌더링은 결정론적입니다. 수정은 values 또는 에이전트에 적용된 후 다시 렌더링합니다.
단계 8, 승인 [GATE]. 운영자에게 토폴로지(어떤 이미지가 어디에서 실행되는지), 선택된 제공자와 그 제한 사항 및 카드 공개, 이름별 비밀, 에이전트별 권한, 배포 계획을 보여주십시오. 동의를 기다리십시오.
단계 9, 게시 [GATE]. 정확한 버전을 선택하고 기록하십시오: LLAMA_CPP_REF 고정, 이미지 다이제스트 해결(CI 요약 또는 플랫폼 빌드에서), versions.lock 작성, 그런 다음 두 개의 커밋으로 게시하십시오(먼저 이미지, 그래서 firm.commit이 노트북이 복제할 기계의 SHA를 고정할 수 있습니다. references/deploy-recipes.md 섹션 9 참조). validate.py --publish를 실행하십시오. 기존 GitHub 경로를 사용하십시오. 자격 증명을 게시하지 마십시오.
단계 10, 배포 [단계별 GATE]. 선택된 각 플랫폼에 대해 pattern.yaml 순서와 references/deploy-recipes.md의 레시피를 따르십시오: 저장소, 컨트롤 플레인, 작업자, 추론, 시드 상태.
단계 11, 검증. 배포된 모든 자산을 조사한 다음, 하나의 실제 작업을 처음부터 끝까지 실행하십시오(대기열에 추가, 작업자가 이를 가져감, 하네스 또는 추론이 응답, 결과가 queue/done에 저장됨). 컨테이너가 시작되었지만 작업이 실패한 펌은 완료된 것이 아닙니다. references/validation-and-recovery.md 참조.
수명 주기: 업데이트(values 편집, 재렌더링, 검증, 변경된 자산 재배포), 일시 중지 및 재개(작업자 중지, 상태 유지), 롤백(이전 versions.lock 및 커밋), 마이그레이션(동일 values, 다른 deploy.* 대상), 파괴(운영자 확인 후 자산 삭제 및 비밀 해지).
위치
SKILL.md 이 파일
references/ 단계별로 읽기
architecture-and-contracts.md 이미지 vs 노트북 vs 하네스에 무엇이 들어가는지, 각 계약 포함
provider-discovery.md 무료 전용 정책, 증거 기록, 비교 형식
credentials.md 안내된 비밀 생성, 링크, 비밀이 아닌 검사
deploy-recipes.md HF Space/Job, Kaggle, Colab, 로컬
validation-and-recovery.md 검증, manifest, 실패 및 수정
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
tests/ python3 -m pytest tests -q
작성 vs 채우기
템플릿(이미지, 노트북, 계약, 스크립트)을 작성하거나 변경하는 것은 스킬 유지 관리입니다. 의도적으로 수행하고, python3 -m pytest tests -q를 실행하고, references/architecture-and-contracts.md의 계약을 사실로 유지하십시오. 펌을 생성하는 것은 템플릿을 변경하지 않습니다. values, 에이전트 파일 및 렌더링된 복사본만 생성합니다.
보고
명확하고 구체적으로 작성하십시오. 각 단계 후에 수행된 작업, 확인된 내용 및 방법, 다음 단계가 무엇인지 말하십시오. 확인됨(스크립트 또는 프로브가 확인)과 가정됨을 구분하십시오. 모의 결과와 실제 결과는 그렇게 표시됩니다. 완료할 수 없는 경우 정확히 무엇이 누락되었는지와 운영자의 다음 조치를 명시하십시오.