---
id: wiki-2026-0508-cybernetics
title: Cybernetics Foundations
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [cybernetics, Norbert Wiener, feedback loop, homeostasis, control theory, second-order cybernetics, autopoiesis]
duplicate_of: none
source_trust_level: A
confidence_score: 0.88
verification_status: applied
tags: [cybernetics, systems-thinking, control-theory, feedback, homeostasis, ai-history, wiener, ashby]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: systems theory
  applicable_to: [Multi-agent Design, Control Systems, AI Architecture]
---

# Cybernetics

## 매 한 줄
> **"매 living + 매 machine 의 control + communication 의 universal"**. Norbert Wiener (1948). 매 feedback loop + homeostasis + 매 information transmission. 매 AI / robotics / biology / sociology 의 cross-disciplinary roots. 매 modern: 매 multi-agent system + 매 control + 매 active inference.

## 매 핵심

### Wiener (1st-order cybernetics)
- 매 system 의 observe.
- 매 input → process → output → feedback.
- 매 negative feedback 의 stabilize.
- 매 positive feedback 의 amplify / explode.

### 2nd-order cybernetics (Foerster, Maturana)
- 매 observer 의 part of system.
- 매 self-reference.
- 매 autopoiesis (self-creating).

### 매 핵심 concept

#### Feedback Loop
- **Negative**: 매 thermostat, 매 homeostasis.
- **Positive**: 매 microphone feedback, 매 viral growth.

#### Homeostasis
- 매 internal state 의 stable.
- 매 perturbation 의 counter.
- 매 biological + 매 artificial.

#### Black Box
- 매 internal X — 매 I/O 만.
- 매 abstraction principle.

#### Variety (Ashby's Law)
- 매 controller 의 variety ≥ disturbance 의 variety.
- 매 system 의 control 의 limit.

#### Requisite Variety
- 매 system 의 manage 의 environment 의 capable variety.

### 매 history
- 1948 Wiener "Cybernetics".
- 1956 Dartmouth (AI 이름).
- Macy Conferences (1946-1953): cyber + systems.
- 2nd-order: Heinz von Foerster, Maturana-Varela.
- Decline (1970s): AI vs Cybernetics 의 split.
- Revival (2000s+): control + agent + autopoiesis.

### 매 modern relevance

#### Control theory
- PID, MPC, optimal control.
- Robotics: 매 closed-loop.
- 매 autonomous vehicle.

#### Multi-agent system
- 매 distributed control.
- 매 swarm.

#### Active inference (Friston)
- 매 free energy minimization.
- 매 cybernetic + Bayesian.
- [[Bayesian-Brain-Hypothesis]] 참조.

#### Organizational
- 매 systems thinking (Senge "Fifth Discipline").
- 매 viable system model (Beer).

#### AI alignment
- 매 reward hacking 의 cybernetic 의 lens.
- 매 unintended feedback.

### 매 응용
1. **Thermostat / HVAC**: 매 simplest.
2. **Robotics**: 매 control.
3. **Biology**: 매 endocrine / neural.
4. **Economics**: 매 supply-demand.
5. **Organization**: 매 managed system.
6. **AI agent**: 매 action + observation loop.

## 💻 패턴

### PID Controller (classic feedback)
```python
class PID:
    def __init__(self, kp=1.0, ki=0.1, kd=0.05):
        self.kp, self.ki, self.kd = kp, ki, kd
        self.integral = 0
        self.prev_error = 0
    
    def update(self, target, current, dt):
        error = target - current
        self.integral += error * dt
        derivative = (error - self.prev_error) / dt
        
        output = self.kp * error + self.ki * self.integral + self.kd * derivative
        self.prev_error = error
        return output

# 매 example: 매 thermostat
pid = PID()
while True:
    error_correction = pid.update(target_temp=22, current=sensor.read(), dt=1.0)
    heater.set_power(error_correction)
    sleep(1)
```

### Negative feedback (homeostasis)
```python
class Homeostat:
    def __init__(self, target):
        self.target = target
        self.state = target
    
    def perturbate(self, disturbance):
        self.state += disturbance
    
    def regulate(self, gain=0.1):
        # 매 negative feedback 의 self-correct
        error = self.target - self.state
        self.state += gain * error

# 매 simulate
h = Homeostat(target=37)  # 매 body temp
for _ in range(100):
    h.perturbate(random.gauss(0, 1))  # 매 environment
    h.regulate()
print(h.state)  # 매 ~37
```

### Positive feedback (caution)
```python
def viral_growth(initial, gain, steps):
    """매 positive feedback — 매 amplify."""
    state = initial
    for _ in range(steps):
        state *= (1 + gain)
        if state > LIMIT: break  # 매 saturation needed
    return state
```

### Ashby's Law check
```python
def can_control(controller_variety, disturbance_variety):
    """매 'Only variety can destroy variety.'"""
    return controller_variety >= disturbance_variety

# 매 example: 매 thermostat 의 매 1 mode 만 → 매 매 disturbance 매 multiple 의 fail
print(can_control(1, 5))  # False
print(can_control(10, 5))  # True
```

### Black Box (system identification)
```python
import numpy as np

def identify_black_box(system_fn, n_samples=100):
    """매 input-output 의 model 의 fit."""
    X = np.random.randn(n_samples, INPUT_DIM)
    Y = np.array([system_fn(x) for x in X])
    
    from sklearn.linear_model import LinearRegression
    model = LinearRegression().fit(X, Y)
    return model  # 매 estimated transfer function
```

### Active inference (Friston-style)
```python
def active_inference(belief, world_model, possible_actions):
    """매 minimize expected free energy."""
    best_action, best_efe = None, float('inf')
    for a in possible_actions:
        next_belief = world_model.predict(belief, a)
        # 매 epistemic value
        info_gain = expected_kl(next_belief, belief)
        # 매 pragmatic value
        pragmatic = expected_log_preference(next_belief)
        efe = -info_gain - pragmatic
        if efe < best_efe:
            best_efe, best_action = efe, a
    return best_action
```

### MPC (Model Predictive Control)
```python
import cvxpy as cp

def mpc_step(x_current, x_target, horizon=10):
    x = cp.Variable((horizon + 1, STATE_DIM))
    u = cp.Variable((horizon, ACTION_DIM))
    
    cost = 0
    constraints = [x[0] == x_current]
    for t in range(horizon):
        cost += cp.sum_squares(x[t+1] - x_target) + 0.1 * cp.sum_squares(u[t])
        constraints += [x[t+1] == A @ x[t] + B @ u[t]]
        constraints += [cp.abs(u[t]) <= U_MAX]
    
    cp.Problem(cp.Minimize(cost), constraints).solve()
    return u[0].value
```

### Multi-agent feedback (consensus)
```python
def consensus_step(agents, alpha=0.1):
    """매 distributed averaging."""
    new_states = []
    for a in agents:
        avg_neighbor = mean(n.state for n in a.neighbors)
        new_states.append(a.state + alpha * (avg_neighbor - a.state))
    for a, ns in zip(agents, new_states):
        a.state = ns

# 매 매 step 의 모두 의 average 의 converge.
```

### Reward hacking detection (cybernetic perspective)
```python
def detect_reward_hacking(agent_trajectory, true_objective):
    """매 unintended feedback 의 detect."""
    declared_reward = sum(t.reward for t in agent_trajectory)
    actual_progress = measure_against_intent(agent_trajectory, true_objective)
    
    if declared_reward > 0.9 * MAX_DECLARED and actual_progress < 0.5:
        return 'WARN: reward hacking — 매 metric 의 game'
    return 'OK'
```

## 🤔 결정 기준
| 응용 | Approach |
|---|---|
| Setpoint regulation | PID |
| Multi-state control | MPC |
| Distributed | Consensus protocol |
| Homeostatic system | Negative feedback |
| Growth (controlled) | Positive feedback + saturation |
| Multi-agent | Active inference / consensus |
| AI alignment | Reward hacking detection |

**기본값**: PID 의 baseline. 매 model-aware = MPC. 매 multi-agent = active inference.

## 🔗 Graph
- 부모: [[Systems-Theory]] · [[Control-Theory]] · [[Multi-agent-System|Multi-Agent-Systems]]
- 변형: [[Feedback-Loop]] · [[Homeostasis (항상성)|Homeostasis]] · [[Autopoiesis]]
- 사상가: [[Norbert-Wiener]]
- 응용: [[PID]] · [[MPC]] · [[Active-Inference]] · [[Bayesian-Brain-Hypothesis]]
- Adjacent: [[Antifragility]] · [[Artificial-Life]] · [[Biological-Intelligence]] · [[Anarchism]]

## 🤖 LLM 활용
**언제**: 매 control system. 매 multi-agent. 매 active inference. 매 cybernetic / systems thinking.
**언제 X**: 매 specific math (control theory 의 textbook). 매 single-step decision.

## ❌ 안티패턴
- **Open-loop control**: 매 perturbation 의 ignore.
- **Variety mismatch (Ashby)**: 매 controller 의 weak.
- **Positive feedback 의 unbounded**: 매 explosion.
- **Reward hacking 의 ignore**: 매 unintended.
- **2nd-order observer 의 X**: 매 self-reference 의 limit.

## 🧪 검증 / 중복
- Verified (Wiener "Cybernetics", Ashby "Introduction to Cybernetics", Friston FEP).
- 신뢰도 A.
- Related: [[Bayesian-Brain-Hypothesis]] · [[Antifragility]] · [[Multi-agent-System|Multi-Agent-Systems]] · [[Anarchism]] · [[Computational-Neuroscience-RL]].

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — Wiener + 2nd-order + Ashby + 매 PID / MPC / consensus / active inference code |
