Workspace IndexKnowledge Notes › The harness, not the model — governing agents instead of building them

#158PoC

The harness, not the model — governing agents instead of building them

Once a standard stops being contested, an operations layer grows on top of it. Every card here about agents is about making one work; this one is about what happens when one misbehaves — and one company is already running that architecture against real capital, with the wrapper published as open source.

Ten minutes for the infrastructure half: run LiteLLM in proxy mode from its README and stop at the point where cost tracking switches on — that single moment is the whole demonstration. Then the reading half: open github.com/Senpi-ai/senpi-skills and separate, line by line, what the model decides from what the deterministic layer refuses. Optional and more valuable than either: write one line on what would become visible if this project's own agent tool calls ran behind a gateway for a week. Sources to confirm, because the figures are vendor or secondary: the MCP npm SDK download count, TrueFoundry's published latency and throughput numbers, senpi.ai and resources.senpi.ai/learn.

Why

A standard winning is not the end of a story, it is the start of a different one. While the protocol was contested, the interesting work was the protocol. Once it stopped being contested — the MCP SDK is reported at roughly 195.9 million monthly npm downloads, ahead of every other tracked AI package — the interesting work moved one layer up, to whatever sits between an agent and the tools it calls. That layer is where identity, spend and access controls live, and it did not exist a year ago because nothing was standard enough to put a gateway in front of.

This catalogue has three cards about producing agents and none about governing them. mcp-three-sides covers building on the spec, agent is an autonomous payment agent, and this card used to be two: the infrastructure argument, and a live company running the same architecture. They belong together, because the design claim and its working counterexample are more useful in one place than in two.

Senpi is that working case, and it states the thesis better than an infrastructure vendor does. It describes its Samurai model as "a harness — a disciplined stack that wraps a market-tuned AI model in deterministic execution and risk machinery, so an autonomous agent can trade real capital without hallucinating a position or forgetting a stop." That is the same conclusion this catalogue reached twice from the other direction: agentic-intent-veto argues the bound must be enforced outside the agent, and this repo's own plan settles D5 the same way — deterministic decision for the demo, because an LLM in the decision path makes the safety claim harder to state rather than easier. A design argument with a live confirmation available in source form is worth more than another design argument.

The empty cell is specific and close to home. This report is itself produced by an agent, with real tool calls and a real bill, and there is currently no per-agent identity, no spend ceiling and no record of which tool consumed what. Those are exactly the three things an agent gateway provides. The question worth asking is not which vendor to pick — it is what the ledger would say if one were switched on for a week.

And the sharpest detail in the whole area is a unit problem. Senpi's take-profit and stop-loss are margin-relative, not price-relative, so at 10x a stated 10% take-profit fires on a 1% price move. The number is not wrong and the unit is not the one most people read — the same failure mode as a spend cap that constrains the amount but not the purchase. It is trivially measurable: sweep leverage, plot stated percentage against realised price move, and the gap is the answer.

How it works

The infrastructure layer

Piece What it does Where it fits
LiteLLM Rust-core gateway putting 100+ LLM APIs behind one interface, with cost tracking and load balancing Makes a model swap a config change rather than a code change
TrueFoundry Split into an MCP gateway governing every tool connection and an agent gateway carrying per-agent identity and spend limits The governance half; published at roughly 3-4ms added latency, 350+ RPS on 1 vCPU
katanemo/plano AI-native proxy and data plane with smart LLM routing The routing half
vLLM High-throughput serving on PagedAttention The default once serving moves in-house
Context compression Separating into its own infrastructure layer Emerging, because agents have hit real token-cost ceilings

Four things to check in senpi-skills, in the order that makes each cheap

  1. The enforced set. Senpi states that margin, notional and leverage limits reject any signal that would breach them, and that position size scales off live account margin and the signal's own score rather than a fixed lot. A rejecting bound is exactly the shape agentic-intent-veto wanted — so find it in source and see whether rejection happens before or after the model has already committed to a size.
  2. The unit problem. TP/SL are margin-relative. Sweep leverage, plot stated percentage against realised price move. The gap is the finding.
  3. Isolation. Each strategy gets its own sub-wallet, cross-margined internally so positions can hedge, isolated externally. Testable rather than a slogan: does a liquidation inside strategy A reach strategy B's margin, and is the isolation enforced by separate venue accounts or only by the application?
  4. The custody tension, named honestly. Keys are sharded across secure enclaves with SOC 2 and three external audits, and users can export keys at any time. Both are good properties and they pull against each other, because exportable means reconstructible. The question is not whether it is safe but who can reconstruct, under what quorum, and what an export proves about who else held a share — the same question third-party-blast-radius asks of any threshold scheme.

The measurement, and it is one week long

Put this project's agent tool calls behind a gateway for a week and read three numbers off the ledger:

Number Currently knowable? Why it changes decisions
Cost per report section No Says which sections are worth their price
Which tool dominates the bill No Optimisation target, and usually a surprise
Share of spend that is context rather than output No Decides whether context compression matters here or is someone else's problem

The unglamorous reason this belongs on the list

A gateway is about what happens when an agent misbehaves — a loop that calls a paid tool a thousand times, a credential reachable by an agent that should not reach it. Those are operational failures rather than interesting ones, which is exactly why the layer exists and exactly why it gets added after the incident rather than before. Senpi's whole argument is that the harness is the product; the gateway is that argument applied to agents that are not trading.

The sentence an ad got right

A Zapier event ad seen 2026-08-28 opens with one line worth keeping: "Business teams are shipping AI faster than IT can review it." It is marketing, and it is also the demand for this layer stated plainly from the buyer's side. Two things follow from it.

The gap is structural rather than a discipline problem. Review capacity is a fixed number of people. Adoption is a rate, and a business team can raise that rate without asking anyone, because the tools are SaaS and the budget is a corporate card. A rate outruns a fixed capacity by default — which is why "slow the teams down" is not an available answer, and why an ad can safely promise not to.

Therefore the control cannot be a review. If approval cannot keep pace with adoption, the thing that governs has to be a runtime property rather than a checkpoint: a gateway every agent passes through whether or not anybody reviewed it, with the spend cap, the credential scope and the audit trail enforced there. That is this card's conclusion reached from the governance side instead of the operations side, and it sharpens into one rule — a checkpoint that scales with people loses to a rate; a chokepoint that scales with traffic does not.

Where it lands in Jayverse

  • Rabbit: make the mandate console the deterministic reject layer, not the LLM. Session-key and mandate checks (spend, scope) should be enforced as separately tested rule code that rejects before commit, the same shape agentic-intent-veto and this card both want.
  • gitboard: put every agent tool call behind a ledger. Since the alice-tech report and other agent-produced output already run real tool calls with a real bill, log per-agent identity, spend and which tool dominates cost for a week before deciding what to optimize.
  • Auditor: write down the unit, not just the check. When a methodology states a bound (percentage, ratio, threshold), specify whether it is price-relative or something else, and add a sweep test that would catch a Senpi-style margin-vs-price unit mismatch.

Key expressions

Words and phrases from this page worth keeping, with the Korean meaning and the sentence they come from.

Expression뜻 · 쓰이는 자리
sits between~사이에 위치하다 · 두 요소 사이 중간 지점을 가리킬 때. "whatever sits between an agent and the tools it calls"
wrap ... in ...~을 …으로 감싸다 · 기술 요소를 다른 메커니즘으로 둘러쌀 때. "wraps a market-tuned AI model in deterministic execution"
spend ceiling지출 상한선 · 에이전트나 계정의 최대 지출 한도. "no per-agent identity, no spend ceiling"
hallucinate a position포지션을 착각해 지어내다 · AI가 없는 거래 포지션을 있다고 오판하는 것. "without hallucinating a position or forgetting a stop"
empty cell표의 빈 칸, 다뤄지지 않은 부분 · 아직 채워지지 않은 항목을 비유할 때. "The empty cell is specific and close to home"
close to home남의 일 같지 않은, 자신에게도 해당되는 · 지적이 자기 자신에게도 적용될 때. "specific and close to home"
sweep (leverage)값을 범위대로 훑으며 바꿔보다 · 변수를 여러 값으로 반복 테스트할 때. "sweep leverage, plot stated percentage against realised"
trivially measurable측정하기 매우 쉬운 · 별다른 노력 없이 검증 가능한 대상을 말할 때. "It is trivially measurable: sweep leverage, plot"
pull against each other서로 상충되다, 반대 방향으로 작용하다 · 두 좋은 속성이 동시에 성립하기 어려울 때. "Both are good properties and they pull against each other"
dominate the bill비용의 대부분을 차지하다 · 여러 항목 중 한 항목이 지출을 압도할 때. "Which tool dominates the bill"
outrun~을 앞지르다, 능가하다 · 속도나 규모가 다른 것을 추월할 때. "A rate outruns a fixed capacity by default"
chokepoint vs checkpoint병목 지점 대 검문소 · 사람 수 기반 통제와 트래픽 기반 통제를 대비할 때. "a chokepoint that scales with traffic does not"
MCP모델 컨텍스트 프로토콜(Model Context Protocol) · AI 에이전트가 도구를 호출하는 표준, 이 글의 거버넌스 논의 전제. "the MCP SDK is reported at roughly 195.9 million monthly"
SOC 2보안 준수 인증 표준(Service Organization Control 2) · 키 보관·감사 등 보안 신뢰성을 증명하는 인증. "secure enclaves with SOC 2 and three external audits"
TP/SL이익실현/손절매(Take-Profit/Stop-Loss) · 레버리지 거래에서 마진 기준이라 실제 가격 변동률과 다르다는 지적. "take-profit and stop-loss are margin-relative, not price-relative"
PagedAttentionvLLM이 쓰는 GPU 메모리 관리 기법 · 고처리량 모델 서빙 인프라 문맥에서 언급. "High-throughput serving on PagedAttention"
notional명목 원금(계약 규모) · 레버리지 거래에서 실제 증거금과 구분되는 계약 총액. "margin, notional and leverage limits reject any signal"
cross-margined교차 마진 방식 · 한 지갑 내 포지션끼리 증거금을 공유해 헤지 가능하게 하는 방식. "cross-margined internally so positions can hedge, isolated externally"

← All Knowledge Notes · Workspace Index · Top ↑

모델이 아니라 하네스 — 에이전트를 만드는 대신 통치하기

표준을 둘러싼 다툼이 끝나면 그 위에 운영 계층이 자랍니다. 여기 에이전트 카드들은 전부 하나를 동작시키는 법이고, 이 카드는 하나가 오작동할 때 무슨 일이 벌어지는가입니다 — 그리고 어떤 회사는 이미 그 아키텍처를 실제 자본으로 운영 중이며, 감싸는 층을 오픈소스로 공개하고 있습니다.

인프라 절반은 10분: LiteLLM 을 README 대로 프록시 모드로 띄우고 비용 추적이 켜지는 지점에서 멈춥니다 — 그 한 순간이 시연 전부입니다. 읽는 절반: github.com/Senpi-ai/senpi-skills 를 열고 모델이 결정하는 것과 결정론적 층이 거부하는 것을 한 줄씩 갈라 적습니다. 선택 사항이지만 둘보다 값어치 있는 것: 이 저장소 자신의 에이전트 툴 호출을 일주일간 게이트웨이 뒤로 보내면 무엇이 보이게 되는지 한 줄 쓰기. 아래 수치는 벤더 또는 2차 출처이므로 확인 필요: MCP npm SDK 다운로드 수, TrueFoundry 가 발표한 지연·처리량 수치, senpi.ai · resources.senpi.ai/learn.

표준이 이기는 것은 이야기의 끝이 아니라 다른 이야기의 시작입니다. 프로토콜을 다투는 동안에는 흥미로운 작업이 프로토콜이었습니다. 다툼이 끝나자 — MCP SDK 는 월 약 1억 9,590만 npm 다운로드로 추적되는 모든 AI 패키지를 앞선다고 보고됩니다 — 흥미로운 작업이 한 층 위로, 에이전트와 그것이 부르는 툴 사이로 옮겨갔습니다. 그 층에 신원·지출·접근 통제가 살고, 1년 전에는 존재하지 않았습니다. 앞에 게이트웨이를 세울 만큼 표준적인 것이 없었기 때문입니다.

이 카탈로그에는 에이전트를 만드는 카드가 셋이고 통치하는 카드는 없었습니다. mcp-three-sides 는 스펙 위에서 만드는 법, agent 는 자율 결제 에이전트, 그리고 이 카드는 원래 둘이었습니다 — 인프라 논증같은 아키텍처를 실제로 굴리는 회사. 둘은 함께 있어야 합니다. 설계 주장과 그것의 작동하는 사례는 두 곳보다 한 곳에 있을 때 쓸모가 큽니다.

Senpi 가 그 작동 사례이고, 인프라 벤더보다 명제를 잘 말합니다. 자사 Samurai 모델을 이렇게 설명합니다 — "하네스, 즉 시장에 맞춰 튜닝된 AI 모델을 결정론적 실행·리스크 기계장치로 감싼 규율 있는 스택. 그래서 자율 에이전트가 포지션을 환각하거나 스톱을 잊지 않고 실제 자본을 굴릴 수 있다." 이 카탈로그가 반대 방향에서 두 번 도달한 결론과 같습니다agentic-intent-veto경계가 에이전트 바깥에서 강제되어야 한다고 주장하고, 이 저장소 자신의 계획도 D5 를 같은 방식으로 정했습니다: 데모는 결정론으로. LLM 이 결정 경로에 있으면 안전성 주장이 쉬워지는 게 아니라 말하기 어려워지기 때문입니다. 살아 있는 확증을 소스 형태로 확인할 수 있는 설계 주장은, 또 하나의 설계 주장보다 값어치가 큽니다.

빈칸은 구체적이고 남의 일이 아닙니다. 이 리포트 자체가 에이전트가 만들고, 실제 툴 호출과 실제 청구서가 있으며, 지금 에이전트별 신원도, 지출 상한도, 어느 툴이 얼마를 썼는지의 기록도 없습니다. 정확히 에이전트 게이트웨이가 주는 세 가지입니다. 물을 값이 있는 질문은 어느 벤더냐가 아니라, 일주일만 켜 두면 원장이 무엇을 말할까입니다.

그리고 이 영역에서 가장 날카로운 디테일은 단위 문제입니다. Senpi 의 익절·손절은 가격 대비가 아니라 증거금 대비입니다. 그래서 10배 레버리지에서 표시된 10% 익절이 가격 1% 움직임에 발동합니다. 숫자가 틀린 게 아니라, 단위가 대부분이 읽는 그 단위가 아닌 것입니다 — 금액은 제약하지만 구매는 제약하지 않는 지출 상한과 같은 실패 모드. 재는 것은 간단합니다: 레버리지를 훑으며 표시 퍼센트 대 실현 가격 움직임을 그리면, 그 간격이 답입니다.

동작 방식

인프라 계층

조각 하는 일 자리
LiteLLM 100개 이상 LLM API 를 한 인터페이스 뒤에 놓는 Rust 코어 게이트웨이. 비용 추적·로드 밸런싱 모델 교체를 코드 변경이 아니라 설정 변경으로
TrueFoundry MCP 게이트웨이(모든 툴 연결 통치) + 에이전트 게이트웨이(에이전트별 신원·지출 한도)로 분리 통치 절반. 지연 약 3~4ms 추가, 1 vCPU 에서 350+ RPS 로 발표
katanemo/plano 스마트 LLM 라우팅을 갖춘 AI 네이티브 프록시·데이터 플레인 라우팅 절반
vLLM PagedAttention 기반 고처리량 서빙 서빙을 내재화할 때의 기본값
컨텍스트 압축 독립된 인프라 계층으로 분리 중 에이전트가 실제 토큰 비용 천장에 부딪혔기 때문

senpi-skills 에서 확인할 넷, 싼 것부터

  1. 강제되는 집합. Senpi 는 증거금·명목금액·레버리지 한도가 이를 위반할 신호를 거부한다고 말하고, 포지션 크기가 고정 랏이 아니라 실시간 계좌 증거금과 신호 점수에 비례한다고 합니다. 거부하는 경계가 정확히 agentic-intent-veto 가 원한 모양입니다 — 소스에서 찾아 모델이 이미 사이즈를 정한 뒤인지 전인지 봅니다.
  2. 단위 문제. TP/SL 이 증거금 대비입니다. 레버리지를 훑으며 표시 퍼센트 대 실현 가격 움직임을 그립니다. 그 간격이 발견입니다.
  3. 격리. 전략마다 서브월렛을 갖고, 내부적으로는 교차증거금(포지션 간 헤지 가능), 외부적으로는 격리. 구호가 아니라 시험 가능합니다: 전략 A 안의 청산이 전략 B 의 증거금에 닿는가, 그리고 격리가 거래소의 별도 계정으로 강제되는가 아니면 애플리케이션 수준에서만인가?
  4. 수탁의 긴장, 정직하게 이름 붙이기. 키는 보안 엔클레이브에 샤딩되고 SOC 2 와 외부 감사 셋을 받았으며, 사용자는 언제든 키를 내보낼 수 있습니다. 둘 다 좋은 성질이고 서로를 당깁니다내보낼 수 있다는 것은 재구성 가능하다는 뜻이기 때문입니다. 질문은 안전한가가 아니라 누가, 어떤 정족수로 재구성할 수 있으며, 내보내기가 다른 누가 조각을 갖고 있었는지에 대해 무엇을 증명하는가입니다 — third-party-blast-radius 가 모든 임계값 방식에 던지는 같은 질문입니다.

측정, 일주일짜리

이 저장소의 에이전트 툴 호출을 일주일간 게이트웨이 뒤로 보내고 원장에서 숫자 셋을 읽습니다:

숫자 지금 알 수 있나? 왜 결정을 바꾸나
리포트 섹션당 비용 아니오 어느 섹션이 값을 하는지
청구서를 지배하는 툴 아니오 최적화 대상, 그리고 대개 의외
출력이 아니라 컨텍스트가 차지하는 비중 아니오 컨텍스트 압축이 여기 문제인지 남의 문제인지 결정

이것이 목록에 있어야 하는, 멋없는 이유

게이트웨이는 에이전트가 오작동할 때의 이야기입니다 — 유료 툴을 천 번 부르는 루프, 닿으면 안 되는 자격증명에 닿는 에이전트. 흥미로운 실패가 아니라 운영상의 실패이고, 정확히 그래서 이 계층이 존재하며 정확히 그래서 사고 이후에 추가됩니다. Senpi 의 논지 전체가 하네스가 곧 제품이라는 것이고, 게이트웨이는 그 논지를 트레이딩하지 않는 에이전트에 적용한 것입니다.

광고가 맞춘 한 문장

2026-08-28 에 본 Zapier 행사 광고는 챙겨 둘 만한 한 줄로 시작합니다 — "현업 팀이 IT 가 검토할 수 있는 속도보다 빠르게 AI 를 내보내고 있다." 마케팅이고, 동시에 이 계층에 대한 수요를 구매자 쪽에서 그대로 진술한 문장입니다. 두 가지가 따라옵니다.

간극은 기강 문제가 아니라 구조입니다. 검토 역량은 고정된 사람 수입니다. 도입은 속도(rate) 이고, 현업 팀은 누구에게 묻지 않고도 그 속도를 올릴 수 있습니다 — 도구는 SaaS 이고 예산은 법인카드니까요. 속도는 고정 역량을 기본값으로 앞지릅니다. 그래서 "팀을 늦춰라"는 선택지가 아니고, 광고가 늦추지 않겠다고 안전하게 약속할 수 있는 이유입니다.

따라서 통제는 검토일 수 없습니다. 승인이 도입 속도를 따라잡지 못한다면, 다스리는 것은 관문(checkpoint)이 아니라 런타임 속성이어야 합니다 — 누가 검토했든 안 했든 모든 에이전트가 지나가는 게이트웨이, 그리고 지출 한도·자격증명 범위·감사 기록이 거기서 강제되는 것. 이는 이 카드의 결론을 운영이 아니라 거버넌스 쪽에서 도달한 것이고, 한 문장으로 벼려집니다 — 사람 수에 비례하는 관문은 속도에 집니다. 트래픽에 비례하는 병목은 지지 않습니다.

Jayverse에서의 위치

  • Rabbit: mandate 콘솔을 LLM이 아니라 결정론적 거부 계층으로 만든다. 세션 키와 mandate 검사(지출, 범위)는 커밋 전에 거부하는, 별도로 테스트된 규칙 코드로 강제해야 한다. agentic-intent-veto와 이 카드가 같은 방향을 가리킨다.
  • gitboard: 모든 에이전트 도구 호출을 원장 뒤에 둔다. alice-tech 리포트를 비롯한 에이전트 산출물이 이미 실제 도구 호출과 실제 비용을 발생시키므로, 일주일간 에이전트별 식별자, 지출, 비용을 가장 많이 쓰는 도구를 기록한 뒤 무엇을 최적화할지 정한다.
  • Auditor: 검사 내용뿐 아니라 단위를 적는다. 방법론에 비율이나 임계값 같은 경계를 명시할 때 그것이 가격 기준인지 아닌지를 밝히고, Senpi식 마진-대-가격 단위 오류를 잡아낼 스윕 테스트를 추가한다.

핵심 표현

이 페이지의 영어 본문에서 배울 만한 단어와 표현, 뜻과 나온 자리.

Expression뜻 · 쓰이는 자리
sits between~사이에 위치하다 · 두 요소 사이 중간 지점을 가리킬 때. "whatever sits between an agent and the tools it calls"
wrap ... in ...~을 …으로 감싸다 · 기술 요소를 다른 메커니즘으로 둘러쌀 때. "wraps a market-tuned AI model in deterministic execution"
spend ceiling지출 상한선 · 에이전트나 계정의 최대 지출 한도. "no per-agent identity, no spend ceiling"
hallucinate a position포지션을 착각해 지어내다 · AI가 없는 거래 포지션을 있다고 오판하는 것. "without hallucinating a position or forgetting a stop"
empty cell표의 빈 칸, 다뤄지지 않은 부분 · 아직 채워지지 않은 항목을 비유할 때. "The empty cell is specific and close to home"
close to home남의 일 같지 않은, 자신에게도 해당되는 · 지적이 자기 자신에게도 적용될 때. "specific and close to home"
sweep (leverage)값을 범위대로 훑으며 바꿔보다 · 변수를 여러 값으로 반복 테스트할 때. "sweep leverage, plot stated percentage against realised"
trivially measurable측정하기 매우 쉬운 · 별다른 노력 없이 검증 가능한 대상을 말할 때. "It is trivially measurable: sweep leverage, plot"
pull against each other서로 상충되다, 반대 방향으로 작용하다 · 두 좋은 속성이 동시에 성립하기 어려울 때. "Both are good properties and they pull against each other"
dominate the bill비용의 대부분을 차지하다 · 여러 항목 중 한 항목이 지출을 압도할 때. "Which tool dominates the bill"
outrun~을 앞지르다, 능가하다 · 속도나 규모가 다른 것을 추월할 때. "A rate outruns a fixed capacity by default"
chokepoint vs checkpoint병목 지점 대 검문소 · 사람 수 기반 통제와 트래픽 기반 통제를 대비할 때. "a chokepoint that scales with traffic does not"
MCP모델 컨텍스트 프로토콜(Model Context Protocol) · AI 에이전트가 도구를 호출하는 표준, 이 글의 거버넌스 논의 전제. "the MCP SDK is reported at roughly 195.9 million monthly"
SOC 2보안 준수 인증 표준(Service Organization Control 2) · 키 보관·감사 등 보안 신뢰성을 증명하는 인증. "secure enclaves with SOC 2 and three external audits"
TP/SL이익실현/손절매(Take-Profit/Stop-Loss) · 레버리지 거래에서 마진 기준이라 실제 가격 변동률과 다르다는 지적. "take-profit and stop-loss are margin-relative, not price-relative"
PagedAttentionvLLM이 쓰는 GPU 메모리 관리 기법 · 고처리량 모델 서빙 인프라 문맥에서 언급. "High-throughput serving on PagedAttention"
notional명목 원금(계약 규모) · 레버리지 거래에서 실제 증거금과 구분되는 계약 총액. "margin, notional and leverage limits reject any signal"
cross-margined교차 마진 방식 · 한 지갑 내 포지션끼리 증거금을 공유해 헤지 가능하게 하는 방식. "cross-margined internally so positions can hedge, isolated externally"

← 전체 기술 노트 · 워크스페이스 인덱스 · 맨 위 ↑