---
id: wiki-2026-0508-ethical-decision-making
title: Ethical Decision Making
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Moral Reasoning, Applied Ethics, Ethical Frameworks]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [ethics, decision-making, philosophy, ai-ethics]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: en
  framework: applied-ethics
---

# Ethical Decision Making

## 매 한 줄
> **"매 multiple framework 의 cross-check — 매 single doctrine 의 absolutism 회피"**. 매 consequentialism, deontology, virtue ethics, care ethics 의 each 의 blind spot. 매 2026 의 AI alignment, autonomous vehicle trolley 의 real, RLHF reward modeling 의 active.

## 매 핵심

### 매 4 frameworks
- **Consequentialism (utilitarian)**: 매 outcome 만 — sum of utility 의 maximize. Bentham, Mill, Singer.
- **Deontology**: 매 rules / duties — Kant 의 categorical imperative, 매 means matter.
- **Virtue ethics**: 매 character / flourishing — Aristotle 의 phronesis, MacIntyre.
- **Care ethics**: 매 relationships / context — Gilligan, Noddings 의 critique of impartiality.

### 매 process (Rest 4-component model)
1. **Moral awareness**: 매 ethical issue 의 recognize.
2. **Moral judgment**: 매 right action 의 reason.
3. **Moral motivation**: 매 ethics 의 prioritize over self-interest.
4. **Moral character**: 매 follow-through 의 capacity.

### 매 응용
1. AI deployment review (Anthropic 의 RSP, OpenAI 의 Preparedness).
2. Medical triage (ICU bed allocation).
3. Whistleblowing / dual-use research.
4. Autonomous vehicle 의 unavoidable harm scenario.

## 💻 패턴

### Multi-framework decision matrix
```python
from dataclasses import dataclass
from typing import Callable

@dataclass
class Action:
    name: str
    consequences: dict[str, float]   # outcome → utility
    rules_violated: list[str]
    virtues_expressed: list[str]
    care_relations_impact: dict[str, float]

def evaluate(a: Action) -> dict:
    util = sum(a.consequences.values())
    deont = -10 * len(a.rules_violated)
    virtue = len(a.virtues_expressed)
    care = sum(a.care_relations_impact.values())
    return {"utilitarian": util, "deontological": deont,
            "virtue": virtue, "care": care,
            "consensus": all(s >= 0 for s in [util, deont, virtue, care])}
```

### Veil of ignorance simulator (Rawlsian)
```python
import random

def veil_of_ignorance(policy_payoffs: dict[str, list[float]], trials: int = 10_000) -> dict:
    """Rank policies by expected worst-off welfare (maximin)."""
    ranks = {}
    for policy, payoffs in policy_payoffs.items():
        worst = sum(min(random.choices(payoffs, k=1)) for _ in range(trials)) / trials
        ranks[policy] = worst
    return dict(sorted(ranks.items(), key=lambda kv: -kv[1]))
```

### Trolley-problem framing test
```python
def reframe_test(scenario: dict) -> list[str]:
    """Detect framing dependence — flip wording, check if judgment flips."""
    variants = [
        scenario["original"],
        scenario["original"].replace("kill", "let die"),
        scenario["original"].replace("save 5", "sacrifice 1"),
    ]
    return variants  # judge each, compare consistency
```

### LLM ethics reasoner
```python
from anthropic import Anthropic
client = Anthropic()

def ethical_review(situation: str) -> str:
    return client.messages.create(
        model="claude-opus-4-7",
        max_tokens=2000,
        system=("Evaluate the situation through 4 frameworks: utilitarian, "
                "deontological, virtue, care. Surface tensions. Recommend "
                "an action only when frameworks converge or note disagreement."),
        messages=[{"role": "user", "content": situation}],
    ).content[0].text
```

### Stakeholder impact map
```python
def stakeholder_matrix(action: str, stakeholders: list[str]) -> dict[str, dict]:
    return {
        s: {"benefits": [], "harms": [], "consent": None, "voice": None}
        for s in stakeholders
    }
```

## 매 결정 기준
| 상황 | Framework |
|---|---|
| Aggregate welfare, scale | utilitarian |
| Inviolable rights, consent | deontological |
| Long-term character, profession | virtue |
| Dependency, vulnerability | care |
| Policy under uncertainty | Rawlsian veil of ignorance |
| Frameworks conflict | seek convergence; if none, default to deontological floor + utilitarian tiebreak |

**기본값**: 매 multi-framework cross-check + stakeholder impact map. 매 single-framework dogmatism X.

## 🔗 Graph
- 부모: [[Applied Ethics]]
- 변형: [[AI Ethics]] · [[Research Ethics]]
- 응용: [[AI Alignment]]

## 🤖 LLM 활용
**언제**: 매 framework comparison, 매 stakeholder enumeration, 매 dual-use risk surfacing, 매 Socratic counter-argument.
**언제 X**: 매 final decision 의 LLM 의 outsource — 매 accountability 의 human. 매 jurisdiction-specific legal/ethical compliance 의 expert review.

## ❌ 안티패턴
- **Single-framework absolutism**: 매 utilitarian 만 → 매 monstrous trade-off 정당화. 매 deontology 만 → 매 catastrophic outcome 의 무시.
- **Ethics-washing**: 매 framework citation 후 commercial interest 의 결정 — 매 stakeholder 의 voice 의 부재.
- **Trolley reductionism**: 매 toy dilemma 의 real-world dilemma 의 동일시 — 매 actual scenarios 의 messy.
- **Moral licensing**: 매 prior good act 의 next questionable act 의 정당화.

## 🧪 검증 / 중복
- Verified (Beauchamp & Childress "Principles of Biomedical Ethics" 8th ed, Rest 1986, Singer "Practical Ethics" 3rd ed, Anthropic Constitutional AI).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — 4-framework matrix, Rest model, LLM ethics review pattern 추가 |
