Norma Agent Harness 현재 시스템 문서
전체 문서
이 페이지 목차

모듈 지도

상위 경로: Norma 시스템 지도 → 모듈 지도

agentcore

harness

llm

tool

permission

hook contract

compaction / transcript / memory

plan / skill

mcp

subagent / coordinator

noaadapter

noa core

그림 크게 보기
Mermaid 원문
flowchart TD
  A[agentcore] --> H[harness]
  H --> L[llm]
  H --> T[tool]
  H --> P[permission]
  H --> K[hook contract]
  A --> C[compaction / transcript / memory]
  A --> X[plan / skill]
  X --> T
  M[mcp] --> T
  G[subagent / coordinator] --> H
  N[noaadapter] --> A
  N --> O[noa core]

  click A "#agentcore-harness" "agentcore와 harness"
  click L "#llm" "llm"
  click T "#tool-permission-hook" "tool, permission, hook"
  click C "#context-packages" "context packages"
  click X "#extension-packages" "extensions"
  click G "#coordination-packages" "coordination"
  click N "#noa-stack" "Noa stack"

agentcore와 harness

agentcore와 harness · 관계

이 대상이 사용하는 구현·계약·의존 · 6개

이 대상을 사용하는 기능·모듈·계약 · 6개

전체 관계 12개 · 종류 선택·관계도
항목 agentcore harness
책임 host options를 stateful Session으로 조립 Prompt 한 번의 state machine과 event stream
진입점 NewSession, Session.Prompt, Resume, Close, Run Query, QueryInput, QueryDeps, Event, Terminal
소유 상태 messages, usage, session ID, recorder, task manager, unlock/controller 해당 Prompt의 phase, turn, request view, running tool calls
입력 변경 memory/hook context와 reminder 조립 compaction/view, recovery, settlement message
호출자 책임 같은 Session의 Prompt 직렬화, terminal 소비, Close event iterator 완전 소비, dependency와 callback thread safety

agentcore.NewSession은 nil Tools에만 defaults를 적용하고 optional package의 tool을 append한다. Session.Prompt가 QueryInput을 만들고 KindResult를 받아야 최종 messages와 usage를 Session에 commit한다. harness.Query는 provider 호출, streamed block 누적, scheduler, context recovery와 종료 reason을 소유한다. Session 구성 Prompt harness 근거

llm

llm · 관계

이 대상이 사용하는 구현·계약·의존 · 4개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 7개 · 종류 선택·관계도

llm.Provider는 streaming Stream과 non-streaming Complete를 제공한다. 내부 Message/ContentBlock은 text, thinking, tool use/result를 표현하며 built-in adapter는 Anthropic Messages, OpenAI Chat Completions, OpenAI Responses wire format을 이 모델로 변환한다. boundary.go는 compact boundary 뒤 history 선택과 tool-use/result pairing을 정리하고 retry/rate-limit helper는 요청 establishment 앞에 놓인다. provider 근거 boundary 근거 retry 근거

제공 계약과 소비 기능은 provider 계약, 실제 request 반복은 provider 기능에 있다.

tool, permission, hook

tool, permission, hook · 관계

이 대상이 사용하는 구현·계약·의존 · 6개

이 대상을 사용하는 기능·모듈·계약 · 7개

전체 관계 13개 · 종류 선택·관계도

tool.CoreTool이 capability metadata와 call을 제공하고 Registry가 name lookup/schema 노출을 맡는다. permission.Evaluate는 deny-priority 정책과 live mode를 적용한다. hook.Registry는 lifecycle callback을 순차 호출하지만 callback timeout, panic recovery와 자체 locking은 제공하지 않는다. harness가 세 package를 direct tool pipeline으로 결합한다. tool 근거 permission 근거 hook 근거

tool package 안에는 file/search/Bash, background task, opt-in PTY, web, deferred dispatcher, Todo와 AskUser 구현도 함께 있다. 같은 package라는 사실이 같은 보안 성질을 뜻하지 않으므로 기본 도구 경계에서 capability별로 본다.

compaction, transcript, memory

compaction, transcript, memory · 관계

이 대상이 사용하는 구현·계약·의존 · 3개

이 대상을 사용하는 기능·모듈·계약 · 6개

전체 관계 9개 · 종류 선택·관계도
package 내부 흐름 지속성·실패 경계
compaction threshold → micro compact → provider summary → boundary message in-memory history를 바꾸며 provider summary 실패/circuit breaker가 있음
transcript append JSONL record → reconstruct messages/usage append-only 파일, fsync/lock/corrupt-tail repair 없음
memory Markdown/frontmatter scan·save → MEMORY.md index → keyword relevance file/index가 단일 transaction이 아니며 ASCII keyword 방식

세 package는 모두 context와 관련 있지만 권위 상태가 다르다. 자세한 관계는 상태 소유권에 있다. compaction 근거 transcript 근거 memory 근거

mcp, skill, plan

mcp, skill, plan · 관계

이 대상이 사용하는 구현·계약·의존 · 5개

이 대상을 사용하는 기능·모듈·계약 · 3개

전체 관계 8개 · 종류 선택·관계도

세 모듈은 확장 기능에서 tool registry와 permission을 소비한다. MCP 근거 skill 근거 plan 근거

subagent, coordinator

subagent, coordinator · 관계

이 대상이 사용하는 구현·계약·의존 · 3개

이 대상을 사용하는 기능·모듈·계약 · 1개

전체 관계 4개 · 종류 선택·관계도

subagent는 Agent tool call을 새 child harness.Query로 바꾸고 conversation과 optional sidechain transcript를 분리한다. coordinator는 이 tool을 조립하는 LLM-driven 경로와 goroutine/semaphore 기반 RunParallel 경로를 제공한다. 공유 provider/tool/filesystem과 누락된 parent option 상속 때문에 security isolation primitive는 아니다. subagent 근거 coordinator 근거

noa와 noaadapter

noa와 noaadapter · 관계

이 대상이 사용하는 구현·계약·의존 · 5개

이 대상을 사용하는 기능·모듈·계약 · 2개

전체 관계 7개 · 종류 선택·관계도

noa는 host type과 I/O를 모르는 pure compression core다. message refs, range/tier 판정, pruning, nudge와 compression state를 계산한다. noaadapter는 llm.Message projection, archive/state file, Compress tool과 agentcore.Options wiring을 제공한다. Noa 상세에서 두 층의 transaction과 model-visible view를 분리한다. core 근거 adapter 근거

package 전수 색인

package/실행 단위 주 책임 기능 소비자
agentcore, harness session 조립과 loop 모든 embedding host
llm provider-neutral model과 wire adapters harness, compaction, host
tool, permission, hook capability, 정책, lifecycle harness, optional modules
compaction, transcript, memory context·기록·장기 memory agentcore
mcp, skill, plan extension과 mode agentcore/host
subagent, coordinator child execution과 fan-out host/coordinator agent
noa, noaadapter advanced context projection opt-in host/agentcore
cmd/agentcore demo CLI 사람 operator
examples/* wiring examples SDK adopter; production policy 아님

저장소에는 물리 DB, migration, server route, queue/cron/worker registration이 없다. Provider의 외부 HTTP 호출과 MCP JSON-RPC는 소비 계약이며 Norma가 제공하는 서비스 API로 분류하지 않는다.

상위 영역: Norma 현재 시스템 지도

전체로 돌아가기 · Markdown 원본

검색을 열면 색인을 읽습니다.

등록한 문서 본문에서 검색합니다.