Tôi đã ngừng đặt câu lệnh cho Claude Fable 5 và chuyển sang thuê nó làm việc

@gippp69
TIẾNG ANH2 ngày trước · 13 thg 7, 2026
137K
116
3
30
150

TL;DR

Thay đổi cách bạn tương tác với AI bằng cách coi Claude Fable 5 như một nhân viên được quản lý. Khung làm việc này sử dụng các ca làm việc đa mô hình và các rào cản tự động để đảm bảo công việc tự chủ đạt chất lượng cao và tiết kiệm chi phí.

Bạn không quản lý một nhân viên bằng cách gõ từng lệnh một. Bạn đưa cho họ một hợp đồng, một thời gian thử việc, và một cách để đo lường xem họ có còn xứng đáng với đồng lương hay không. Fable 5 cũng xứng đáng được đối xử như vậy.

Đây là vấn đề. Fable 5 có thể chạy hàng giờ mà không cần bạn, tự động tạo ra các tác nhân phụ, và hoàn thành một tuần công việc tồn đọng chỉ trong một đêm. Nhưng nó cũng tiêu tốn tiền thật cho mỗi token, nó làm quá nhiều ngay khi bạn để ngỏ phạm vi, và nó sẽ bảo vệ một câu trả lời sai tốt hơn hầu hết mọi người bảo vệ một câu trả lời đúng.

Nếu không được quản lý, nó là một cách đắt đỏ để tạo ra những điều vô nghĩa một cách tự tin. Nếu được đặt trong một hợp đồng, nó là thứ gần nhất với một nhân viên toàn thời gian mà bạn có thể chạy với vài đô la một ngày.

Đây chính là hợp đồng đó. Không phải lý thuyết. Mà là các tệp thực tế, theo thứ tự bạn viết chúng, được xây dựng dựa trên một triển khai thực tế: các bot giám sát mà tôi đã chạy trên một VPS ở Paris thông qua pm2. Luồng xác thực và bảng thanh toán không phải là bề mặt tấn công của tôi. Khóa RPC, địa chỉ ví, và các giao dịch blockchain trực tiếp mới là. Hệ thống dưới đây được xây dựng cho việc đó, không phải cho một kho lưu trữ SaaS chung chung.

Năm phần. Mỗi phần cung cấp một tệp. Tổng thời gian thiết lập: dưới hai giờ.

Thiết lập

bash
1claude CLI (Claude Code) với quyền truy cập Fable 5 # tín dụng sử dụng, có giới hạn
2llm CLI + khóa OpenRouter # cho các mô hình giá rẻ
3jq, git, pm2, cron
4một VPS với các bot đã chạy sẵn

Kết quả bạn có được:

text
1agent-contract/
2 CONTRACT.md # Phần 1: các điều khoản làm việc
3 ops/
4 shift.sh # Phần 3: ca làm việc hàng ngày
5 dispatcher.md # prompt điều phối, chỉ dành cho Fable
6 intake.md # trình đọc giá rẻ, đọc log trước
7 worker.md # mô hình giá rẻ, thực hiện việc gõ
8 reviewer.md # Fable mới, kiểm tra công việc
9 boundaries.md # Phần 2: những gì nó có thể và không thể chạm vào
10 guardrails/signoff.sh # Phần 2: xác nhận có/không mang tính quyết định
11 personnel/
12 trust.tsv # Phần 4: ai đã giành được quyền tự chủ
13 standing-checks/ # Phần 4: những điều phải luôn đúng
14 incidents/
15 log.tsv # Phần 5: cái gì đã hỏng và khi nào
16 runbook.md # Phần 5: phải làm gì về nó
17 Makefile

Một quy tắc đáng nhớ trước khi chúng ta bắt đầu, vì nó định hình tông màu cho mọi thứ sau đó:

Một tác nhân tự chấm điểm bài tập của chính mình là một tác nhân tự tăng lương cho mình.

Không có gì trong hệ thống này tự kiểm tra công việc của chính nó. Không một lần nào.

Phần 1: Hợp đồng (CONTRACT.md)

Một hợp đồng lao động không phải là một danh sách các gợi ý. Nó là những con số, những điểm dừng cứng, và những điều khoản được thực thi cho dù người lao động có đồng ý với chúng hay không. Hãy viết tệp này theo cùng một cách. Không có "làm ơn" hay "cố gắng." Một mô hình sẽ tối ưu hóa xung quanh ngôn ngữ mềm mỏng giống như cách một thực tập sinh tối ưu hóa xung quanh một người quản lý không bao giờ kiểm tra.

markdown
1# CONTRACT.md
2
3## ĐIỂM DỪNG CỨNG (không có ngoại lệ, không cần hỏi lại lần hai)
4- Không bao giờ chạm vào khóa ví, tệp .env, hoặc thông tin xác thực RPC nếu không có sự chấp thuận.
5- Không bao giờ đẩy thay đổi lên một tiến trình bot đang hoạt động (pm2 restart) mà không có xác nhận đã qua.
6- Không bao giờ vượt quá 150 dòng đã thay đổi trong một commit duy nhất mà không hỏi trước.
7- Không bao giờ tuyên bố một nhiệm vụ đã hoàn thành dựa trên việc tự đọc kết quả đầu ra.
8 Hoàn thành có nghĩa là tập lệnh xác nhận đã trả về 0. Không có gì khác được tính.
9- Không bao giờ tự phát minh ra một endpoint API, một địa chỉ hợp đồng, hoặc một giá trị cấu hình.
10 Nếu nó không có trong kho lưu trữ, hãy dừng lại và hỏi.
11- Không bao giờ thêm một phụ thuộc mới. Hãy viết nó trong ops/shift-log.md và dừng lại ở đó.
12- Không bao giờ chỉnh sửa hoặc xóa một bài kiểm tra, ngưỡng cảnh báo, hoặc điều kiện giám sát để làm
13 cho một thứ gì đó vượt qua. Đó không phải là sửa lỗi. Đó là gian lận.
14- Không bao giờ chạy ở mức nỗ lực trên "cao" trong một ca làm việc. "xhigh" dành cho các đánh giá
15 một lần do bạn kích hoạt bằng tay, không bao giờ dành cho vòng lặp tự động.
16- Không bao giờ tường thuật hoặc giải thích lý luận nội bộ của bạn trong một phản hồi. Nó có thể bị
17 hiểu là hữu ích. Trên Fable 5, nó có thể kích hoạt bộ phân loại từ chối thay vào đó.
18
19## PHÂN LUỒNG CÔNG VIỆC (ai làm gì, người rẻ nhất có năng lực thắng)
20| model | chi phí mỗi tác vụ | tham vọng | phán đoán | gu thẩm mỹ |
21|------------------|-------------------|-----------|-----------|------------|
22| claude-fable-5 | cao | thấp | 10 | 10 |
23| claude-opus-4-8 | trung bình | trung bình| 8 | 9 |
24| claude-sonnet-5 | thấp | cao | 7 | 7 |
25| cheap OSS worker | thấp nhất | cao nhất | 5 | 4 |
26
271. Quyết định việc cần làm tiếp theo, xem xét một diff, phá vỡ thế hòa -> Fable 5,
28 chỉ đọc, nỗ lực cao.
292. Đọc log thô, dump, hoặc bất cứ thứ gì trên 50k token -> worker giá rẻ.
30 Không bao giờ dùng Fable. Đó là trả mức lương giám đốc để đọc một bảng tính.
313. Bất cứ thứ gì người dùng hoặc chuỗi tương tác trực tiếp -> cần điểm gu thẩm mỹ
32 từ 8 trở lên trước khi xuất xưởng.
334. Mọi thứ khác -> sonnet-5, nỗ lực trung bình, leo thang một cấp nếu sai.
34
35## ĐỊNH NGHĨA
36- "phán đoán" = khả năng xử lý việc khó nhất trên bàn mà không cần giám sát
37- "hoàn thành" = tập lệnh xác nhận đã thoát với mã 0, hoàn toàn dừng lại
38- "nhỏ" = dưới 50 dòng đã thay đổi
39- "dọn dẹp" = hành vi giống hệt nhau từng bit, xác nhận xanh trước và sau
40
41## ĐỊNH NGHĨA DUY NHẤT VỀ "HOÀN THÀNH" CÓ GIÁ TRỊ
42- Mỗi nhiệm vụ đều có một vạch đích có thể kiểm tra bằng máy trước khi công việc bắt đầu.
43- Một người đánh giá chưa thấy cả kế hoạch lẫn bản nháp sẽ kiểm tra nó.
44- guardrails/signoff.sh có lá phiếu cuối cùng. Không phải người đánh giá. Mà là tập lệnh.
45- Nếu worker và người đánh giá không đồng ý hai lần liên tiếp, nó sẽ được chuyển cho con người.
46 Không có ý kiến thứ ba, không có mô hình hòa giải.

Hãy thay thế bằng số liệu của riêng bạn. Bất cứ điều gì bạn có thể bỏ qua 80% thời gian và vẫn gọi là "hoàn thành" cần phải có một con số hoặc một chữ "không bao giờ" đi kèm, hoặc là cắt bỏ nó.

Phần 2: Ranh giới và Xác nhận

Một hợp đồng lao động chẳng có nghĩa lý gì nếu không có một cuộc kiểm tra lý lịch về những gì họ được phép chạm vào, và một người quản lý ký xác nhận trước khi bất cứ thứ gì xuất xưởng. Hai tệp.

ops/boundaries.md:

markdown
1## làm việc một mình
2soạn thảo bản sửa lỗi trên một nhánh; cập nhật shift-log.md; khởi động lại một phiên bản
3thử nghiệm *không phải sản xuất*; gắn cờ các nguồn cấp dữ liệu cũ
4
5## cần chữ ký của tôi
6bất cứ thứ gì trong wallets/, .env*, config/rpc.json; bất kỳ diff nào trên 300 dòng;
7bất kỳ thay đổi nào đối với một tiến trình pm2 đang hoạt động; bất cứ thứ gì gửi một giao dịch
8
9## đánh thức tôi ngay lập tức
10người đánh giá thất bại cùng một bản sửa lỗi hai lần; bộ định tuyến đã phục vụ một mô hình
11khác với yêu cầu; chi tiêu hàng ngày vượt quá giới hạn; một kiểm tra thường trực chuyển sang đỏ;
12bất cứ thứ gì yêu cầu một khóa riêng tư

ops/guardrails/signoff.sh (chỉnh sửa các lệnh để phù hợp với bot của bạn):

bash
1#!/usr/bin/env bash
2set -e
3npm run typecheck --if-present
4npm test --if-present
5pm2 describe "$BOT_NAME" | grep -q "status.*online" || exit 1

Chạy nó một lần bằng tay trước khi bất cứ thứ gì khác trong hệ thống này đi vào hoạt động. Nếu nó không vượt qua sạch sẽ trên thiết lập hiện tại của bạn, thì đó là nhiệm vụ thực tế đầu tiên. Mọi thứ phía sau đều giả định rằng tập lệnh này nói sự thật.

Phần 3: Ca làm việc

Đây là phép toán quyết định sự thành bại của việc này. Một phiên đầy đủ với Fable 5 thực hiện việc gõ sẽ nhanh chóng tiêu tốn tiền thật, lên đến bốn con số nếu bạn để nó viết trong nhiều giờ. Fable 5 đưa ra các quyết định trong khi một mô hình giá rẻ thực hiện việc gõ là một hóa đơn hoàn toàn khác, khoảng 15-20% số token cho 100% các quyết định mang tính phán đoán.

Vì vậy, ca làm việc có bốn nhân viên, không phải một:

  1. Một mô hình gần như miễn phí đọc các log qua đêm và đầu ra pm2. Nó nói "yên tĩnh" hoặc "có thể hành động." Chỉ vậy thôi.
  2. Fable 5, chỉ đọc, quyết định một việc có giá trị cao nhất cần làm và viết một lệnh công việc. Nó không chạm vào mã.
  3. Một mô hình worker giá rẻ thực thi lệnh công việc trên một nhánh biệt lập.
  4. Một phiên bản Fable 5 mới, chỉ nhìn thấy đặc tả kỹ thuật và diff, bỏ phiếu đạt hoặc không đạt.

Tập lệnh xác định trong Phần 2 sẽ bỏ phiếu quyết định. Mọi lúc.

Gipp 🦅 - inline image

ops/shift.sh:

bash
1#!/usr/bin/env bash
2set -euo pipefail
3cd "$(dirname "$0")"
4DAILY_BUDGET="${DAILY_BUDGET_USD:-5}"
5INTAKE_MODEL="${INTAKE_MODEL:-openrouter/deepseek/deepseek-v4-flash}"
6WORKER_MODEL="${WORKER_MODEL:-openrouter/moonshotai/kimi-k2.6}"
7
8# 1. TIẾP NHẬN, giá rẻ
9pm2 logs --lines 100 --nostream | llm -m "$INTAKE_MODEL" -s "$(cat intake.md)" \
10 >> shift-log.md
11grep -q "status: actionable" shift-log.md || { echo "ca yên tĩnh"; exit 0; }
12
13# 2. ĐIỀU PHỐI, Fable, xhigh, chỉ đọc, quyết định và dừng lại
14claude -p "$(cat dispatcher.md)
15LOG: $(cat shift-log.md)
16TRUST: $(cat personnel/trust.tsv)
17BOUNDARIES: $(cat boundaries.md)" \
18 --model claude-fable-5 --effort xhigh --allowedTools "Read" \
19 --output-format json > /tmp/order.json
20
21SERVED=$(jq -r '.modelUsage | keys[0] // "claude-fable-5"' /tmp/order.json)
22[[ "$SERVED" != *fable* ]] && { echo "đã chuyển hướng, hủy lần chạy này" >> shift-log.md; exit 2; }
23
24jq -r '.result' /tmp/order.json > work-order.json
25ACTION=$(jq -r .action work-order.json)
26[[ "$ACTION" == "stop" ]] && exit 0
27[[ "$ACTION" == "queue" ]] && { echo "đã xếp hàng chờ ký" >> shift-log.md; exit 0; }
28
29# 3. THỰC THI, worker giá rẻ, nhánh biệt lập
30BR="shift-$(date +%s)"
31git worktree add "../$BR" -b "$BR" >/dev/null
32( cd "../$BR" && llm -m "$WORKER_MODEL" -s "$(cat "$OLDPWD/worker.md")" \
33 "$(cat "$OLDPWD/work-order.json")" > shift-notes.md )
34
35# 4. ĐÁNH GIÁ, Fable mới, chỉ spec và diff, không có gì khác
36VERDICT=$(claude -p "$(cat reviewer.md)
37SPEC: $(jq -r .spec work-order.json)
38DIFF: $(cd "../$BR" && git diff)" \
39 --model claude-fable-5 --effort high --allowedTools "" \
40 --output-format json | jq -r .result)
41
42# 5. LÁ PHIẾU DUY NHẤT XUẤT XƯỞNG BẤT CỨ THỨ GÌ
43if [[ "$VERDICT" == PASS* ]] && ( cd "../$BR" && "$OLDPWD/guardrails/signoff.sh" ); then
44 echo "ĐẠT, đã xuất xưởng hoặc xếp hàng theo cấp độ tin cậy" >> shift-log.md
45else
46 echo "THẤT BẠI: $BR giữ lại để đánh giá" >> shift-log.md
47fi

Một quyết định do Fable đưa ra và một dòng mã do Fable gõ là hai mức giá khác nhau. Chỉ trả mức giá cao hơn cho quyết định.

Phần 4: Hồ sơ nhân sự

Niềm tin không phải là một cài đặt trên toàn công ty. Nó được kiếm qua từng nhiệm vụ, giống như cách bạn sẽ không trao chìa khóa sản xuất cho một nhân viên mới vào ngày đầu tiên, dù hồ sơ của họ có đẹp đến đâu.

personnel/trust.tsv theo dõi mọi công việc định kỳ theo tên: số lần chạy, số lần đạt, cấp độ hiện tại.

  • theo dõi: dưới 10 lần chạy, hoặc tỷ lệ đạt dưới 90%. Chỉ bản nháp, không có ngoại lệ.
  • thử việc: 10-19 lần chạy với tỷ lệ đạt từ 90% trở lên. Được xếp hàng chờ chữ ký của bạn, mọi lúc.
  • đã thông qua: 20+ lần chạy với tỷ lệ đạt từ 95% trở lên. Xuất xưởng mà không cần bạn.
Gipp 🦅 - inline image

Một lần trượt trong một nhiệm vụ đã thông qua không nhận được cảnh báo. Nó bị tụt hạng thẳng xuống thử việc và in ra stderr, mà cron của bạn sẽ gửi email cho bạn. Việc giáng chức tự động là loại duy nhất thực sự có hiệu lực.

Nửa thứ hai của hồ sơ nhân sự là personnel/standing-checks/. Mọi công việc đã hoàn thành đều tốt nghiệp ở đây dưới dạng một lệnh phải tiếp tục trả về true, mãi mãi, được kiểm tra mỗi ngày một lần:

markdown
1# personnel/standing-checks/bankr-claim-monitor.md
2predicate: pm2 describe bankr-claim-monitor | grep -q "status.*online" && \
3 sqlite3 claims.db "select count(*) from claims where ts > strftime('%s','now','-1 day')" | grep -qv "^0$"
4last-verified: 2026-07-08
5on-violation: đánh thức tôi, không tự động khởi động lại mù quáng

Một nhiệm vụ bạn chỉ xác minh một lần không phải là đã hoàn thành. Nó là một giả định có gắn dấu thời gian.

Chạy kiểm tra hàng ngày qua cron. Một vị từ (predicate) thất bại có nghĩa là một điều gì đó đã từng đúng đã không còn đúng nữa, một cách âm thầm, và sẽ không ai nhận ra nếu không có tệp này.

Phần 5: Báo cáo sự cố

Đây là phần mà các sổ tay hướng dẫn gốc bỏ qua, và nó là phần thực sự quan trọng khi hệ thống đã hoạt động trên cơ sở hạ tầng xử lý tiền thật. Mọi hệ thống tác nhân cuối cùng cũng sẽ làm điều gì đó bạn không mong muốn. Câu hỏi là liệu bạn phát hiện ra từ một log sạch sẽ hay từ một ví đã cạn kiệt.

ops/incidents/runbook.md:

markdown
1| tín hiệu | ý nghĩa | hành động
2|--------------------------------|---------------------------------------|--------
3| exit 2 (đã chuyển hướng) | một mô hình khác đã phục vụ yêu cầu | vứt bỏ đầu ra, không bao giờ xây dựng trên nó, thử lại vào ngày mai
4| stop_reason: refusal | bộ phân loại an toàn từ chối, HTTP 200 | không phải lỗi, kiểm tra log; nếu một nhiệm vụ từ chối liên tục, nhiệm vụ đó có thể đang chạm vào thứ gì đó không nên
5| xác nhận thất bại hai lần, cùng một bản sửa lỗi | worker và người đánh giá không thể hội tụ | đưa nó vào đánh giá của con người, không tự động thử lại lần thứ ba
6| kiểm tra thường trực chuyển sang đỏ | một việc đã hoàn thành không còn đúng nữa | kiểm tra ngày xác minh lần cuối, diff những gì đã xuất xưởng kể từ đó, không tự động hoàn nguyên
7| chi tiêu hàng ngày vượt quá giới hạn | vượt ngân sách | dừng ca làm việc, đọc shift-log.md, tìm xem giai đoạn nào đã phình to
8| một nhiệm vụ chạm vào wallets/.env/rpc | cố gắng vi phạm ranh giới | dừng cứng, điều này không bao giờ được xảy ra nếu boundaries.md được tôn trọng, coi bất kỳ trường hợp nào cũng là lỗi trong chính hệ thống

Ghi lại mọi sự cố trong số này vào incidents/log.tsv kèm dấu thời gian, cho dù bạn có hành động hay không. Mục tiêu không phải là không có sự cố. Mà là không có sự cố nào bạn biết quá muộn.

Mỗi tuần một lần, hãy thực hiện một lượt dọn dẹp: đọc nhật ký sự cố, các lần giáng chức trong tệp tin cậy, và bất cứ thứ gì đã nằm trong hàng đợi và chưa được ký quá 3 ngày. Rút ra tối đa ba đề xuất: một điểm dừng cứng mới cho CONTRACT.md, một bản sửa lỗi cho mô tả công việc, hoặc một kiểm tra thường trực bạn đang thiếu. Bạn ký xác nhận cả ba bằng tay. Hệ thống có thể đề xuất quy tắc tiếp theo của chính nó. Nó không bao giờ được phép viết ra một quy tắc nào.

Lịch trình thử việc

Ba điểm kiểm tra, không phải ba mươi ngày kèm cặp:

Gipp 🦅 - inline image

Điểm kiểm tra 1. Chạy ca làm việc bằng tay hàng ngày trong một tuần. Đọc từng dòng. Tốt nghiệp khi ba ca làm việc liên tiếp được định tuyến chính xác theo cách bạn sẽ làm.

Điểm kiểm tra 2. Cron đảm nhận ca làm việc. Bạn xem xét hàng đợi với một tách cà phê thay vì tự chạy nó. Tốt nghiệp khi hai công việc định kỳ vượt qua 20 lần chạy được ghi nhận.

Điểm kiểm tra 3. Công việc hiệu quả nhất của bạn xuất xưởng mà không cần giám sát. Tốt nghiệp khi nó chạy trọn một tuần mà không có bất kỳ sự can thiệp nào từ bạn.

Các quy tắc, tóm gọn

  • Một hợp đồng là một con số hoặc một chữ "không bao giờ". Bất cứ thứ gì mềm mỏng hơn sẽ bị tối ưu hóa xung quanh.
  • Người điều phối quyết định. Worker gõ. Không ai kiểm tra công việc của chính mình.
  • Phán đoán của Fable đáng giá với cái giá phải trả. Việc gõ của Fable thường thì không.
  • Niềm tin là theo từng công việc, không phải trên toàn công ty, và việc giáng chức là tự động và ồn ào.
  • Một nhiệm vụ đã hoàn thành mà không được kiểm tra lại không phải là đã hoàn thành, nó là một phỏng đoán có gắn ngày tháng.
  • Các ranh giới nằm trong một tệp bạn có thể đọc trong mười giây, không phải trong trí nhớ của bạn.
  • Nhật ký sự cố tồn tại để bạn tìm ra vấn đề từ một báo cáo, không phải từ một số dư tài khoản.
  • Không bao giờ xây dựng trên đầu ra của một mô hình mà bạn không yêu cầu.
  • Mỗi tuần một lần, hệ thống có thể đề xuất một quy tắc mới. Bạn vẫn là người ký nó.

Mô hình chưa bao giờ là phần khó khăn. Xây dựng một thứ gì đó xung quanh nó luôn trung thực khi không có ai nhìn vào, đó mới là công việc thực sự. Đây là những gì nó trông như thế nào cho một đội tàu bot thay vì một cơ sở mã.

Bắt đầu với guardrails/signoff.sh. Chạy một ca làm việc bằng tay. Viết một kiểm tra thường trực cho bot cuối cùng bạn đã xuất xưởng. Lần đầu tiên nó phát hiện ra điều gì đó bạn chắc chắn là ổn, phần còn lại của việc này sẽ không còn là tùy chọn nữa.

Theo dõi @GipArcAI để biết thêm các phân tích như thế này, và tìm tôi trên X tại https://x.com/gippp69.

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral