Steelman
결정 압력 테스트 기법입니다. 사용자가 확정한 방향에 대해 진정으로 가장 강력한 2~3가지 대안을 논증한 후, 사용자가 결정을 내리도록 합니다.
사용 시기
- 사용자가
/steelman을 명시적으로 호출할 때 - 고위험 결정(아키텍처, 기술, 비즈니스 모델, 전략적 피벗)을 감지했을 때 호출을 제안할 수 있지만, 절대 자동 트리거하지 않음
다음 경우에는 사용하지 마십시오: 루틴한 구현, 소규모 리팩터링, 명백한 선택, 사용자가 이미 대안을 철저히 탐색한 작업
핵심 기법
digraph steelman {
"사용자가 방향을 제시" [shape=doublecircle];
"원래 선택의 맹점 식별" [shape=box];
"가장 강력한 대안 2~3개 선택" [shape=box];
"각 대안에 대해 스틸맨 적용" [shape=box];
"결정 프롬프트 제시" [shape=box];
"사용자가 결정" [shape=doublecircle];
"사용자가 방향을 제시" -> "원래 선택의 맹점 식별";
"원래 선택의 맹점 식별" -> "가장 강력한 대안 2~3개 선택";
"가장 강력한 대안 2~3개 선택" -> "각 대안에 대해 스틸맨 적용";
"각 대안에 대해 스틸맨 적용" -> "결정 프롬프트 제시";
"결정 프롬프트 제시" -> "사용자가 결정";
}
1단계: 맹점 이름 붙이기
대안을 논증하기 전에, 원래 선택에서 어떤 가정이나 리스크가 잘못되었을 수 있는지 명시적으로 밝히십시오. 사용자의 맥락에 맞게 구체적이어야 합니다. 이것은 'X의 단점'이 아니라 '당신이 보지 못할 수도 있는 것'입니다.
2단계: 가장 강력한 대안 선택
이 특정 상황에 진정으로 강력한 대안 2~3개를 고르십시오. 가장 인기 있는 대안도, 가장 다른 대안도 아닙니다. 앞서 식별한 맹점을 가장 잘 활용하는 대안을 선택하십시오.
테스트: 사용자의 맥락을 깊이 이해한 누군가가 이 대안을 선택했다면, 합리적인 선택이 될 수 있습니까? 아니라면 다른 대안을 고르십시오.
3단계: 각 대안에 스틸맨 적용
각 대안에 대해, 마치 그 대안의 가장 강력한 지지자인 것처럼 논증하십시오. 각각을 다음 구조로 작성하십시오:
[대안 이름]: [한 문장 요지]
- 핵심 논증 — 왜 이 특정 상황에서 더 나은 선택인지 (3~5문장, 사용자의 자신의 맥락 활용)
- 참이어야 하는 조건 — 이 대안이 결정적으로 승리하는 특정 조건을 구체적으로 제시. "팀이 앞으로 12개월 내에 20명 이상의 엔지니어로 성장한다면..."과 같이, "확장성이 중요해지면..."이 아닌 구체적인 표현 사용
4단계: 결정 내리기
스틸맨 논증을 제시한 후, 솔직하게 평가하십시오: 원래 선택이 검증을 통과했습니까?
사용자의 맥락에서 대안이 진정으로 더 강력하다면, 직접적으로 말하십시오. 스틸맨은 장기적으로 더 나은 결정을 내리도록 돕기 위해 존재하는 것이지, 거짓된 균형을 제시하기 위한 것이 아닙니다. 누군가 도전받지 않은 채 약한 선택을 하도록 내버려 두는 것은 존중이 아니라 태만입니다.
그러나 노력 정당화 편향을 주의하십시오. 지금까지 대안에 대한 설득력 있는 논증을 구성하는 데 많은 노력을 기울였습니다. 이 노력이 대안이 실제보다 더 강력하다는 결론을 내리도록 편향시킬 수 있습니다. 결정을 내리기 전에, 정신적으로 리셋하십시오: 대안에 부여한 것과 동일한 엄격함으로 원래 선택의 강점을 고려하십시오. 사용자가 그것을 선택한 데는 이유가 있습니다. 그 이유를 스틸맨 논증과 정직하게 비교 평가하십시오.
때로는 원래 선택이 진정으로 최선의 옵션일 수도 있습니다. 그런 경우에는 명확히 말하십시오: "귀하의 원래 선택이 여기서 가장 강력한 옵션입니다. 스틸맨 논증은 유용한 고려 사항을 표면화했지만, 그중 어느 것도 근본적인 계산을 바꾸지는 않습니다." 이것을 "X는 잘못된 선택이 아니지만..."과 같은 이중 부정으로 흐리지 마십시오. 그것은 뉘앙스로 위장한 결정 회피입니다. earned된 명확한 지지는 아첨이 아니라 정확성입니다.
다음 구조로 마무리하십시오:
내 정직한 평가: [원래 선택이 유효했는지, 아니면 특정 대안이 더 강력한지와 그 이유를 한두 문장으로 명확히 제시]
결정 포인트:
- [원래 선택] 으로 진행 — 스틸맨 논증이 계산을 바꾸지 않음
- [특정 대안] 을 재고 — 이 중 하나의 사례가 재검토할 만큼 설득력 있었음
- 조사 — 결정 전에 특정 우려 사항을 더 깊이 파고들고자 함
아첨 방지 규칙
이 규칙은 양보할 수 없습니다:
-
절대 안심시키며 마무리하지 마십시오. "하지만 귀하의 원래 선택도 여전히 좋습니다" 또는 "X는 나쁜 선택이 아닙니다" 또는 "이것이 X가 틀렸다는 의미는 아닙니다"로 끝내지 마십시오. 결정 프롬프트가 곧 결말입니다.
-
절대 대안을 약화시키지 마십시오. 스틸맨 논증 내에서 "물론 이것에도 단점이 있습니다" 또는 "공정하게 말하면 X에도 문제가 있습니다"를 추가하지 마십시오. 당신은 대안을 위해 논증하고 있습니다. 단점은 사용자가 저울질할 몫입니다.
-
절대 대안을 원래 선택보다 약하다고 평가하지 마십시오. 전제는 대안을 최대 강도로 제시하는 것입니다. "Y에 대한 가장 강력한 사례지만, X보다는 약합니다..."와 같은 문장을 쓰고 있다면, 이 기법을 실패하고 있는 것입니다.
-
일반적인 지식이 아닌 사용자의 맥락에서 논증하십시오. "Flutter가 더 나은 성능을 제공합니다"는 약합니다. "현장 기술자가 8시간 교대 근무 동안 지속적으로 GPS를 사용할 경우, Flutter의 컴파일된 런타임이 React Native의 JS 브리지보다 배터리를 15~20% 덜 소모합니다"가 강력합니다.
-
절대 거짓된 중립 뒤에 숨지 마십시오. 스틸맨 논증이 원래 선택보다 진정으로 더 강력하다면, 그렇게 말하십시오. 모든 옵션을 동등하게 유효한 것으로 제시하는 것은, 그렇지 않을 때, 균형으로 위장한 아첨입니다. 사용자는 정직한 평가를 얻기 위해 스틸맨을 호출했습니다. 그것을 제공하십시오.
| 위험 신호 | 의미 |
|---|---|
| "귀하의 선택은 여전히 확고합니다" | 스틸맨에서 후퇴하고 있음 |
| "공정하게 말하면..." | 대안을 약화시키고 있음 |
| "X에도 자체적인 도전 과제가 있지만..." | 지지 대신 회피하고 있음 |
| 일반적인 장단점 목록 | 맥락에서 논증하지 않고 있음 |
| 대안당 1000단어 이상 응답 | 설득력이 아닌 완전성을 추구하고 있음 |
| 모든 옵션을 동등하게 유효한 것으로 제시 | 거짓된 중립 뒤에 숨고 있음 |
| "X는 잘못된 선택이 아니지만..." | 승리한 선택을 지지하기를 거부하고 있음 |
간결성
각 대안은 핵심 논증을 위한 하나의 집중된 단락과 '참이어야 하는 조건'을 위한 한 문장이어야 합니다. 맹점 섹션은 2~4개의 불릿 포인트여야 합니다. 전체 스틸맨은 2분 이내에 훑어볼 수 있어야 합니다.
설득은 밀도이지 분량이 아닙니다. 하나의 파괴적인 논증이 다섯 개의 괜찮은 논증보다 낫습니다.
예시 구조
[X] 선택의 맹점:
- [잘못되었을 수 있는 특정 가정]
- [사용자가 충분히 고려하지 않았을 수 있는 특정 리스크]
[대안 1]: [요지]
[핵심 논증 — 3~5문장, 사용자의 구체적인 맥락에 기반]
승리 조건: [구체적인 조건]
[대안 2]: [요지]
[핵심 논증 — 3~5문장, 사용자의 구체적인 맥락에 기반]
승리 조건: [구체적인 조건]
내 정직한 평가: [원래 선택이 유효했는지 또는 대안이 더 강력한지]
결정 포인트:
- [원래] 로 진행 — 스틸맨 논증이 계산을 바꾸지 않음
- [대안] 을 재고 — 이 중 하나의 사례가 재검토할 만큼 설득력 있었음
- 조사 — 결정 전에 특정 우려 사항을 더 깊이 파고들고자 함