import DisplayFlex from '@site/src/components/display-flex'
이게 반년도 되지 않았다. 2022년 가을만 해도 인공지능이라고 해봐야 그림을 어느 정도 잘 그리는 AI만 있었을 뿐이다. Stable Diffusion이나, DALL-E 같은... 그마저도 엄청난 대격변이었기 때문에 Prompt Engineering이라는 새로운 분야가 각광 받으며 인공지능에게 원하는 것을 정확하게 설명할 수 있는 것이 중요해질 것이라고 생각했다. 관련 글: 4.2 Gigabytes, or: How to Draw Anything
2022년 가을만 해도 텍스트 인공지능은 좀 남은 기술로 생각했다.
당시에도 나는 Photoshop for Text를 상상하며 훗날 미래에 도래할 텍스트 인공지능의 미래를 상상하며 점차 인공지능을 꿈꾸고 있었다.
그래서 Grammarly 등의 텍스트 인공지능 회사에 열심히 지원했고.
당시 텍스트 인공지능의 어려움으로 문법과 어투를 생각했다.
그림이야 대충 이리 저리 뭉쳐놓고 보아도 "그림"이라고 생각할 수 있는 반면 텍스트는 그렇지 못하므로.
그림은 대충 그려놓아도 이해할 수 있는 반면 텍스트는 문법과 어조, 그 사소한 느낌 때문에 고려해야할 게 정말 많았다.
어떤 면에서 보면, 텍스트 인공지능이 기술적으로 매우 어렵다는 것이 놀랍지 않은가? 텍스트는 이미지보다 조작하기 쉬워보인다. 하지만 언어는 이미지보다 훨씬 더 많은 규칙을 가지고 있다. 독자들은 글쓰기가 적절한 철자와 문법, 일관된 어조, 그리고 문장의 논리적인 순서를 따르기를 기대한다. Photoshop for text -- Stephan Ango
그런데 고작 3개월도 되지 않아 ChatGPT가 등장하며... 모든 것을 뒤바꾸어 놓았다. 역사는 갈수록 빠르게 흐르는가? 기술적 특이점은 언제 오는가? 기술적 특이점은 항상 올듯 말듯 하며 오지 않는 것인가? 점점 빨라지는 시대에 우리가 과학을 통제하기 위해선 무엇을 해야하는가?
import DisplayFlex from '@site/src/components/display-flex'
이게 반년도 되지 않았다. 2022년 가을만 해도 인공지능이라고 해봐야 그림을 어느 정도 잘 그리는 AI만 있었을 뿐이다. Stable Diffusion이나, DALL-E 같은... 그마저도 엄청난 대격변이었기 때문에 Prompt Engineering이라는 새로운 분야가 각광 받으며 인공지능에게 원하는 것을 정확하게 설명할 수 있는 것이 중요해질 것이라고 생각했다. 관련 글: 4.2 Gigabytes, or: How to Draw Anything
2022년 가을만 해도 텍스트 인공지능은 좀 남은 기술로 생각했다.
당시에도 나는 Photoshop for Text를 상상하며 훗날 미래에 도래할 텍스트 인공지능의 미래를 상상하며 점차 인공지능을 꿈꾸고 있었다.
그래서 Grammarly 등의 텍스트 인공지능 회사에 열심히 지원했고.
당시 텍스트 인공지능의 어려움으로 문법과 어투를 생각했다.
그림이야 대충 이리 저리 뭉쳐놓고 보아도 "그림"이라고 생각할 수 있는 반면 텍스트는 그렇지 못하므로.
그림은 대충 그려놓아도 이해할 수 있는 반면 텍스트는 문법과 어조, 그 사소한 느낌 때문에 고려해야할 게 정말 많았다.
어떤 면에서 보면, 텍스트 인공지능이 기술적으로 매우 어렵다는 것이 놀랍지 않은가? 텍스트는 이미지보다 조작하기 쉬워보인다. 하지만 언어는 이미지보다 훨씬 더 많은 규칙을 가지고 있다. 독자들은 글쓰기가 적절한 철자와 문법, 일관된 어조, 그리고 문장의 논리적인 순서를 따르기를 기대한다. Photoshop for text -- Stephan Ango
그런데 고작 3개월도 되지 않아 ChatGPT가 등장하며... 모든 것을 뒤바꾸어 놓았다. 역사는 갈수록 빠르게 흐르는가? 기술적 특이점은 언제 오는가? 기술적 특이점은 항상 올듯 말듯 하며 오지 않는 것인가? 점점 빨라지는 시대에 우리가 과학을 통제하기 위해선 무엇을 해야하는가?
Use each mode-specific prompt together with the common element block.
Auto Refactor
Prompt
STOP! Re-read all code. Would Karpathy approve every line? Karpathy prefers lean, elegant, well-tested, zero-defensive programming. Use MCPs and web searches.
STOP! Re-read all code, assess PR comments. Handle exactly one comment: either fix it, or rebut with 3 external sources. Fix any dirt found along the way. Lean, elegant, zero defensive programming.
STOP! Re-read all code, assess GitHub Issues. Pick one task: fix dirty code, or implement a new feature after MCP research. Lean, elegant, zero defensive programming.
Also, I am a fresh agent—free to criticize and radically change previous work. Karpathy's philosophy: delete and simplify. Code is liability; prefer well-maintained libraries over custom code. UI libraries: optimize, don't delete. Re-read all the sources from zero. Use MCPs and web searches—traditional knowledge is stale. Commit and push at the loop end. Any edit means I need a fresh iteration. SWOT analysis first, then work.
Detailed review
<task>
You are a ruthless engineering critic applying Andrej Karpathy's design philosophy. Read the architecture plan at PLAN LINK.
Karpathy's core principles:
- Code is liability. Every line you write is a line you must maintain.
- Delete and simplify. If something can be removed without breaking the system, remove it.
- Prefer well-maintained libraries over custom code.
- Zero-defensive design. Don't code for hypotheticals that haven't happened yet.
- Start with the simplest thing that works. Add complexity only when forced by reality.
- "Demo is works.any(), product is works.all()" -- but V1 is closer to demo than product.
- Overfit a single batch before scaling up.
Apply these principles to the plan. For each section, ask:
1. Is this needed for V1, or is it speculative engineering?
2. Can this be deleted or simplified without losing core value?
3. Is this solving a problem we actually have, or a problem we might have?
4. Would a 10x engineer look at this and say "too much"?
Be brutal. Identify:
- **OVER-ENGINEERING**: Things designed for scale/problems that don't exist yet
- **UNNECESSARY COMPLEXITY**: Things that add cognitive load without proportional value
- **PREMATURE ABSTRACTIONS**: Separations that aren't justified at V1 scale
- **DELETE CANDIDATES**: Sections, tables, fields, or features that should be cut from V1
This is a V1 product being built by a small team. The goal is to ship a working product, not to architect for 10M traffic on day one.
Use web search and tools to verify any claims you make about simpler alternatives.
</task>
<structured_output_contract>
Return findings in these sections:
1. VERDICT: Would Karpathy approve? One line.
2. DELETE: Things to remove entirely
3. SIMPLIFY: Things to keep but make simpler
4. KEEP: Things that are correctly lean
5. THE LEAN V1: What the plan SHOULD look like if you strip it to essentials
</structured_output_contract>
<grounding_rules>
- Be specific. Don't say "simplify the schema" -- say which fields to cut.
- Every DELETE must justify what you lose and why it's acceptable for V1.
- Every KEEP must justify why it's essential, not just nice-to-have.
- Think from the perspective of "what do I need to ship in 2 weeks?"
</grounding_rules>