d8a80f6272
이름만 다른(표기 변형) [[위키링크]]를 대상 문서의 canonical 제목으로 치환해 끊겼던 1,200개 링크를 연결. 제목/파일명 정규화 일치만 적용하고 별칭 매칭은 과병합 위험으로 제외(애매성 가드). 원본은 _link_reconcile_backup/ 에 백업. 도구: Datacollect/scripts/link_reconcile_apply.mjs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6.6 KiB
6.6 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-human-centered-ai-hcai | Human-Centered AI (HCAI) | 10_Wiki/Topics | verified | self |
|
none | A | 0.94 | applied |
|
2026-05-10 | pending |
|
Human-Centered AI (HCAI)
매 한 줄
"매 AI 가 humans 의 replace 의 X — 매 humans 의 augment". Shneiderman 2022. 매 high human control + high computer automation 의 동시. 매 modern: 매 Copilot, Cursor, Notion AI 의 design pattern. 매 vs autonomous AI.
매 핵심
매 framework (Shneiderman 2D)
- 매 X-axis: human control (low → high).
- 매 Y-axis: automation (low → high).
- HCAI = 매 right-top quadrant: 매 high control + high automation.
매 4 modes (Endsley)
- Manual.
- Decision support.
- Consensual (AI suggests, human approves).
- Monitored automation.
- Full automation.
매 응용
- Copilot (code).
- Cursor / Continue (IDE).
- Notion AI (writing).
- Medical AI (clinician support).
- Photoshop generative fill.
- CAD AI tools.
매 design principles
- Reliable (high reliability + safety).
- Safe (graceful degradation).
- Trustworthy (explainable + auditable).
- Transparent (about AI involvement).
- Reversible (undo).
- Auditable (log decisions).
💻 패턴
Suggestion + accept (Copilot pattern)
function aiSuggest(context: Context): Suggestion[] {
const candidates = llm.generate(context, n=3);
return candidates.map(c => ({
text: c.text,
confidence: c.confidence,
explanation: c.explanation,
}));
}
// 매 UI: 매 ghost text + Tab 의 accept, Esc 의 reject
Confidence-aware UX
function renderSuggestion(s: Suggestion) {
if (s.confidence > 0.9) return <strong>{s.text}</strong>; // 매 confident
if (s.confidence > 0.7) return <span>{s.text}</span>;
return <span style={{opacity: 0.5}}>{s.text}? <small>(uncertain)</small></span>;
}
Explainable suggestion
def llm_suggest_with_reason(context, llm):
return llm.generate(f"""
{context}
Output:
- suggestion: <code or text>
- reason: <why this — 1 sentence>
- confidence: <0-1>
- alternatives: <2-3 alternatives>
""")
Reversible action
class UndoStack {
private stack: Action[] = [];
do(action: Action) {
action.execute();
this.stack.push(action);
}
undo() {
const last = this.stack.pop();
last?.reverse();
}
}
AI disclosure (transparency)
<div class="ai-output">
<p>{output}</p>
<small class="ai-disclosure">Generated with AI. Verify before using.</small>
</div>
Audit log
def log_ai_decision(input, output, model_version, user_decision):
db.audit.insert({
'timestamp': now(),
'user_id': current_user.id,
'model': model_version,
'input_hash': hash(input),
'output': output,
'user_action': user_decision, # 매 accepted | modified | rejected
})
Graceful degradation
def feature_with_ai_fallback(input):
try:
return ai_enhance(input)
except (RateLimitError, ServiceDown):
return manual_default(input)
Calibrated confidence display
function confidenceLabel(score) {
if (score > 0.95) return { label: 'High confidence', color: 'green' };
if (score > 0.8) return { label: 'Likely', color: 'blue' };
if (score > 0.6) return { label: 'Possible', color: 'orange' };
return { label: 'Uncertain — verify', color: 'red' };
}
Diff-based AI edit (review)
// 매 LLM proposes change → user sees diff → approves/rejects
function showDiffForApproval(original: string, proposed: string) {
return {
diff: computeDiff(original, proposed),
actions: ['Accept', 'Reject', 'Edit'],
};
}
Per-user adaptation
class PersonalizedAI:
def __init__(self, user):
self.user = user
self.preferences = load_preferences(user)
def suggest(self, context):
base = llm.generate(context)
return adapt_to_style(base, self.preferences.style)
def feedback(self, suggestion, accepted):
self.preferences.update(suggestion, accepted)
Multi-step approval (agent)
def hcai_agent(goal, tools):
plan = llm.plan(goal)
for step in plan:
approval = ask_user(f'Approve: {step}?')
if not approval: return 'cancelled'
result = execute(step, tools)
update_user(result)
AI vs human comparison (audit)
def compare_ai_vs_human(items, ai_outputs, human_outputs):
return {
'agreement': sum(1 for a, h in zip(ai_outputs, human_outputs) if a == h) / len(items),
'ai_overrides_kept': count(item.ai_overridden_by_human for item in items),
}
Critique mode
def ai_critique(user_work, llm):
return llm.generate(f"""Critique constructively. Don't rewrite.
User work:
{user_work}
Output:
- strengths: ...
- weaknesses: ...
- specific suggestions: ...""")
매 결정 기준
| 상황 | Mode |
|---|---|
| Code editor | Suggestion + accept |
| Medical diagnosis | Decision support |
| Writing | Critique + suggest |
| Auto-routing | Monitored automation |
| High-stakes | Full HITL |
| Low-stakes ambient | Background AI |
기본값: 매 high control + high automation + 매 reversible + 매 explainable + 매 disclosure + 매 audit log.
🔗 Graph
- 부모: AI · Human Computer Interaction
- 변형: Augmented-Intelligence
- 응용: Human-in-the-loop (HITL) · AI_Safety_and_Alignment
- Adjacent: Ethics & AI · Emotional-AI (Affective Computing) · Excessive Agency
🤖 LLM 활용
언제: 매 모든 AI product. 매 productivity. 매 medical. 언제 X: 매 fully autonomous infra.
❌ 안티패턴
- AI replaces human: 매 trust loss.
- Hide AI involvement: 매 transparency 의 violate.
- No undo: 매 destructive.
- Confidence theater: 매 fake high score.
- Auto-accept default: 매 human disempower.
🧪 검증 / 중복
- Verified (Shneiderman HCAI 2022, Endsley levels of automation).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — Shneiderman + 매 suggest / disclosure / undo / audit code |