Đây là bản phân tích toàn diện từ A đến Z về Claude Fable 5 - nó là gì và cách sử dụng nó như một kỹ sư 100x
Điều này sẽ thay đổi hoàn toàn cách bạn làm việc với Claude
Đánh dấu 8 bản build này trước khi bạn quên
Giới thiệu
Bạn đang sở hữu mô hình mạnh nhất từng được phát hành rộng rãi, nhưng bạn vẫn đang gõ từng prompt một. Hướng dẫn này sẽ khắc phục điều đó.
Đây là tình hình tính đến tháng 7 năm 2026. Fable 5 có thể chạy hàng giờ mà không cần giám sát, tự động điều phối các tác nhân con của nó, và hoàn thành một tuần làm việc chỉ trong một đêm. Nó cũng được tính phí theo mức sử dụng ($10/M đầu vào, $50/M đầu ra qua tín dụng sử dụng), nó làm quá nhiều khi phạm vi không được giới hạn, và nó bảo vệ cho những sai lầm của mình thuyết phục hơn hầu hết mọi người bảo vệ cho câu trả lời đúng của họ.
Nếu sử dụng một cách thông thường, nó là một cách đắt đỏ để tạo ra những thứ sai lầm ấn tượng. Nếu sử dụng trong một hệ thống, nó là thứ gần nhất với một nhân viên mà bạn có thể thuê với giá ba đô la một ngày.
Hướng dẫn này xây dựng hệ thống đó. Không phải là triết lý về nó: mà là các tệp thực tế, theo thứ tự, với một điểm kiểm tra sau mỗi bước để bạn biết nó hoạt động trước khi xếp chồng phần tiếp theo lên trên.
Những gì bạn sẽ có khi kết thúc:
- Một tệp CLAUDE.md mà mô hình không thể thương lượng (BUILD 1)
- Một vòng lặp hàng ngày nơi Fable 5 đưa ra mọi quyết định nhưng viết hầu như không có token, các mô hình rẻ thực hiện công việc, một bộ xác minh độc lập chấm điểm nó, và một script bash nắm giữ lá phiếu cuối cùng (BUILD 2-3)
- Một sổ cái tin cậy tự động cấp và thu hồi quyền tự chủ theo từng kỹ năng, dựa trên tỷ lệ vượt qua đo được (BUILD 4)
- Một thư mục mục tiêu nơi mọi thứ bạn từng hoàn thành tiếp tục được xác minh lại hàng ngày, mãi mãi, để không có gì âm thầm hỏng hóc (BUILD 5)
- Một ngân sách tự thực thi thay vì làm bạn bất ngờ (BUILD 6)
- Bốn vòng lặp tùy chọn (túc số, bánh cóc, đấu tập, ủ phân) mỗi vòng có điều kiện cho bạn biết khi nào nên cài đặt nó (BUILD 7)
- Một lịch cron, một sổ tay vận hành cho mọi cảnh báo mà hệ thống có thể đưa ra, và một lịch trình tin cậy 30 ngày đưa nó từ được giám sát đến tự mở rộng.
Đối tượng hướng đến. Bất kỳ ai có repo, terminal và đăng ký Claude Code hoặc khóa API. Các ví dụ mang hương vị mã vì các vòng lặp phát triển xung quanh codebase, nhưng hệ thống mục tiêu và một nửa số vòng lặp hoạt động tốt trên hóa đơn, báo cáo và danh sách đọc; các điều kiện chỉ là các lệnh shell.
Cách đọc. Theo thứ tự, thực hiện các bước kiểm tra. BUILD 0 là các cài đặt chính thức của Anthropic và ngôn ngữ prompt; mọi thứ sau đó là hệ thống được xây dựng trên đó. Mỗi build mất 10 đến 20 phút. 30 ngày ở cuối không phải là thời gian đọc; chúng là lịch trình tin cậy tăng dần trong đó hệ thống giành được quyền chạy mà không cần bạn. Tổng thời gian thực hành: khoảng 2 giờ.
Ba nguyên tắc nền tảng cho mọi thứ, để bạn có thể dự đoán bất kỳ quyết định thiết kế nào trước khi đọc nó:
- Luật, không phải mẹo. Mọi quy tắc đều có một con số, một "không bao giờ" hoặc một lệnh kiểm tra nó. Bất cứ điều gì mềm mỏng hơn sẽ bị tối ưu hóa.
- Không có gì tự chấm điểm bài tập của chính nó. Người lập kế hoạch, người thực hiện, người xác minh và người gác cổng là bốn bên khác nhau, và bên cuối cùng là tất định.
- Không có gì đã từng vượt qua mà không bị theo dõi. Công việc đã hoàn thành sẽ tốt nghiệp thành một bất biến được xác minh lại. Một mục tiêu bạn chỉ xác minh một lần là một giả định có dấu thời gian.
Không có bài luận nào từ đây trở đi. Tám bản build, mỗi bản có các tệp, lệnh và một điểm kiểm tra.
Điều kiện tiên quyết
1CLI claude (Claude Code) với quyền truy cập Fable 5 # bật tín dụng sử dụng, đặt giới hạn /usage-credits cap2CLI llm + khóa OpenRouter # llm install llm-openrouter3jq, gh, git, make, cron4một repo có lệnh kiểm tra
Những gì bạn đang xây dựng
1your-repo/2 CLAUDE.md # BUILD 1: hiến pháp3 loop/4 loop.sh # BUILD 3: nhịp tim5 conductor.md # BUILD 3: prompt định tuyến6 triage.md # BUILD 3: prompt đọc rẻ7 contract.md # BUILD 2: ba danh sách8 workers/implement.md # BUILD 39 workers/verify.md # BUILD 310 guardrails/verify.sh # BUILD 2: cổng tất định11 scripts/trust-log.sh # BUILD 412 scripts/log-cost.sh # BUILD 613 scripts/cost-check.sh # BUILD 614 quorum.sh # BUILD 7 (tùy chọn)15 verify-goals.sh # BUILD 516 goals/ # BUILD 5: các mục tiêu thường trực17 skills/ # BUILD 4: một tệp cho mỗi nhân viên18 memory/19 STATE.md trust.tsv goal-ledger.tsv dispatch.tsv usage.log20 Makefile # BUILD 8: tick / queue / trust / audit / dream
BUILD 0: Cấu hình Engine (từ tài liệu chính thức của Fable 5)
Mọi thứ trong bản build này đều đến từ tài liệu của chính Anthropic. Đặt những thứ này trước khi viết bất kỳ tệp nào của riêng bạn.
Bảng thông số kỹ thuật:
Cài đặt
Giá trị
Nguồn
Chuỗi mô hình
claude-fable-5
tổng quan mô hình
Ngữ cảnh / Đầu ra
1M token / lên đến 128k đầu ra mỗi yêu cầu
tài liệu giới thiệu
Giá
$10/M đầu vào, $50/M đầu ra
tài liệu giới thiệu
Suy nghĩ (Thinking)
thích ứng, luôn bật;
thinking: {type:"disabled"}
bị TỪ CHỐI; đầu ra suy nghĩ chỉ được tóm tắt
tài liệu giới thiệu + nỗ lực
Nỗ lực (Effort)
thấp
trung bình
cao
rất cao
tối đa
;
cao
= mặc định = bỏ qua tham số
tài liệu nỗ lực
Hình dạng API
output_config: {"effort": "..."}
trên Messages API
tài liệu nỗ lực
Năm sự thật chính thức thay đổi cách bạn xây dựng:
- max_tokens là một giới hạn cứng cho suy nghĩ CỘNG VỚI văn bản phản hồi. Ở mức cao và rất cao, hãy đặt nó lớn (bắt đầu từ 64k) nếu không Fable sẽ hết chỗ giữa chừng khi đang suy nghĩ. Áp dụng cho mọi lệnh gọi claude -p trong hướng dẫn này.
- rất cao (xhigh) chính thức dành cho "các tác vụ tác nhân chạy dài (trên 30 phút) với ngân sách token lên đến hàng triệu." Đó là vị trí của người điều phối và không có gì khác trong hệ thống này. Tài liệu cũng nói rằng nỗ lực thấp hơn trên Fable 5 "thường vượt quá hiệu suất rất cao trên các mô hình trước đó," vì vậy hãy chống lại việc nâng cấp công nhân.
- Từ chối là HTTP 200. Fable 5 chạy các bộ phân loại an toàn (an ninh mạng tấn công, sinh học/khoa học sự sống, trích xuất lý luận). Một yêu cầu bị từ chối trả về stop_reason: "refusal" như một phản hồi THÀNH CÔNG. Các script của bạn phải kiểm tra lý do dừng, không phải mã thoát. Biện pháp khắc phục chính thức: cấu hình dự phòng phía máy chủ hoặc phần mềm trung gian SDK để chuyển hướng đến Opus 4.8.
- Không bao giờ yêu cầu Fable lặp lại lý luận của nó. Các prompt hoặc kỹ năng nói "hiển thị suy nghĩ của bạn" hoặc "giải thích lý luận của bạn trong phản hồi" sẽ kích hoạt danh mục từ chối reasoning_extraction và nâng cấp dự phòng. Kiểm tra mọi kỹ năng cũ về điều này khi di chuyển. Thay vào đó, hãy đọc các khối suy nghĩ có cấu trúc.
- Các lượt được thiết kế dài. Các tác vụ khó chạy nhiều phút mỗi yêu cầu ở nỗ lực cao hơn; các lần chạy tự động kéo dài hàng giờ. Điều chỉnh thời gian chờ của máy khách và kiểm tra các lần chạy không đồng bộ (các tác vụ đã lên lịch, không phải chờ chặn). Đây là lý do tại sao nhịp tim là cron, không phải một vòng lặp chặn.
Gói prompt chính thức. Anthropic cung cấp ngôn ngữ prompt đã được kiểm tra cho các hành vi đã biết của Fable 5. Những thứ này đi vào prompt của bạn nguyên văn; đừng diễn giải chúng mỏng hơn:
- Chống lập kế hoạch quá mức (cho người điều phối và bất kỳ phiên tương tác nào):
1Khi bạn có đủ thông tin để hành động, hãy hành động. Đừng suy diễn lại các sự2kiện đã được thiết lập trong cuộc trò chuyện, tranh luận lại một quyết định mà3người dùng đã đưa ra, hoặc kể lại các lựa chọn mà bạn sẽ không theo đuổi. Nếu4bạn đang cân nhắc một lựa chọn, hãy đưa ra một đề xuất, không phải một khảo sát5đầy đủ.
- Chống mạ vàng (cho mọi prompt công nhân; đây là hàng rào chính thức xung quanh việc làm quá nhiều):
1Đừng thêm tính năng, tái cấu trúc hoặc giới thiệu các trừu tượng hóa vượt quá2những gì tác vụ yêu cầu. Một bản sửa lỗi không cần dọn dẹp xung quanh. Đừng3thiết kế cho các yêu cầu trong tương lai giả định: hãy làm điều đơn giản nhất4hoạt động tốt. Đừng thêm xử lý lỗi hoặc xác thực cho các kịch bản không thể5xảy ra. Chỉ xác thực tại các ranh giới hệ thống.
- Tuyên bố tiến độ có căn cứ (cho bất kỳ lần chạy dài nào; trong thử nghiệm của Anthropic, điều này gần như loại bỏ các báo cáo trạng thái bịa đặt):
1Trước khi báo cáo tiến độ, hãy kiểm tra từng tuyên bố dựa trên kết quả công cụ2từ phiên này. Chỉ báo cáo công việc mà bạn có thể chỉ ra bằng chứng; nếu điều3gì đó chưa được xác minh, hãy nói rõ như vậy. Nếu các bài kiểm tra thất bại,4hãy nói như vậy với đầu ra; nếu một bước bị bỏ qua, hãy nói điều đó.
- Nhắc nhở đường ống tự động (cho mọi prompt do cron điều khiển; loại bỏ điểm dừng sớm "Tôi sẽ chạy X"):
1Bạn đang hoạt động tự động. Người dùng không xem và không thể trả lời câu hỏi2giữa tác vụ. Đối với các hành động có thể đảo ngược theo sau từ yêu cầu ban đầu,3hãy tiến hành mà không cần hỏi. Trước khi kết thúc lượt của bạn, hãy kiểm tra4đoạn cuối cùng của bạn: nếu nó là một kế hoạch, một câu hỏi hoặc một lời hứa về5công việc bạn chưa làm, hãy làm công việc đó ngay bây giờ với các lệnh gọi công6cụ. Kết thúc chỉ khi tác vụ hoàn thành hoặc bạn bị chặn bởi đầu vào chỉ người7dùng mới có thể cung cấp.
- Định dạng bộ nhớ chính thức (cho người mơ và memory/learnings/):
1Lưu trữ một bài học mỗi tệp với một bản tóm tắt một dòng ở đầu. Ghi lại các2sửa chữa và các phương pháp đã được xác nhận như nhau, bao gồm lý do tại sao3chúng quan trọng. Đừng lưu những gì repo đã ghi lại; cập nhật các ghi chú hiện4có thay vì sao chép; xóa các ghi chú hóa ra là sai.
- Hướng dẫn xác minh chính thức (tài liệu nói trực tiếp: "các tác nhân con xác minh ngữ cảnh mới, riêng biệt có xu hướng hoạt động tốt hơn tự phê bình"):
1Thiết lập một phương pháp để kiểm tra công việc của chính bạn ở khoảng thời gian2[X] khi bạn xây dựng. Chạy việc này mỗi [khoảng thời gian X], xác minh công việc3của bạn với các tác nhân con dựa trên đặc tả.
Hai mệnh lệnh giàn giáo từ tài liệu đáng tuân theo: bắt đầu ở đầu phạm vi khó khăn của bạn (chỉ thử nghiệm Fable trên các khối lượng công việc đơn giản là bán rẻ nó; hãy giao cho nó vấn đề khó chưa giải quyết nhất và để nó xác định phạm vi), và tái cấu trúc các kỹ năng cũ (các hướng dẫn được viết cho các mô hình trước đó thường quá mệnh lệnh cho Fable 5 và LÀM GIẢM chất lượng đầu ra; nếu hiệu suất mặc định tốt hơn nếu không có hướng dẫn, hãy xóa hướng dẫn đó).
KIỂM TRA 0: Mọi lệnh gọi claude -p trong script của bạn có một max_tokens lớn rõ ràng ở nơi được hỗ trợ; script của bạn kiểm tra stop_reason: "refusal"; không có prompt hoặc kỹ năng nào ở bất cứ đâu nói "hiển thị suy nghĩ của bạn."
BUILD 1: Hiến pháp (CLAUDE.md)
Tại sao, trong một dòng: Fable tuân theo luật và tối ưu hóa xung quanh các mẹo, vì vậy mọi dòng cần một con số, một "không bao giờ" hoặc một lệnh kiểm tra nó.
Các quy tắc cho tệp: bốn khối, dưới 150 dòng, không có "suy nghĩ từng bước" (lý luận luôn bật; đó là các token phải trả tiền), không có tính cách tác nhân được xác định trước (Fable thiết kế các nhóm tốt hơn bạn có thể xác định trước), chủ yếu là các biển báo dừng.
Tạo CLAUDE.md:
1# CLAUDE.md23## KHÔNG BAO GIỜ (luật; các ngoại lệ yêu cầu hỏi trước)4- Không bao giờ vượt quá 200 dòng thay đổi trong một commit mà không hỏi.5- Không bao giờ chạm vào src/auth/, src/billing/, migrations/ hoặc cấu hình sản xuất khi không có giám sát.6- Không bao giờ báo cáo công việc là đã hoàn thành từ đánh giá của chính bạn. Hoàn thành = bài kiểm tra đã vượt qua.7- Không bao giờ phát minh ra một bí mật, một điểm cuối hoặc một quy ước. Dừng lại và hỏi.8- Không bao giờ thêm một phụ thuộc. Đề xuất nó trong STATE.md và dừng lại.9- Không bao giờ vượt quá nỗ lực cao bên trong bất kỳ vòng lặp nào. xhigh chỉ dành cho các bài đánh giá một lần.10- Không bao giờ chỉnh sửa hoặc xóa một bài kiểm tra để làm cho nó vượt qua. Đó là một sự thất bại, luôn luôn.11- Không bao giờ lặp lại, ghi lại hoặc giải thích lý luận nội bộ của bạn trong văn bản phản hồi.12 (Chính thức: kích hoạt các từ chối reasoning_extraction trên Fable 5.)13- Khi một điều kiện /goal vượt qua, hãy viết goals/<tên>.md với điều kiện đó như14 vị từ của nó trước khi báo cáo thành công.1516## ĐIỀU PHỐI (định tuyến mọi tác vụ; kết quả khớp đầu tiên thắng; ghi nhật ký vào memory/dispatch.tsv)17| model | marginal | appetite | intelligence | taste |18|-----------------|----------|----------|--------------|-------|19| claude-fable-5 | 2 (credits) | 3 | 10 | 10 |20| claude-opus-4-8 | 7 (sub) | 6 | 8 | 9 |21| claude-sonnet-5 | 9 (sub) | 8 | 7 | 7 |22| codex (2nd sub) | 9 | 10 | 9 | 5 |231. Quyết định (lập kế hoạch/xem xét/định tuyến/bế tắc) -> fable-5, nỗ lực cao, chỉ đọc.242. Đọc >50k token (nhật ký/PDF/ảnh chụp màn hình) -> codex. Không bao giờ fable.253. Gửi đến người dùng (UI/API/bản sao) -> taste >= 8 có lượt cuối cùng.264. Đặc tả hoàn chỉnh -> sonnet-5, nỗ lực trung bình.275. Khác sonnet-5; leo lên một bậc khi bỏ lỡ mà không cần hỏi.2829## TỪ NGỮ30- "intelligence" = vấn đề khó nhất được xử lý không giám sát31- "taste" = UI/UX, chất lượng mã, thiết kế API, bản sao32- "done" = vị từ vượt qua; không có gì khác33- "small" = dưới 50 dòng thay đổi; "quick" = dưới 10 phút thời gian của bạn34- "cleanup" = hành vi giống hệt, verify.sh xanh trước và sau3536## HOÀN THÀNH37- Mọi tác vụ có một done_when có thể kiểm tra bằng máy trước khi công việc bắt đầu.38- Một tác nhân ngữ cảnh mới không thấy kế hoạch hoặc bản nháp sẽ xác minh dựa trên nó.39- guardrails/verify.sh có lá phiếu cuối cùng.40- Sai lệch: tùy chọn bảo thủ, ghi nhật ký vào IMPLEMENTATION.md, tiếp tục.41- Người tạo và người kiểm tra không đồng ý hai lần -> dừng lại, xếp hàng chờ con người.
Chỉnh sửa các số và đường dẫn cho phù hợp với bạn. Nội dung cụ thể về quy trình làm việc (quy trình PR, danh sách kiểm tra phát hành) đi trong skills/, không phải ở đây.
KIỂM TRA 1: Đối với mỗi dòng, hãy hỏi: liệu mô hình có thể tuân thủ 80% và tuyên bố thành công không? Nếu có, hãy viết lại nó với một con số hoặc một "không bao giờ". wc -l CLAUDE.md dưới 150
BUILD 2: Tường và Cổng
Tại sao: bán kính vụ nổ phải được khai báo trước nhịp tim đầu tiên và một script bash phải nắm giữ lá phiếu cuối cùng.
Tạo loop/contract.md:
1## hành động một mình2tạo PR nháp trên các nhánh; sửa nợ lint/kiểm tra; cập nhật STATE.md; gắn nhãn issue34## xếp hàng chờ tôi5xác thực, thanh toán, di chuyển; bất kỳ kỹ năng nào dưới cấp "auto"; bất kỳ diff nào > 400 dòng67## đánh thức tôi8xác minh thất bại hai lần trên cùng một mục9bộ định tuyến bảo vệ đã hoán đổi mô hình giữa chừng10ngân sách hàng ngày bị vi phạm11bất cứ thứ gì yêu cầu một bí mật12một mục tiêu thường trực bị VI PHẠM
Tạo loop/guardrails/verify.sh (chỉnh sửa cho stack của bạn):
1#!/usr/bin/env bash2set -e3npm run typecheck --if-present4npm test --if-present5npm run lint --if-present
KIỂM TRA 2: ./loop/guardrails/verify.sh chạy và thoát 0 trên repo hiện tại của bạn. Nếu nó thất bại bây giờ, hãy sửa nó trước; toàn bộ hệ thống đứng trên script này.
BUILD 3: Nhịp tim
Tại sao, trong ba dòng: Fable với tư cách là công nhân là một hóa đơn bốn con số (các phiên 500k-1M token ở $50/M đầu ra); Fable với tư cách là người điều phối phát ra 10-20% token trong khi đưa ra 100% quyết định. Một mô hình $0.01 đọc các nhịp tim yên tĩnh. Các tác nhân bàn giao thông qua một lược đồ JSON để bất kỳ mô hình nào cũng có thể phù hợp với bất kỳ vị trí nào.
Tạo loop/triage.md:
1Bạn nhận được các commit gần đây, issue mở và các lần chạy CI. Chỉ xuất ra CÁC PHÁT HIỆN:2- finding: <một dòng>3 evidence: <id commit/issue/run>4 status: actionable | informational5Không sửa chữa, không ý kiến. Không có gì để báo cáo = xuất ra chính xác "status: quiet".6Bất cứ thứ gì chạm đến xác thực, thanh toán, di chuyển, bí mật = luôn luôn actionable,7được ghi chú "contract-sensitive".
Tạo loop/conductor.md:
1Bạn là người điều phối. Bạn không viết mã. Bạn không chỉnh sửa tệp.21. Đọc STATE, SỔ CÁI TIN CẬY, HỢP ĐỒNG bên dưới. Đừng tin vào bộ nhớ của chúng.32. Chọn MỘT mục actionable có giá trị cao nhất.4 contract-sensitive, mơ hồ hoặc có khả năng diff >400 dòng -> action: queue5 không có gì đáng làm -> action: stop63. Khác action: execute, với một đặc tả mà một mô hình tầm thường có thể làm theo.7Chỉ xuất ra JSON này:8{ "action": "execute|queue|stop", "item": "...", "skill": "<kebab-case,9ổn định qua các lần chạy>", "spec": "...", "done_when": ["<có thể xác minh>", ...] }10Bạn rất đắt. Hãy ngắn gọn. Đầu ra của bạn là một quyết định, không phải một bài luận.
Tạo loop/workers/implement.md:
1Bạn nhận được một lệnh công việc (JSON). Thực thi đặc tả một cách chính xác.2Làm MỘT bước tiếp theo hướng tới done_when. Các diff nhỏ thắng.3Thiếu thông tin xác thực hoặc quyết định không được ghi lại -> DỪNG LẠI, viết câu hỏi vào4IMPLEMENTATION.md. Không bao giờ phát minh ra bí mật hoặc quy ước.5Ghi lại những gì bạn đã làm và tại sao trong IMPLEMENTATION.md (tối đa 3 dòng).
Tạo loop/workers/verify.md:
1Bạn nhận được một ĐẶC TẢ và một DIFF, không có gì khác. Chỉ đánh giá những gì ở trước mặt bạn.21. Diff có thỏa mãn mọi done_when không? Trích dẫn các dòng.32. Bất cứ thứ gì ngoài phạm vi của đặc tả? Thất bại ngay lập tức. Các bài kiểm tra bị xóa/bỏ qua? Thất bại ngay lập tức.4Xuất ra chính xác một dòng: "PASS: <lý do>" hoặc "FAIL: <lý do>".5Người tạo rất tự tin. Đó không phải là bằng chứng.
Tạo loop/loop.sh:
1#!/usr/bin/env bash2set -euo pipefail3cd "$(dirname "$0")"4MAX_ITERS="${MAX_ITERS:-10}"5DAILY_BUDGET_USD="${DAILY_BUDGET_USD:-5}"6CHEAP="${CHEAP:-openrouter/deepseek/deepseek-v4-flash}"7WORKER="${WORKER:-openrouter/moonshotai/kimi-k2.6}"89./scripts/cost-check.sh --budget "$DAILY_BUDGET_USD" || exit 31011for ((i=1; i<=MAX_ITERS; i++)); do12 # 1 PHÂN LOẠI: cổng nhịp yên tĩnh, ~$0.0113 { git log --oneline -20; gh issue list --limit 20 2>/dev/null || true; \14 gh run list --limit 10 2>/dev/null || true; } \15 | llm -m "$CHEAP" -s "$(cat triage.md)" >> memory/STATE.md16 ./scripts/log-cost.sh triage 0.0117 grep -q "status: actionable" memory/STATE.md || { echo quiet; exit 0; }1819 # 2 ĐIỀU PHỐI: Fable, xhigh, ngữ cảnh mới, chỉ đọc, đầu ra JSON20 claude -p "$(cat conductor.md)21STATE: $(cat memory/STATE.md)22TRUST: $(./scripts/trust-log.sh --render)23CONTRACT: $(cat contract.md)" \24 --model claude-fable-5 --effort xhigh --allowedTools "Read" \25 --output-format json > /tmp/c.json26 ./scripts/log-cost.sh conductor 0.352728 # 2a DUNG SAI ĐỊNH TUYẾN: không bao giờ lặp lại trên một mô hình bạn không chọn29 SERVED=$(jq -r '.modelUsage | keys[0] // "claude-fable-5"' /tmp/c.json)30 [[ "$SERVED" != *fable* ]] && { echo "rerouted" >> memory/STATE.md; exit 2; }3132 jq -r '.result' /tmp/c.json > work-order.json33 SKILL=$(jq -r .skill work-order.json); ACTION=$(jq -r .action work-order.json)34 [[ "$ACTION" == stop ]] && exit 035 [[ "$ACTION" == queue ]] && { echo "queued: $SKILL" >> memory/STATE.md; continue; }3637 # 3 THỰC THI: công nhân rẻ, cây làm việc biệt lập38 WT="../wt-$i"; git worktree add "$WT" -b "loop/$SKILL-$i" >/dev/null39 ( cd "$WT" && llm -m "$WORKER" -s "$(cat "$OLDPWD/workers/implement.md")" \40 "$(cat "$OLDPWD/work-order.json")" > IMPLEMENTATION.md )41 ./scripts/log-cost.sh worker 0.104243 # 4 XÁC MINH: Fable mới, không có công cụ, chỉ thấy đặc tả + diff44 V=$(claude -p "$(cat workers/verify.md)45SPEC: $(jq -r .spec work-order.json)46DIFF: $(cd "$WT" && git diff)" \47 --model claude-fable-5 --effort high --allowedTools "" \48 --output-format json | jq -r .result)49 ./scripts/log-cost.sh verifier 0.405051 # 5 CỔNG: tất định; sau đó sổ cái; gửi hàng chỉ ở cấp auto52 if [[ "$V" == PASS* ]] && ( cd "$WT" && "$OLDPWD/guardrails/verify.sh" ); then53 ./scripts/trust-log.sh "$SKILL" pass54 if [[ "$(./scripts/trust-log.sh --tier "$SKILL")" == auto ]]; then55 ( cd "$WT" && git add -A && git commit -qm "loop: $SKILL" && gh pr create --fill || true )56 echo "- shipped: $SKILL" >> memory/STATE.md57 else58 echo "- review: $SKILL in $WT" >> memory/STATE.md59 fi60 else61 ./scripts/trust-log.sh "$SKILL" fail62 echo "- FAILED: $SKILL in $WT" >> memory/STATE.md63 fi64 ./scripts/cost-check.sh --budget "$DAILY_BUDGET_USD" || exit 365done66exit 1 # giới hạn lặp mà không dừng: kiểm tra STATE.md
Bản đồ thoát: 0 yên tĩnh/xong, 1 giới hạn, 2 định tuyến lại, 3 ngân sách. Tất cả đều được gắn nhãn, có chủ đích.
KIỂM TRA 3: chmod +x loop.sh guardrails/verify.sh sau đó chạy ./loop.sh một lần bằng tay. Xác nhận: một repo yên tĩnh thoát 0 với giá khoảng một xu; một repo có thể hành động tạo ra work-order.json với tất cả năm trường và một dòng phán quyết trong STATE.md.
BUILD 4: Sổ cái tin cậy
Tại sao: "tăng quyền tự chủ khi niềm tin lớn lên" không phải là một cơ chế; một TSV với các quy tắc cấp bậc mới là. Quyền tự chủ là theo từng kỹ năng, không phải theo từng vòng lặp.
Tạo loop/scripts/trust-log.sh:
1#!/usr/bin/env bash2# cách dùng: trust-log.sh <skill> <pass|fail> | --render | --tier <skill>3set -euo pipefail4F="$(dirname "$0")/../memory/trust.tsv"; touch "$F"5tier_of() { awk -v r="$1" -v p="$2" 'BEGIN{6 rate=(r>0)?p/r:07 if (r>=20 && rate>=0.95) print "auto"8 else if (r<10 || rate<0.90) print "watch"9 else print "queue"}'; }10case "${1:-}" in11 --render)12 printf "%-20s %5s %5s %6s %s\n" skill runs pass rate tier13 while IFS=$'\t' read -r s r p; do [ -z "$s" ] && continue14 printf "%-20s %5s %5s %5s%% %s\n" "$s" "$r" "$p" \15 "$(awk -v r="$r" -v p="$p" 'BEGIN{printf "%.0f",(r>0)?p/r*100:0}')" \16 "$(tier_of "$r" "$p")"; done < "$F";;17 --tier)18 line=$(grep -P "^${2}\t" "$F" || echo -e "${2}\t0\t0")19 tier_of "$(cut -f2 <<<"$line")" "$(cut -f3 <<<"$line")";;20 *)21 awk -v s="$1" -v r="$2" -F'\t' 'BEGIN{OFS="\t"; f=0}22 $1==s {f=1; print s,$2+1,$3+(r=="pass"); next} {print}23 END{if(!f) print s,1,(r=="pass")?1:0}' "$F" > "$F.t" && mv "$F.t" "$F"24 if [ "$2" = fail ]; then25 runs=$(grep -P "^${1}\t" "$F" | cut -f2)26 [ "$("$0" --tier "$1")" = watch ] && [ "$runs" -ge 10 ] \27 && echo "CẢNH BÁO: $1 bị giáng cấp xuống watch sau $runs lần chạy" >&2 || true28 fi;;29esac
- Quy tắc cấp bậc: auto = 20+ lần chạy VÀ 95%+ vượt qua, gửi hàng không cần giám sát. queue = bản nháp đã xác minh chờ bạn. watch = dưới 10 lần chạy hoặc dưới 90%, chỉ bản nháp. Giáng cấp là tự động và in ra stderr, mà cron sẽ gửi email cho bạn.
- Gieo hạt giống đội hình: tạo loop/skills/<tên>/SKILL.md cho mỗi công việc định kỳ (sửa nợ lint, sửa kiểm tra không ổn định, nâng cấp phụ thuộc, phân loại issue là bốn tiêu chuẩn). Mỗi tệp: frontmatter (tên, mô tả, khi nào), các bước, danh sách "không bao giờ", một điều kiện hoàn thành có thể xác minh. Mọi kỹ năng bắt đầu ở watch.
KIỂM TRA 4: Chạy ./scripts/trust-log.sh demo pass 21 lần, sau đó --tier demo in ra auto. Ghi nhật ký một lần thất bại trên một kỹ năng có 10+ lần chạy và thấy CẢNH BÁO trên stderr. Đặt lại: > memory/trust.tsv.
BUILD 5: Mục tiêu thường trực + Sổ cái mục tiêu
Tại sao, trong một dòng: một mục tiêu bạn chỉ xác minh một lần là một giả định có dấu thời gian, vì vậy các mục tiêu đã hoàn thành sẽ tốt nghiệp thành các bất biến được xác minh lại hàng ngày và được ghi nhật ký.
Tạo một tệp cho mỗi thứ đã hoàn thành, goals/<tên>.md:
1predicate: cd $REPO && npm test -- tests/auth 2>&1 | tail -1 | grep -q passing2born: 2026-07-063source: /goal session 2026-07-06 (fix auth flake)4status: satisfied5last-pass: 2026-07-066on-violation: đánh thức tôi. Không tự động sửa.7retire-when: mô-đun auth bị xóa. Nghỉ hưu là quyết định của con người, được ghi lại.
Tạo loop/verify-goals.sh:
1#!/usr/bin/env bash2set -uo pipefail3LEDGER="memory/goal-ledger.tsv"; VIOLATIONS=04for g in goals/*.md; do5 [ -e "$g" ] || continue6 grep -q '^status: retired' "$g" && continue7 pred=$(grep '^predicate:' "$g" | cut -d' ' -f2-); name=$(basename "$g" .md)8 start=$(date +%s%3N)9 if timeout 60 bash -c "$pred" >/dev/null 2>&1; then r=pass10 sed -i "s/^status:.*/status: satisfied/; s/^last-pass:.*/last-pass: $(date +%F)/" "$g"11 else r=FAIL; VIOLATIONS=$((VIOLATIONS+1)); sed -i "s/^status:.*/status: VIOLATED/" "$g"; fi12 echo -e "$(date -Is)\t$name\t$r\t$(( $(date +%s%3N) - start ))" >> "$LEDGER"13done14[ "$VIOLATIONS" -gt 0 ] && { grep -l '^status: VIOLATED' goals/*.md; exit 1; }15echo "tất cả các mục tiêu thường trực đều được giữ vững"
Khởi động trình giám sát (chỉ phát hiện; các bản sửa lỗi đi qua đường ống bình thường):
1/loop 1d Chạy ./verify-goals.sh. Nếu khác không: cho mỗi mục tiêu bị vi phạm, đọc2ngày vượt qua cuối cùng của nó và liệt kê những gì đã được hợp nhất kể từ đó (git log --oneline --since=<ngày>).3Báo cáo mục tiêu, nghi phạm, chính sách on-violation. Không sửa bất cứ thứ gì.
Luật tốt nghiệp đã có trong CLAUDE.md (BUILD 1): mọi /goal vượt qua đều viết mục tiêu thường trực của riêng nó. Hoàn thành CHÍNH LÀ sự đăng ký.
Các truy vấn sổ cái bạn sẽ thực sự sử dụng:
1awk -F'\t' '$3=="FAIL"{n[$2]++} END{for(g in n) print n[g],g}' memory/goal-ledger.tsv | sort -rn | head -5 # flakiest2grep <goal> memory/goal-ledger.tsv | awk -F'\t' '$3=="FAIL"' | head -1 # when it broke
Vị từ không ổn định: quarantine (trạng thái: retired, ghi chú "cần một vị từ tốt hơn"), không bao giờ xóa.
KIỂM TRA 5: Thêm một goal với vị từ: true và một goal với vị từ: false. ./verify-goals.sh thoát với mã 1, chuyển goal thứ hai thành VIOLATED, và cả hai đều xuất hiện trong ledger. Xóa các goal giả.
BUILD 6: Ngân sách
Tại sao: chi phí hàng ngày = số lần tick × triage + số lần hit × (conductor + worker + verifier). Với giá thực tế (triage $0.01, conductor $0.35, worker $0.10, verifier $0.40): một janitor hàng ngày tốn ~$2.56/ngày; một babysitter 15 phút với Fable ở vị trí triage tốn $34/ngày cho cùng một kết quả. Mô hình đọc các tick yên tĩnh quyết định hóa đơn.
Tạo loop/scripts/log-cost.sh:
1#!/usr/bin/env bash2echo -e "$(date -Is)\t$1\t$2" >> "$(dirname "$0")/../memory/usage.log"
Tạo loop/scripts/cost-check.sh:
1#!/usr/bin/env bash2set -euo pipefail3F="$(dirname "$0")/../memory/usage.log"; touch "$F"; TODAY=$(date +%F)4case "${1:-}" in5 --budget)6 spent=$(awk -F'\t' -v d="$TODAY" '$1 ~ d {s+=$3} END{printf "%.2f",s}' "$F")7 awk -v s="$spent" -v b="$2" 'BEGIN{exit (s>=b)?1:0}' \8 || { echo "đã chi \$$spent trong tổng \$$2" >&2; exit 1; };;9 --report)10 awk -F'\t' -v since="$(date -d '7 days ago' +%F)" \11 '$1>=since{s[$2]+=$3;t+=$3} END{for(k in s) printf " %-10s $%.2f\n",k,s[k]; printf " TỔNG $%.2f\n",t}' "$F";;12esac
Các quy tắc giữ cho nó ổn định: nhịp độ là một quyết định chi phí (giảm một nửa khoảng thời gian sẽ nhân đôi mức sàn); tick yên tĩnh phải có giá cent; effort không bao giờ vượt quá high trong các vòng lặp (xhigh dành cho các đánh giá một lần; effort là cho mỗi bước, không phải mỗi lần chạy).
KIỂM TRA 6: Sau một tuần tick, ./scripts/cost-check.sh --report khớp với công thức trong phạm vi sai số. Đặt DAILY_BUDGET_USD thành một con số mà bạn không ngại lãng phí.
BUILD 7: Các vòng lặp tùy chọn (cài đặt khi điều kiện của chúng xuất hiện)
- Quorum (cài đặt khi dispatch hiển thị các lần đánh thức Fable tạo ra hành động: dừng). Ba mô hình rẻ tiền bỏ phiếu; Fable thức dậy khi có 2 trên 3 phiếu. Những người bỏ phiếu không bao giờ thấy câu trả lời của nhau.
1V=02for m in deepseek/deepseek-v4-flash qwen/qwen-3.6 moonshotai/kimi-k2.6; do3 llm -m "openrouter/$m" -s "$(cat triage.md)" < /tmp/signals.txt \4 | grep -q "status: actionable" && V=$((V+1))5done6[ "$V" -ge 2 ] && exec ./conduct.sh || echo "quorum: yên tĩnh ($V/3)"
- Ratchet (cài đặt khi một con số có ý nghĩa). Cải thiện đơn điệu hoặc tự động hoàn nguyên; số liệu không thể bị gian lận; mức sàn đã hoàn thành trở thành một goal cố định.
1/goal Giảm `npm run lint 2>&1 | grep -c warning` xuống 0.2Quyền hạn: chỉnh sửa src/; commit cho mỗi lần sửa; đo lại sau mỗi thay đổi.3Rào cản: con số KHÔNG BAO GIỜ tăng lên; hoàn nguyên bất kỳ thay đổi nào làm tăng nó hoặc phá vỡ4một bài kiểm tra; không bao giờ chỉnh sửa cấu hình lint để giảm nó.5Giới hạn thời gian: dừng sau 3 lần thử không có tiến triển; báo cáo các vấn đề còn lại.
- Sparring (cài đặt khi bạn ship code hàng ngày). Người xây dựng và người phá vỡ, đối lập nhau; không ai động đến đầu ra của người kia; tranh chấp sẽ đến tay bạn.
1/loop 1d [người phá vỡ] Đọc các diff đã được merge hôm qua. Viết MỘT bài kiểm tra thất bại2phơi bày một điểm yếu thực sự. Commit dưới tests/sparring/ được gắn thẻ @sparring.3Không sửa gì cả. Code tốt = hãy nói vậy, không viết gì.4/loop 1d [người xây dựng] Nếu bất kỳ bài kiểm tra @sparring nào thất bại, hãy sửa CODE cho đến khi nó vượt qua.5Không bao giờ chỉnh sửa, làm yếu đi hoặc xóa bài kiểm tra sparring; tranh chấp xếp hàng chờ tôi.
- Compost (luôn cài đặt, hàng tuần). Các thất bại trở thành luật; tối đa ba đề xuất; cần chữ ký của con người.
1/loop 7d Đọc các đầu ra của tuần này: FAILED trong STATE.md, fails trong trust.tsv,2FAIL trong goal-ledger.tsv, PR đã đóng nhưng chưa merge. Trích xuất TỐI ĐA 3 đề xuất:3một luật CLAUDE.md mới (trích dẫn sự cố), một sửa lỗi kỹ năng (cùng một lỗi lặp lại),4hoặc một goal cố định mà chúng ta còn thiếu. Chỉ đề xuất. Tuần sạch sẽ = hãy nói vậy.
KIỂM TRA 7: Mỗi vòng lặp tùy chọn có điều kiện cài đặt được viết bên cạnh nó trong ghi chú của bạn. Cài đặt chúng một cách suy đoán là cách các hệ thống phình to.
BUILD 8: Vận hành
Tạo Makefile:
1tick: ; ./loop/loop.sh2queue: ; @grep -E "review:|queued:|FAILED:|rerouted" loop/memory/STATE.md || echo trống3trust: ; @./loop/scripts/trust-log.sh --render4audit: ; @./loop/scripts/cost-check.sh --report5goals: ; @./loop/verify-goals.sh6clean-worktrees: ; @git worktree list | awk '/wt-/{print $$1}' | xargs -rn1 git worktree remove --force
Cron, khi Tuần 2 bắt đầu:
10 7 * * 1-5 cd /path/to/repo/loop && ./loop.sh >> memory/cron.log 2>&1230 7 * * * cd /path/to/repo/loop && ./verify-goals.sh >> memory/cron.log 2>&1
Lịch trình tin cậy 30 ngày
Đừng bỏ qua các lần tốt nghiệp; mỗi lần mở khóa lần tiếp theo.
Tuần
Cấp độ
Bạn làm
Tốt nghiệp khi
1
Báo cáo L1
Builds 1-6;
make tick
bằng tay hàng ngày; đọc mọi thứ
3 lần chạy liên tiếp định tuyến chính xác như bạn đã làm
2
Bản nháp L2
bật cron;
make queue
với cà phê; các đánh giá nuôi dưỡng ledger
2 kỹ năng vượt qua 20 lần chạy được ghi nhận
3
Ship L3
make audit
so với công thức; kỹ năng tốt nhất hoạt động không cần giám sát
1 tuần, không can thiệp
4
Phát triển L4
compost ký duyệt; phê duyệt 1 kỹ năng được đề xuất; chạy bước xóa
bạn đã xóa thứ gì đó và không có gì bị hỏng
Sổ tay vận hành. Ý nghĩa của từng cảnh báo và phải làm gì:
Tín hiệu
Ý nghĩa
Hành động
exit 2 (reroute)
bộ định tuyến bảo vệ đã hoán đổi mô hình giữa chừng
đọc checkpoint; chạy lại mục vào ngày mai; không bao giờ lặp lại trên đầu ra đã bị hoán đổi
stop_reason: refusal
bộ phân loại an toàn từ chối (HTTP 200, không phải lỗi)
đường dẫn chính thức: dự phòng sang Opus 4.8 qua
fallbacks
hoặc middleware; nếu lặp lại trên một kỹ năng, hãy kiểm tra kỹ năng đó về lỗi lặp lại suy luận hoặc cụm từ liên quan đến mạng/ sinh học
exit 3 (budget)
chi tiêu hàng ngày chạm ngưỡng
make audit
; tìm giai đoạn nào đã tăng; sửa bản đồ effort, không phải ngân sách
ALERT bị giáng cấp
một kỹ năng đã được thiết lập giảm xuống dưới 90%
đọc 3 lần thất bại gần nhất của nó; thường là mẫu spec, không phải worker
goal VIOLATED
một thứ đã hoàn thành không còn đúng nữa
sentinel đưa ra nghi phạm; sửa lỗi thông qua pipeline bình thường
bế tắc maker/checker x2
không bên nào được cho là đúng
bạn quyết định, hoặc chạy bộ phá bế tắc (người đánh giá mới thứ ba, đánh giá bằng chứng, không được chia đôi)
verify-goals timeout
vị từ quá đắt
đó là một vi phạm; làm rẻ hơn vị từ
Các quy tắc (in cái này)
- Luật, không phải mẹo: một con số, một "không bao giờ", hoặc một lệnh kiểm tra nó.
- Conductor lập kế hoạch, worker thực thi, không ai xác minh. --allowedTools thực thi điều này.
- Agent giao tiếp bằng lệnh công việc. done_when = spec + điều kiện dừng + bất biến tương lai.
- Dành effort nơi vòng lặp rẽ nhánh. Không bao giờ vượt quá high trong một vòng lặp.
- Tick yên tĩnh tốn một xu hoặc vòng lặp tốn một nghìn đô.
- Nếu một shell script không thể kiểm tra nó, đừng viết nó thành một goal.
- Goal tốt nghiệp; chúng không đóng lại. verify-goals.sh chạy hàng ngày, mãi mãi.
- Tự chủ cho mỗi kỹ năng: 20 lần chạy, 95%, tự động. Giáng cấp tự động và ồn ào.
- Hai ledger: trust (worker) và goals (công việc). Đọc cả hai với cà phê.
- Tính toán sự trao đổi chất trước khi bạn cron.
- Hợp đồng trong repo: tự hoạt động / xếp hàng / đánh thức tôi.
- Không bao giờ lặp lại trên đầu ra từ một mô hình bạn không chọn.
- Sentinel phát hiện; pipeline sửa lỗi.
- Quorum trước khi đánh thức Fable. Ratchet sau đó hàn. Spar hàng ngày. Compost hàng tuần.
- Một tiêu chí tốt nghiệp tại một thời điểm. Mỗi tháng, xóa một thứ gì đó.
- Từ tài liệu chính thức: max_tokens giới hạn suy nghĩ cộng với văn bản, từ chối là HTTP 200, không bao giờ yêu cầu suy luận được lặp lại, kỹ năng cũ làm giảm Fable, và verifier ngữ cảnh mới tốt hơn tự phê bình. Anthropic nói vậy; hệ thống thực thi nó.
Kết luận
Ba mươi ngày kể từ bây giờ, nếu bạn đã làm các kiểm tra: một vòng lặp ship công việc nhàm chán mà không cần giám sát, một thư mục goals xác minh lại mọi thứ bạn từng hoàn thành, hai ledger cho bạn biết sự thật về worker và công việc của bạn, và một lần chạy compost hàng tuần đề xuất cải tiến tiếp theo của chính hệ thống để bạn ký duyệt.
- Mô hình chưa bao giờ là phần khó khăn. Phần khó khăn là xây dựng một thứ xung quanh nó luôn trung thực khi bạn ngừng theo dõi. Đó là thứ bạn vừa xây dựng.
- Bắt đầu tối nay với hai mươi phút chứng minh điều đó: BUILD 2's verify.sh, BUILD 3's tick đầu tiên bằng tay, và một goal cố định cho thứ cuối cùng bạn đã hoàn thành.
- Lần đầu tiên verify-goals.sh bắt được một sự thoái lui thầm lặng trên thứ bạn chắc chắn đã xong, bạn sẽ không cần thuyết phục về phần còn lại.
Tuyên bố miễn trừ trách nhiệm
Bài viết này được viết bằng cách sử dụng ghi chú của người dùng và được chỉnh sửa bởi Claude Opus 4.8 max.





