9148c358d0
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
4.8 KiB
4.8 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-interoperability | Interoperability | 10_Wiki/Topics | verified | self |
|
none | A | 0.9 | applied |
|
2026-05-10 | pending |
|
Interoperability
매 한 줄
"매 different systems 가 매 friction 없이 함께 작동하는 능력". 매 syntactic (data format), 매 semantic (meaning), 매 organizational (governance) 의 3 layer 로 분해. 매 2026 의 hot topics: MCP (Model Context Protocol), OpenAPI, gRPC, WebAssembly Component Model.
매 핵심
매 3 layers of interop
- Syntactic: 매 byte-level format 의 agreement (JSON, Protobuf).
- Semantic: 매 field-meaning 의 agreement (schema + ontology).
- Organizational: 매 governance, versioning, deprecation policy.
매 enablers
- Open standards: HTTP, OpenAPI, JSON-Schema, OAuth 2.1.
- Schema-first: Protobuf, Avro, GraphQL SDL.
- Capability negotiation: Accept headers, gRPC reflection, MCP capability handshake.
- Adapter pattern: 매 N×M integration → N+M with hub.
매 응용
- AI tool ecosystem: MCP 매 LLM ↔ tools 의 universal protocol.
- Microservices: gRPC + Protobuf 매 polyglot interop.
- Healthcare: HL7 FHIR 매 EHR interop.
- Cross-cloud: Open Container Initiative (OCI), CNCF standards.
💻 패턴
MCP server (2026 standard)
# Model Context Protocol — Anthropic 2024, ubiquitous in 2026
from mcp.server import Server
from mcp.types import Tool, TextContent
server = Server("my-tool")
@server.list_tools()
async def list_tools() -> list[Tool]:
return [Tool(
name="search",
description="Search the knowledge base",
inputSchema={"type": "object", "properties": {"q": {"type": "string"}}}
)]
@server.call_tool()
async def call_tool(name: str, args: dict) -> list[TextContent]:
if name == "search":
return [TextContent(type="text", text=do_search(args["q"]))]
OpenAPI contract
# 매 syntactic + semantic interop in one file
openapi: 3.1.0
info: { title: User API, version: 2.0.0 }
paths:
/users/{id}:
get:
parameters:
- { name: id, in: path, required: true, schema: { type: string } }
responses:
'200':
content:
application/json:
schema: { $ref: '#/components/schemas/User' }
Protobuf schema-first
// user.proto — language-neutral, version-tolerant
syntax = "proto3";
package user.v1;
message User {
string id = 1;
string email = 2;
reserved 3; // 매 deprecated field — 매 forward compat
optional string display_name = 4;
}
Adapter pattern (N+M interop)
class PaymentAdapter:
def charge(self, amount: int, currency: str) -> str: ...
class StripeAdapter(PaymentAdapter):
def charge(self, amount, currency):
return stripe.Charge.create(amount=amount, currency=currency).id
class TossAdapter(PaymentAdapter):
def charge(self, amount, currency):
return toss.payments.confirm(amount=amount).payment_key
Wasm Component Model (2026 cross-language)
# 매 binary interop — Rust ↔ Python ↔ Go via Wasm components
[package]
name = "my-component"
version = "0.1.0"
[lib]
crate-type = ["cdylib"]
[dependencies]
wit-bindgen = "0.30"
매 결정 기준
| 상황 | 표준 |
|---|---|
| LLM ↔ tools | MCP |
| REST API contract | OpenAPI 3.1 |
| High-throughput RPC | gRPC + Protobuf |
| Cross-language binary | Wasm Component Model |
| Healthcare data | HL7 FHIR R5 |
| Auth | OAuth 2.1 + OIDC |
기본값: 매 schema-first + open standard. 매 proprietary format 의 X.
🔗 Graph
- 부모: System-Design · Distributed-Systems
- 변형: API-Design
- 응용: MCP · Protocols · Microservices
🤖 LLM 활용
언제: 매 protocol selection, 매 schema design review, 매 adapter scaffolding. 언제 X: 매 single-team monolith 의 internal modules — over-engineering.
❌ 안티패턴
- Snowflake protocols: 매 in-house custom protocol → 매 every consumer N×N adapters.
- Schema drift: 매 producer / consumer 매 separate schema copies → 매 silent breakage.
- No versioning: 매 breaking change broadcast → cascade failure.
- Tight coupling via DB: 매 shared DB schema 매 anti-interop.
🧪 검증 / 중복
- Verified (W3C, IETF, IEEE standards; Anthropic MCP 2024 spec; gRPC.io; CNCF landscape 2026).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — 3-layer interop, MCP/OpenAPI/Wasm patterns |