"매 output 의 portion 의 input 으로 routed back — 매 system 의 self-regulation / self-amplification 의 fundamental mechanism". Wiener 의 cybernetics (1948) → Forrester 의 system dynamics (1961) → Meadows 의 Thinking in Systems (2008) → 매 SRE / RL / market-design 까지 매 universal.
매 핵심
매 두 polarity
Reinforcing (R, +): 매 same-direction amplification → 매 exponential growth or collapse. 매 viral growth, bank runs, flywheel.
Balancing (B, −): 매 opposite-direction correction → 매 goal-seeking equilibrium. 매 thermostat, autoscaler, supply-demand.
매 system 의 behavior = sum of all loops, with delays.
매 4 building blocks (Meadows)
Stocks (state, accumulator).
Flows (rate of change).
Information links (signals).
Delays (transport, perception, action).
매 typical archetypes
Limits to growth: R + B (resource constraint).
Shifting the burden: short-term fix B undermines long-term solution.
Tragedy of the commons: many R + 1 B.
Success to the successful: 2 R coupled.
Drift to low performance: B with eroding goals.
Escalation: 2 R + delay (arms race).
매 stability
매 negative loop 의 gain > 1 + delay → 매 oscillation, overshoot.
매 positive loop 의 unchecked → 매 runaway / collapse.
매 Bode / Nyquist 의 control-theory 의 quantitative tool.
defviral(t_max=30,k=0.2,init=10,cap=1e6):n=[init]for_inrange(t_max):n.append(min(cap,n[-1]*(1+k)))# R loopreturnn# 매 limits-to-growth 의 cap 의 추가 — pure exponential 의 unrealistic.
importsimpy,randomenv=simpy.Environment()inventory=simpy.Container(env,init=100,capacity=1000)defsupplier(env):whileTrue:yieldenv.timeout(2)ifinventory.level<50:# B loop on stockyieldinventory.put(60)defcustomer(env):whileTrue:yieldenv.timeout(random.expovariate(1))yieldinventory.get(1)env.process(supplier(env));[env.process(customer(env))for_inrange(5)]env.run(until=100)
언제: 매 unintended consequence 의 prediction, 매 product growth 의 root-cause, 매 SRE incident 의 cascading 분석, 매 policy design 의 leverage point.
언제 X: 매 fully open-loop 의 simple pipeline (매 unnecessary modeling).
❌ 안티패턴
Loops without delay: 매 real systems 의 always have delays — 매 oscillation 의 missed.
Linear thinking in nonlinear loop: 매 small input change 의 huge output (or vice versa).
Optimizing one node: 매 ignoring loop → 매 Goodhart, perverse incentives.
Goal erosion: 매 missed-target → 매 lower target → 매 drift.
Fixing symptom (B): 매 underlying R loop 의 unaddressed (shifting the burden).
🧪 검증 / 중복
Verified (Wiener 1948; Forrester 1961; Senge 1990; Meadows 2008; Designing Data-Intensive Apps on backpressure).