---
id: wiki-2026-0508-automated-decision-making
title: Automated Decision Making
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [ADM, Algorithmic Decision-Making, Automated Decisions]
duplicate_of: none
source_trust_level: A
confidence_score: 0.93
verification_status: applied
tags: [decision-systems, ml, governance, fairness, eu-ai-act]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: Python
  framework: scikit-learn/PyTorch/Aequitas
---

# Automated Decision Making (ADM)

## 매 한 줄
> **"매 algorithm 의 decision authority — 매 human approval 의 X 또는 minimal."**. ADM 의 system 의 input 의 받는 → 매 ML / rule / hybrid 의 통한 decision (loan, hiring, sentencing, content mod, dispatch) 의 output. 매 2026 의 EU AI Act (high-risk category) + GDPR Art.22 + Colorado SB205 의 governed.

## 매 핵심

### 매 Categories
- **Rule-based**: explicit if/then (DMN, decision tables).
- **ML scoring**: classifier / regressor → threshold.
- **LLM agentic**: tool-use + reasoning loop (Claude / GPT-5).
- **Human-in-the-loop (HITL)**: ML proposes, human approves.
- **Human-on-the-loop**: ML acts, human monitors / can override.
- **Fully automated**: no human in critical path.

### 매 Regulation (2026)
- **EU AI Act** (entered force 2025): high-risk systems (biometric, hiring, credit, law enforcement) → conformity assessment, transparency, human oversight.
- **GDPR Art.22**: right to not be subject to solely automated decision with legal effect; right to explanation.
- **Colorado AI Act (SB205)**: 2026 effective — algorithmic discrimination duty for high-risk AI.
- **NYC Local Law 144**: AEDT bias audit.

### 매 Components
- Input validation + preprocessing.
- Feature engineering / embedding.
- Model + threshold + calibration.
- Decision policy (action mapping).
- Logging + audit trail.
- Override / appeal channel.

### 매 응용
1. Credit underwriting (FICO, Upstart).
2. Hiring screening (with caution post-NYC LL 144).
3. Content moderation (Hive, Perspective API).
4. Insurance claims triage.
5. Dispatching (Uber, DoorDash).

## 💻 패턴

### Pattern 1 — Decision policy with audit

```python
import logging, hashlib, json, time

def decide(applicant, model, threshold=0.6):
    score = model.predict_proba([applicant])[0, 1]
    decision = "approve" if score >= threshold else "review"
    audit = {
        "ts": time.time(), "id": applicant["id"],
        "score": float(score), "threshold": threshold,
        "decision": decision, "model_v": model.version,
        "input_hash": hashlib.sha256(json.dumps(applicant, sort_keys=True).encode()).hexdigest(),
    }
    logging.info(json.dumps(audit))
    return decision, audit
```

### Pattern 2 — Bias audit (Aequitas)

```python
from aequitas.group import Group
g = Group()
xtab, _ = g.get_crosstabs(df_with_predictions, attr_cols=["race", "gender"])
print(xtab[["attribute_name", "fpr", "fnr", "tpr"]])
```

### Pattern 3 — Calibration check

```python
from sklearn.calibration import calibration_curve
prob_true, prob_pred = calibration_curve(y_test, y_score, n_bins=10)
# expect diagonal — deviation = miscalibration
```

### Pattern 4 — HITL queue (low-confidence routing)

```python
def route(score, low=0.4, high=0.7):
    if score >= high: return "auto-approve"
    if score <  low:  return "auto-deny"
    return "human-review"
```

### Pattern 5 — EU AI Act conformity log

```python
@dataclass
class ConformityRecord:
    system_id: str
    risk_class: str   # "high" | "limited" | "minimal"
    intended_purpose: str
    training_data_summary: str
    bias_test_results: dict
    human_oversight_design: str
    last_audit: str
```

## 매 결정 기준

| 상황 | Approach |
|---|---|
| High-stakes (credit, hire, health) | HITL + bias audit + appeal |
| Reversible low-stakes | full auto + sample review |
| Real-time (dispatch) | full auto + monitoring |
| Regulated (EU high-risk) | conformity assessment + transparency |
| Novel domain | shadow mode → HITL → automation |

**기본값**: HITL + audit log + bias monitoring + appeal channel.

## 🔗 Graph
- 부모: [[Decision-Theory]]
- 변형: [[HITL]]
- 응용: [[Content-Moderation]]
- Adjacent: [[Algorithmic-Fairness]]

## 🤖 LLM 활용
**언제**: drafting decision policy, reviewing audit logs for anomalies, generating explanation text (Art.22), bias test fixture generation.
**언제 X**: autonomous high-stakes decision without human in loop, opaque LLM-only path for regulated domain.

## ❌ 안티패턴
- **Black box high-stakes**: no explanation = GDPR/AI-Act violation risk.
- **No appeal channel**: legitimacy collapse.
- **Drift unmonitored**: production model 의 silent degrade.
- **Proxy discrimination**: ZIP code → race proxy unlawful.

## 🧪 검증 / 중복
- Verified (EU AI Act final text, NIST AI RMF, Aequitas docs).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — FULL content (EU AI Act, HITL, bias audit) |
