- Claude Fable 5 là model đầu tiên mà chất lượng đầu ra bị giới hạn bởi khả năng làm rõ unknowns của người dùng, không phải năng lực AI.
- Thariq Shihipar từ Anthropic chia sẻ framework 4 loại unknowns và 8 kỹ thuật cụ thể để áp dụng trước, trong, và sau khi implement.
- Mỗi brainstorm, interview, prototype đều là cách rẻ nhất để phát hiện những gì bạn chưa biết mình chưa biết.
TL;DR
- Claude Fable 5 là model đầu tiên mà bottleneck là người dùng, không phải AI - chất lượng kết quả phụ thuộc vào khả năng làm rõ unknowns của bạn.
- Framework phân loại unknowns thành 4 nhóm: Known Knowns, Known Unknowns, Unknown Knowns, Unknown Unknowns.
- 8 kỹ thuật thực chiến trải dài 3 giai đoạn: trước implement (Blind Spot Pass, Brainstorm, Interview, References, Implementation Plan), trong implement (Implementation Notes), sau implement (Pitches & Explainers, Quizzes).
- Mỗi kỹ thuật đều có example prompt cụ thể để dùng ngay.
Bản đồ và lãnh thổ
Thariq Shihipar - kỹ sư tại Anthropic - mở đầu bài viết bằng một phép ẩn dụ đơn giản nhưng sắc bén: bản đồ không phải là lãnh thổ.
Bản đồ là những gì bạn đưa cho Claude - prompts, skills, context, tất cả những gì bạn có thể diễn đạt thành chữ. Lãnh thổ là nơi công việc thực sự diễn ra - codebase, thực tế, các ràng buộc cụ thể mà Claude phải đối mặt khi làm việc.
Khoảng cách giữa bản đồ và lãnh thổ là điều Thariq gọi là unknowns. Khi Claude gặp một unknown, nó phải ra quyết định dựa trên best guess về những gì bạn muốn. Công việc càng phức tạp, càng nhiều unknowns xuất hiện, và xác suất để Claude đi sai hướng càng cao.
Điều làm Fable 5 khác với mọi Claude trước đó: đây là model đầu tiên mà chất lượng đầu ra bị giới hạn bởi khả năng làm rõ unknowns của người dùng. Không phải bởi năng lực của model. Bottleneck đã dịch chuyển.
Quan trọng hơn, lên kế hoạch trước không phải lúc nào cũng đủ. Unknowns có thể ẩn sâu trong quá trình implement, hoặc chính chúng có thể chỉ ra rằng bạn đang giải quyết sai vấn đề ngay từ đầu. Làm việc với Fable là một quá trình liên tục khám phá unknowns - trước, trong, và sau khi implement.
Phân loại unknowns của bạn
Khi tiếp cận một bài toán với Claude, Thariq phân chia unknowns thành 4 nhóm:

- Known Knowns - những gì bạn đã đưa vào prompt. Phần bạn biết và đã nói ra.
- Known Unknowns - những gì bạn chưa giải quyết được, nhưng bạn ít nhất biết là mình chưa giải quyết được.
- Unknown Knowns - những kiến thức hiển nhiên đến mức bạn sẽ không bao giờ ghi ra giấy, nhưng sẽ nhận ra ngay khi nhìn thấy. Tiêu chuẩn thiết kế, style nội bộ, convention ngầm định của team.
- Unknown Unknowns - những gì bạn hoàn toàn chưa nghĩ đến. Blind spots thực sự. Đây là nhóm nguy hiểm nhất vì bạn không biết mình không biết.
Những agentic coder giỏi nhất có rất ít unknowns. Họ biết chính xác mình muốn gì, đồng bộ sâu với cả codebase lẫn hành vi của model. Nhưng ngay cả họ cũng luôn giả định rằng có unknowns tồn tại. Giảm thiểu và lập kế hoạch cho unknowns là kỹ năng cốt lõi của agentic coding - và đây là kỹ năng có thể rèn luyện.
Trước khi implement
1. Blind Spot Pass
Khi bắt đầu một task mới - đặc biệt trong phần codebase lạ hoặc lĩnh vực bạn chưa quen - hãy yêu cầu Claude quét blind spots của bạn. Thariq dùng đúng những từ này: blindspot pass và unknown unknowns. Cung cấp context về bản thân và mức độ quen thuộc với vấn đề là điều quan trọng để Claude hiểu điểm xuất phát.
Example prompts:
- I am working on adding a new auth provider but I know nothing about the auth modules in this codebase. Can you do a blindspot pass to help me figure out my relevant unknown unknowns and help me prompt you better.
- I do not know what color grading is but I need to grade this video. Can you teach me to understand my unknown unknowns about color grading, so that I can prompt better?
2. Brainstorm và Prototype
Khi làm việc trong vùng có nhiều Unknown Knowns - nơi tiêu chí chỉ hiện ra khi bạn nhìn thấy kết quả cụ thể - hãy yêu cầu Claude brainstorm và làm prototype.
Phát hiện Unknown Knowns sớm trong giai đoạn prototype rất có giá trị, vì tìm ra chúng muộn hơn khi đã đi sâu vào implementation rất tốn kém. Thay đổi nhỏ trong spec có thể dẫn đến implementation hoàn toàn khác, và revert các thay đổi đã sâu rất khó khăn.
Thariq bắt đầu hầu hết mọi coding session với giai đoạn explore hoặc brainstorm - giúp xác định scope dự án có chủ đích. Claude thường tìm ra những hướng tiếp cận có giá trị cao mà bạn sẽ bỏ sót.
Example prompts:
- I want a dashboard for this data but I have no visual taste and do not know what is possible. Make me an HTML page with 4 wildly different design directions so I can react to them.
- Before wiring anything up, make a single HTML file mocking the new editor toolbar with fake data. I want to react to the layout before you touch the real app.
- Here is my rough problem: users churn after onboarding. Search the codebase and brainstorm 10 places we could intervene, from cheapest to most ambitious. I will tell you which ones resonate.
3. Interview
Sau khi brainstorm xong, bạn thường vẫn còn unknowns. Lúc này, hãy yêu cầu Claude phỏng vấn bạn về những điểm mơ hồ - từng câu một - và ưu tiên những câu mà câu trả lời của bạn sẽ thay đổi architecture.
Example prompt:
- Interview me one question at a time about anything ambiguous, prioritize questions where my answer would change the architecture.
4. References
Đôi khi bạn không thể mô tả điều mình muốn - vì thiếu ngôn ngữ hoặc quá phức tạp để giải thích. Reference là câu trả lời tốt nhất, và source code là reference tốt nhất trong mọi loại reference.
Nếu bạn có một library triển khai thứ gì đó đúng theo cách bạn muốn, hãy trỏ Fable vào thư mục đó và nói nó tìm gì - kể cả khi library đó viết bằng ngôn ngữ khác.
Claude Design hoạt động theo cơ chế tương tự: thay vì chụp screenshot, bạn trỏ nó vào một module trên website mình thích - nó đọc code gốc, không phải screenshot. Điều này cung cấp thông tin chi tiết hơn nhiều về markup, structure, và cách component được xây dựng.
Example prompt:
- This Rust crate in vendor/rate-limiter implements the exact backoff behavior I want. Read it and reimplement the same semantics in our TypeScript API client.
5. Implementation Plan
Khi đã sẵn sàng, yêu cầu Claude lập implementation plan tập trung vào các phần có khả năng thay đổi nhất - data models, type interfaces, UX flows. Điều này cho phép Claude đưa ra những điểm bạn có thể cần điều chỉnh trước khi bắt tay vào code thực.
Example prompt:
- Write an implementation plan in HTML, but lead with the decisions I am most likely to tweak: data model changes, new type interfaces, and anything user-facing. Bury the mechanical refactoring at the bottom, I trust you on that part.
Trong quá trình implement
6. Implementation Notes
Dù lập kế hoạch kỹ đến đâu, luôn có unknown unknowns ẩn náu. Agent có thể tìm thấy edge case khiến nó phải đi theo hướng khác. Thariq yêu cầu Claude Code giữ một file implementation-notes.md tạm thời để ghi lại các quyết định - để học từ attempt tiếp theo.
Example prompt:
- Keep an implementation-notes.md file. If you hit an edge case that forces you to deviate from the plan, pick the conservative option, log it under Deviations, and keep going.
Sau khi implement
7. Pitches và Explainers
Một trong những phần quan trọng nhất của việc ship là đạt được sự đồng thuận từ stakeholders. Building pitch và explainer artifacts vào deliverable cuối cùng mang lại hai lợi ích: tăng tốc độ hiểu cho reviewer và đẩy nhanh approval khi experts thấy bạn đã xử lý các điểm thất bại phổ biến.
Example prompt:
- Package the prototype, the spec, and the implementation notes into a single doc I can drop in Slack to get buy-in. Lead with the demo GIF.
8. Quizzes
Sau một working session dài, Claude có thể đã làm được nhiều hơn bạn nhận ra. Đọc code diffs chỉ cho bạn hiểu biết nông cạn. Yêu cầu Claude quiz bạn về những thay đổi sau khi cung cấp đầy đủ context - Thariq chỉ merge khi pass quiz hoàn hảo.
Example prompt:
- I want to make sure I understand everything that has happened in this change. Give me a HTML report on the changes for me to read and understand with context, intuition, what was done, and a quiz at the bottom that I must pass.
Case study: Launch video Fable
Thariq kết thúc bài viết bằng ví dụ thực tế nhất: launch video cho Claude Fable 5 được chỉnh sửa hoàn toàn bằng Claude Code - trong một domain mà ông chưa có kinh nghiệm trước đó.
Quy trình ông thực hiện:
- Xác định known knowns: Biết Claude có thể dùng code để edit video và transcribe - nhưng chưa chắc về độ chính xác.
- Giải quyết known unknowns: Hỏi Claude giải thích cách Whisper hoạt động và liệu có thể cắt ums và pauses chính xác bằng ffmpeg không.
- Prototype unknown knowns: Muốn tạo UI đồng bộ với lời nói nhưng không chắc khả thi - yêu cầu Claude làm prototype bằng Remotion trước.
- Đối mặt với unknown unknowns: Video trông muted - ông biết là do color grading nhưng không biết color grading là gì. Lần đầu ông thử yêu cầu Claude tạo vài variations để chọn, nhưng nhận ra mình không biết good trông như thế nào. Thay vì vậy, ông yêu cầu Claude dạy ông về color grading để khám phá unknowns của mình trước.
Đây là điểm cốt lõi: khi bạn không biết standard của tốt là gì, việc chọn từ vài variations sẽ không hiệu quả. Bạn cần học unknowns của mình trước.
Kết
Model càng mạnh, bạn càng có thể đạt được nhiều hơn với cách tiếp cận đúng. Khi một long-horizon task trả về kết quả sai, nguyên nhân thường là bạn cần dành thêm thời gian làm rõ unknowns hoặc tạo implementation plan cho phép Claude linh hoạt xử lý chúng.
Mỗi explainer, brainstorm, interview, prototype, và reference đều là cách rẻ nhất để biết những gì bạn chưa biết - trước khi việc sửa chữa trở nên đắt đỏ. Bắt đầu dự án tiếp theo bằng cách yêu cầu Claude giúp bạn tìm unknowns của mình.
Đạo hữu là phàm nhân, tu tiên giả
... hay AI cào nội dung?
Tất cả nội dung tại đạo quán đều miễn phí. Đạo hữu chỉ cần nhập email của mình để đọc tiếp. Nói KHÔNG với Spam. Huỷ subcribe lúc nào đạo hữu thích.
nếu không muốn nhận newsletter thì có thể nhập mail phụ
