전체 문서
이 페이지 목차
기능 지도
상위 경로: Norma 시스템 지도 → 기능 지도
Norma의 기능은 하나의 대표 agent loop로 끝나지 않는다. 아래 지도는 host trigger에서 결과까지 이어지는 일곱 기능을 분리하며, 각 단계는 담당 모듈과 계약으로 왕복한다.
Mermaid 원문
flowchart TD H[Host] --> S[Session 실행] S --> P[Provider 통합] P --> T[Tool action] T --> S S --> C[Context 연속성] S --> X[확장 기능] X --> D[위임과 coordination] C --> N[선택형 Noa] click S "../runtime/session-loop.md#prompt-lifecycle" "Prompt 생명주기" click P "../runtime/extensions-and-coordination.md#providers" "Provider 통합" click T "../runtime/tools-and-permissions.md#permission-pipeline" "Tool action" click C "../runtime/context-and-resume.md#state-ownership" "Context 연속성" click X "../runtime/extensions-and-coordination.md#mcp" "확장 기능" click D "../runtime/extensions-and-coordination.md#coordination" "위임" click N "../modules/noa.md#enablement" "Noa"
| 기능 | trigger와 기대 결과 | 완료·실패 경계 | 구현 |
|---|---|---|---|
| Session 실행 | host Prompt → event stream과 terminal |
iterator 조기 종료 시 commit·terminal 없음 | agentcore/harness |
| Provider 통합 | normalized request → text/thinking/tool/usage | wire별 translation과 pre-stream retry만 제공 | llm |
| Tool action | model tool_use → result와 외부 효과 |
schema/permission/hook/result가 별도 실패 가능 | tool/permission/hook |
| Context 연속성 | 누적 history → request view·resume | history, view, 외부 effect는 서로 다른 상태 | context packages |
| 확장 기능 | MCP/skill/plan 설정 → 추가 capability | extension trust와 lifecycle은 host가 소유 | extension packages |
| 위임과 coordination | task → child conversation/output | isolation과 terminal 합산이 완전하지 않음 | coordination packages |
| Noa context | long history → model-visible projection·archive | model summary 품질과 sidecar durability에 의존 | noa/noaadapter |
기능 간 상태 전달
- host가
Options로 provider, tool registry, permission, context manager와 optional stores를 구성한다. Prompt가 user input과 injection을 conversation에 추가하고Query에 snapshot을 넘긴다.- context manager가 provider-visible message view를 만든다.
- provider adapter가 normalized events를 만들고 harness가
tool_use를 scheduler에 넣는다. - 각 call은 schema → permission → PreToolUse → tool → output cap → PostToolUse 순으로 실행된다.
- assistant/tool-result message가 history와 recorder에 반영되고 다음 model turn 또는 terminal로 간다.
- subagent, MCP, skill, plan과 Noa는 이 흐름의 특정 계약에 붙으며 별도 control plane을 만들지 않는다.
이 순서에서 tool result 반환, conversation 기록, 외부 효과 완료, 업무 목표 완료는 다른 사건이다. 종료 규칙과 상태 소유권을 함께 확인해야 한다.
직접 진입할 독자 과제
- agent를 embedding하려면 Session options → Prompt 흐름 → terminal 계약을 따른다.
- custom tool을 추가하려면 tool contract → permission 판정 → scheduler을 따른다.
- 장기 session을 재개하려면 파일 계약 → cold resume → 재개 checklist을 따른다.
- multi-agent host를 만들려면 subagent 경계 → coordination → 운영 책임을 따른다.