모든 AI 액터를 실행하는 런타임
모델은 언어를 제공합니다. 하지만 모델 자체만으로는 실제 데이터에 안정적으로 기반을 두고, 적절한 도구를 선택하고 정확하게 호출하고, 호출 실패 시 복구하고, 여러 단계를 거친 작업을 완료하고, 재현 가능한 경로를 남길 수 없습니다. Socialhub Harness는 이러한 모든 작업을 수행하는 엔터프라이즈 에이전트 런타임입니다. 즉, 유능한 모델을 신뢰할 수 있는 에이전트로 전환하는 실행 엔진입니다.
Flash의 모든 AI 액터(마케팅, 로열티 및 리스크 관리자, 회원 컨시어지, 그리고 모든 백그라운드 생성기)는 에이전트 정의입니다. 이는 이 런타임이 실행하는 구조화된 청사진(모델 라우팅, 컨텍스트 소스, 스킬, 각 범위가 있는 도구, MCP 표면, 워크플로, 메모리 및 루프 정책)입니다. 모든 액터가 하나의 런타임을 통해 실행되므로 거버넌스는 별도의 제품이 아니라 통합 실행의 구조적 속성입니다. 모델은 언어를 제공합니다. 런타임은 액션을 제공하고, 통합 런타임은 거버넌스를 무료로 제공합니다.
이 참조는 실행 시간에 수행하는 작업, 실행하는 정의 유형 및 해당 축, 기술이 실행된 단계로 구성되는 방식, 각 실행이 이벤트 로그에 내보내는 재현 가능한 궤적, 모든 것을 한 곳에서 실행하지 못하는 가드 등 해당 런타임에 대한 개발자의 보기입니다. 사업 개요는 Socialhub Harness제품 페이지를 참조하세요.
런타임이 실행 시간에 하는 일
여기서부터 시작하세요. 이것이 전체 시스템의 핵심입니다. 실행이 시작되면 Harness 런타임은 언어 모델이 스스로 할 수 없는 작업, 즉 아래 다섯 가지 작업을 순서대로 수행합니다. 그 결과 작업이 완료되고 재생 가능한 궤적이 생성됩니다.
1 · Context assembly런타임은 액터의 기반을 마련합니다. 실행 시마다 브리핑과 실제 비즈니스 정보(작업, 회원/세그먼트 집계, 브랜드 키트, 지표)를 개인 식별 정보(PII)를 최소화하여 취합합니다. 모델은 데이터를 추측하지 않고, 제공된 데이터를 기반으로 작동합니다.
2 · Model routing런타임은 정의에서 지정한 내용을 기반으로 대체 기능을 사용하여 각 단계를 실행할 추론 엔진을 결정합니다. 라우팅은 프롬프트가 아닌 런타임의 역할입니다.
3 · Skill composition into steps런타임은 구성된 스킬의 순서가 지정된 단계와 의사 결정 지침을 프롬프트에 삽입하므로 실행되는 것은 모델이 임의로 생성한 것이 아니라 이름이 지정되고 버전이 지정된 프로시저입니다.
4 · The tool loop런타임은 선택-호출-관찰 루프를 구동합니다. 관리되는 도구를 선택하고, 권한을 확인하고, 호출하고, 결과를 읽고, 실패 시 복구하거나 에스컬레이션합니다. 이는 기본 모델 호출에 부족한 신뢰성입니다.
5 · A reproducible trajectory모든 단계는 실행 ID와 정확한 설계도 버전이 기록된 추가 전용 이벤트 로그에 순서대로 기록되므로 실행 과정을 단계별로 감사하고 재현할 수 있습니다.
모델은 언어를 제공하고, 런타임은 동작을 제공하며, 통합 런타임은 거버넌스를 무료로 제공합니다. 아래의 모든 것, 즉 런타임이 실행하는 정의, 스킬 구성 방식, 생성되는 이벤트 로그, 그리고 유지를 위한 가드는 모든 액터에 대해 한 곳에서 실행되는 이 다섯 단계를 기반으로 합니다.
에이전트 정의의 구성 요소 — 런타임이 실행하는 내용
런타임은 정의(Definition)를 실행합니다. 정의는 코드나 자유 형식의 프롬프트가 아닌, 구조화된 설계도로, 아래 구성 요소들을 담고 있습니다. 이 구성 요소들을 편집하면 새로운 버전의 설계도가 생성되고, 런타임은 다음 실행 시 이를 반영합니다. 이 버전은 런타임이 발생시키는 모든 이벤트에 기록됩니다.
| 청사진 부분 | 구성 요소 |
|---|---|
| 모델 라우팅 | 각 단계와 폴백을 실행하는 추론 엔진. 모델 이름을 지정합니다. 런타임이 이를 해결합니다. |
| 맥락 소스 | 작업, 회원/세그먼트 집계, 브랜드 키트, 지표 등 담당자가 시작할 때 필요한 브리핑 및 비즈니스 정보는 실행 시마다 정리되며 개인 식별 정보(PII)는 최소화됩니다. |
| 기술 | 액터에 구성된 구조화된 플레이북(아래 참조). 자유로운 형식의 프롬프트가 아닌 명명된 절차. |
| 도구 | 행위자가 취할 수 있는 통제된 행동들 - 각각에는 범위가 있습니다. 정의는 도구를 명시할 뿐, 권한을 부여하는 것은 아닙니다. 데이터베이스가 권한의 기준입니다. |
| MCP 표면 | 범위가 지정된 키를 보유하고 있는 외부 에이전트에 대해 모델 컨텍스트 프로토콜을 통해 어떤 도구가 노출되고, 어떤 도구 아래에 노출됩니까? |
| 워크플로 | 순서가 지정된 단계 또는 그래프는 작업 목록 및 조율된 행위자에 대한 요청, 읽기, 결정, 실행, 완료 등 런타임을 구동합니다. |
| 메모리 | 배우가 여러 단계와 장면에서 어떤 내용을 전달해야 하는지, 그리고 매번 새롭게 어떤 내용을 다시 읽어야 하는지를 명확히 해야 합니다. 개인 식별 정보(PII)를 적어두는 임시 메모장이 아니라, 엄격하게 관리해야 합니다. |
| 루프 정책 | 중지 규칙: 최대 단계, 예산 한도 및 사람에게 에스컬레이션 조건. 런타임이 이를 시행합니다. 배우는 그것을 확장할 수 없습니다. |
기능을 명시할 뿐, 권한을 부여하지는 않습니다. 정의는 도구, 모델 또는 데이터 소스를 참조할 수 있지만, 이 워크스페이스와 이 키가 실제로 이를 사용할 수 있는지 여부는 호출 시 런타임이 데이터베이스를 통해 결정합니다. 청사진은 구성 표면입니다. 런타임이 한 곳에서 권한을 결정하기 때문에 아래의 보호 장치는 자동으로 유지됩니다.
세 가지 축에 걸쳐 설명되는 하나의 정의 유형
모든 액터에는 단일 Definition 유형이 있습니다. 페르소나별로 분기되지 않고 직교 축을 따라 설명되므로 액터가 외부 에이전트인지, in-Flash 루프인지, 또는 단일 샷 생성기인지에 관계없이 동일한 런타임, 이벤트 로그 및 보호 기능이 적용됩니다.
| Axis | 값 | 캡처하는 내용 |
|---|---|---|
| runtimeForm | mcp_external · server_orchestrator · inline_function | 정의가 실행되는 방식. mcp_external = 범위가 지정된 키를 보유하고 MCP을 통해 호출하는 외부 에이전트. server_orchestrator = in-Flash 루프는 런타임 드라이브를 단계별로 실행합니다. inline_function = 화면 흐름에서 호출되는 싱글샷 생성기입니다. |
| agentType | employee · chatbot · function | 비즈니스에서 무엇을 의미하는가? 직원 = 관리하는 이름이 있는 작업자(목표, 작업, 피드백). 챗봇 = 실제 데이터를 기반으로 하는 대화형 인터페이스. 기능 = 페르소나가 없는 단일 목적의 생성기 또는 분류기. |
| 기술적인 유형 | agent · generator · embedded · custom · workflow | 청사진의 엔지니어링 분류 — 복합 다단계 에이전트, 인라인 생성기, 내장 기능, 작업 공간 사용자 정의 또는 다단계 워크플로 그래프. |
| 비즈니스 도메인 | 8개 도메인 중 하나(오른쪽) | 마케팅 및 캠페인, 충성도 및 유지, 위험 및 규정 준수, 회원 서비스, 콘텐츠 및 크리에이티브, 고객 인텔리전스, 분석 및 통찰력, 연구 및 시뮬레이션 등 비즈니스의 일부입니다. |
40개 이상의 관리 대상 액터, 하나의 모델. 실제 운영 체제는 5개의 구성 에이전트(다단계, 서버 오케스트레이션: 4명의 관리자와 멤버 컨시어지), 28개의 인라인 함수(제품 전체에 걸쳐 연결된 단일 실행 생성기 및 분류기), 그리고 8개의 내장 기능(화면의 흐름 도우미)으로 구성됩니다. 이들은 모두 동일한 정의 유형을 가지며, 위의 축을 따라서만 차이가 있습니다.
기술: 에이전트로 구성된 데이터베이스 권한 플레이북
스킬은 데이터베이스에 저장되고 신입 사원에게 표준 운영 절차(SOP)를 제공하는 방식처럼 요원의 청사진에 구성된 구조화된 플레이북입니다. 단순히 몇 줄의 지시문이 아니라 다음과 같은 부분으로 구성된 타이핑된 기록입니다.
trigger이 스킬이 현재 실행에 적용되는 조건입니다.
required state해당 스킬이 정상적으로 실행되려면 반드시 존재해야 하는 멤버/비즈니스 상태입니다. 이 상태가 없으면 해당 스킬은 사용자에게 접근이 차단된 상태로 작동을 멈춥니다.
tool allowlist이 스킬이 사용할 수 있는 상담원 도구의 하위 집합으로, 기존 설계에서 허용하는 범위를 좁히는 것이며, 확장하는 것은 아닙니다.
ordered steps런타임이 순서대로 수행하는 절차입니다.
verifier rules단계가 완료된 것으로 간주되기 전에 결과를 전달해야 하는 검사입니다.
decision guidanceHOLD 또는 에스컬레이션 시기를 포함한 선택 방법은 하드 코딩된 분기가 아닌 지침으로 표현됩니다.
런타임 시 런타임은 합니다. 따라서 실행되는 항목은 "모델이 생각해낸 것"이 아니라 팀이 읽고 승인할 수 있는 이름이 지정되고 버전이 지정된 절차입니다. 기술은 데이터베이스에 대한 권한이 있기 때문에 동일한 기술을 둘 이상의 에이전트에 구성할 수 있으며 이를 변경하면 해당 기술을 사용하는 모든 에이전트가 변경되며 재배포가 필요하지 않습니다.
런타임 출력: 재현 가능한 궤적
재현 가능한 궤적을 생성하는 것은 런타임 작업의 5단계이며, 감사 증거로도 사용됩니다. 행위자나 실행 방식에 관계없이 모든 실행은 단일 추가 전용 이벤트 로그에 일련의 이벤트를 출력합니다. 각 이벤트에는 실행 ID와 해당 이벤트를 생성한 정확한 블루프린트(정의) 버전이 기록되므로 실행은 감사 및 재현이 가능합니다. 실행에서 출력되는 이벤트 유형은 다음과 같습니다(순서대로):
이와 더불어 로그에는 액터가 Flash을 MCP 위로 이동시킬 때 발생하는 미러링된 MCP 도구 호출과 최종 비즈니스 결과가 기록되므로 의도부터 결과까지의 전체 과정이 한 곳에 저장됩니다.
// one run's trajectory (abbreviated — every event carries runId + definitionVersion)
{
"runId": "run_a1f9…",
"definition": "loyalty-manager",
"definitionVersion": 4,
"events": [
{ "type": "run_started", "at": "2026-08-26T09:14:02Z" },
{ "type": "user_intent", "intent": "work the win-back worklist" },
{ "type": "context_loaded", "sources": ["task", "member_rollup", "churn_signal"] },
{ "type": "model_selected", "model": "…" },
{ "type": "prompt_assembled","skill": "winback-worklist-execution" },
{ "type": "reasoning", "summary": "high value, at-risk, consented" },
{ "type": "permission_check","tool": "issue_coupon", "result": "allowed" },
{ "type": "tool_called", "tool": "issue_coupon", "args": { "value": 10 } },
{ "type": "tool_result", "ok": true },
{ "type": "cost", "tokens": 3120, "usd": 0.04 },
{ "type": "run_ended", "outcome": "coupon issued · within budget" }
]
}Flash 앱을 통해 실행 내역을 확인하세요. ID로 실행 내역을 조회하거나 최근 실행 내역 목록을 볼 수 있습니다.
# one run's full trajectory
GET https://flash.socialhub.ai/api/flash/agent-runs/{runId}
# list recent runs
GET https://flash.socialhub.ai/api/flash/agent-runs항목은 절대 수정되지 않고 추가만 됩니다. 로그는 각 행위자가 무엇을 했고 왜 했는지에 대한 완전한 기록이며, 기록된 실행 ID와 설계도 버전을 통해 단계별로 재구성할 수 있습니다.
무료 거버넌스: 실패 시 폐쇄되는 5가지 보호 장치
통합 런타임의 이점은 다음과 같습니다. 모든 행위자의 실행이 하나의 런타임을 통해 흐르기 때문에 안전 바닥은 각 에이전트에 고정될 필요가 없습니다. 이는 모든 작업이 통과하는 단일 장소의 구조적 속성입니다. 이 5명의 가드는 코드를 소유하고 있으며 모든 작업에서 모든 액터 아래에서 실행되며 어떤 설정으로도 이를 끌 수 없습니다. 정의의 구성(기술, 도구, 모델 및 컨텍스트)은 AI 직원 콘솔에서 구성할 수 있습니다. 아래 경비원은 그렇지 않습니다.
| 경비원 | 강화하는 내용 |
|---|---|
| 승인 범위 × 플랜 등급 | 모든 도구 호출은 키의 범위와 워크스페이스의 플랜 계층에 대해 검사됩니다. 정의(Definition)는 도구의 이름을 지정하며, 해당 도구를 실행할 권한은 데이터베이스에 저장되어 호출 시점에 결정됩니다. 키로 접근할 수 없는 도구는 단순히 숨겨집니다. |
| 쓰기 가치 한도 + 속도 | 포인트, 쿠폰과 같은 가치 이동 쓰기는 호출당 가치 상한선과 키당 쓰기 속도 제한에 의해 제한되며, 이러한 제한은 행위자의 프롬프트나 클라이언트 측 확인 내용과 관계없이 서버에서 실패 시 종료되도록 강제됩니다. |
| 예산 관리 | 각 실행은 토큰 + 비용 예산 내에서 실행되며, 행위자가 행동하기 전에 미리 충전되고 실행될 때 그려집니다. 원장이 소진되면 실행이 중지됩니다. 행위자는 지출을 가지고 도망칠 수 없습니다. |
| 킬 스위치 | 전체 정의든 단일 동작이든 모든 액터를 즉시 일시 정지할 수 있습니다. 기본적으로 비활성화되어 있으며, 활성화된 경우 일시 정지 시간이 제한되고, 원하는 순간 언제든지 중지할 수 있습니다. |
| 심사 | 모든 단계는 실행 ID와 정확한 설계도 버전과 함께 추가 전용 이벤트 로그에 기록됩니다. 액터가 수행하는 모든 작업은 기록되며, 어떤 설정으로도 로그 항목을 숨길 수 없습니다. |
/flash/agents에서 구성을 구성하세요. AI 직원 콘솔은 배우의 기술, 도구, 모델 및 컨텍스트를 편집하여 새로운 버전의 청사진을 생성하는 곳입니다. 여기서 절대 편집할 수 없는 것은 안전 층입니다. 위의 5개 가드는 구성이 아닌 코드에서 시행됩니다.
Harness가 플랫폼의 나머지 부분에 적합한 위치
Harness는 모든 AI 액터의 실행 런타임이며, 모든 것이 이를 거쳐가기 때문에 거버넌스 계층도 포함합니다. 인접한 두 개의 참조 자료는 Harness가 의존하는 구성 요소를 다룹니다.
- MCP 표면.
mcp_external액터는 범위가 지정된 키를 보유하고 모델 컨텍스트 프로토콜을 통해 Flash의 관리 도구를 호출합니다. 엔드포인트, 인증, 클라이언트 구성 및 전체 도구 카탈로그는 MCP 통합 가이드에 있습니다. - 권한 부여 장치 및 승인. 권한 부여 장치 위에 있는 작업별 장치(자동/검토/금지), 보류/거부된 쓰기 의미 체계 및 승인 수명 주기는 AI 거버넌스: 내부 검사 및 승인에 설명되어 있습니다.