Files
2nd/10_Wiki/Topics/AI_and_ML/Pros-Cons-Table.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

5.3 KiB
Raw Blame History

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-pros-cons-table Pros Cons Table 10_Wiki/Topics verified self
Pros-Cons Analysis
Decision Matrix
Weighted Scoring
none A 0.9 applied
decision-making
frameworks
analysis
prompt-pattern
2026-05-10 pending
language framework
Markdown Decision-Frameworks

Pros Cons Table

매 한 줄

"매 column = option, 매 row = criterion, 매 cell = signed weight". 18C Benjamin Franklin 의 "Moral Algebra" 의 modern 의 weighted decision matrix. 매 LLM era 에서 매 "let's enumerate pros/cons" 의 prompt pattern 으로 popular.

매 핵심

매 형태

  • Simple 2-col: Pros | Cons. 매 quick gut-check.
  • Weighted scoring: Criterion × Weight × Score per option.
  • Decision matrix (Pugh): Baseline + relative ±.
  • WSJF (SAFe): Cost of Delay / Job Size — agile prioritization.
  • MoSCoW: Must / Should / Could / Won't.

매 components

  1. Options: 매 mutually-exclusive choice.
  2. Criteria: 매 weighted dimension (cost, risk, impact).
  3. Scores: 매 15 or -2..+2.
  4. Total: Σ(weight × score).
  5. Tiebreaker rule: 매 explicit, 매 not vibes.

매 응용

  1. Tech selection (Postgres vs MySQL).
  2. Hire/no-hire scorecard.
  3. Architecture ADR.
  4. Product feature prioritization.
  5. LLM-assisted decision drafting.

💻 패턴

Simple Markdown

| Option   | Pros                          | Cons                       |
|----------|-------------------------------|----------------------------|
| Postgres | Mature, JSON, extensions      | Heavier ops                |
| SQLite   | Zero ops, file-based          | No concurrency at scale    |
| DuckDB   | Analytical, columnar          | Not OLTP                   |

Weighted scoring (Markdown)

| Criterion       | W | Postgres | SQLite | DuckDB |
|-----------------|---|----------|--------|--------|
| Ops simplicity  | 3 | 2        | 5      | 4      |
| Concurrency     | 4 | 5        | 1      | 2      |
| Analytics speed | 2 | 3        | 2      | 5      |
| Ecosystem       | 2 | 5        | 4      | 3      |
| **Weighted**    |   | **38**   | **30** | **31** |

Python decision matrix

import pandas as pd

criteria = {
    "ops": (3, {"postgres": 2, "sqlite": 5, "duckdb": 4}),
    "concurrency": (4, {"postgres": 5, "sqlite": 1, "duckdb": 2}),
    "analytics": (2, {"postgres": 3, "sqlite": 2, "duckdb": 5}),
}

options = ["postgres", "sqlite", "duckdb"]
scores = {opt: sum(w * s[opt] for w, s in criteria.values())
          for opt in options}
print(pd.Series(scores).sort_values(ascending=False))

LLM prompt template

Compare {{options}} for {{decision}}.

For each, list:
- 3 pros (specific, measurable)
- 3 cons (specific, measurable)

Then weighted scoring:
- Criteria: {{criteria_with_weights}}
- Score 1-5

Output Markdown table + recommendation paragraph + key tradeoff.

Pugh matrix (vs baseline)

Baseline = Postgres (current)

| Criterion       | SQLite | DuckDB | Mongo |
|-----------------|--------|--------|-------|
| Ops simplicity  | +      | +      | -     |
| Concurrency     | --     | -      | +     |
| Analytics       | -      | ++     | 0     |
| **Net**         | -2     | +2     | 0     |

ADR template (decision record)

# ADR-007: Choose DuckDB for analytics layer

## Context
OLTP on Postgres. Analytics queries timing out.

## Options
1. Materialized views in Postgres
2. ClickHouse
3. DuckDB embedded

## Decision
DuckDB — embedded, zero ops, columnar.

## Consequences
+ 50x query speedup
- New skill, immature operator tooling

Weighted MCDA (numpy)

import numpy as np
weights = np.array([0.3, 0.4, 0.2, 0.1])
scores = np.array([
    [2, 5, 3, 5],   # postgres
    [5, 1, 2, 4],   # sqlite
    [4, 2, 5, 3],   # duckdb
])
totals = scores @ weights
ranked = np.argsort(-totals)

매 결정 기준

상황 Approach
2-3 options, gut check Simple pros/cons
4+ options, need defense Weighted scoring
Iterating on baseline Pugh matrix
Architecture / team-wide ADR
Backlog ordering WSJF / RICE

기본값: Weighted scoring 5 criteria × 3 options.

🔗 Graph

🤖 LLM 활용

언제: 매 broad option 의 enumerate, 매 missing criterion 의 surface, 매 first-pass draft. 언제 X: 매 final weight 결정 — 매 stakeholder context 의 LLM 의 X. 매 numeric score 의 false precision 의 위험.

안티패턴

  • No weights: 매 critical criterion 의 trivial criterion 과 same. 매 rigging.
  • Score after deciding: 매 confirmation bias. 매 weight 의 score 전에 lock.
  • Too many criteria: 매 7+ 의 noise. 매 top 3-5.
  • Symmetric scoring: 매 모든 option 의 비슷한 total — 매 differentiator 의 부재.
  • Hidden disqualifier: 매 "must" 가 weighted 의 안에 묻힘. 매 hard filter 의 pre-screen.

🧪 검증 / 중복

  • Verified (Franklin's letter to Priestley 1772, Pugh 1991, MCDA literature).
  • 신뢰도 A.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — pros/cons + weighted decision frameworks.