Bộ công cụ AI Agent mà ai cũng cần dùng với GPT-5.6 + Fable 5 (Hướng dẫn dành cho nhà phát triển)

@Av1dlive
TIẾNG ANH2 ngày trước · 13 thg 7, 2026
183K
145
27
38
380

TL;DR

Hướng dẫn toàn diện này phác thảo quy trình 12 bước để xây dựng bộ công cụ AI agent hiệu suất cao sử dụng GPT-5.6 và Claude Fable 5, tập trung vào xác thực, định tuyến và quản lý chi phí.

Fable 5 + GPT-5.6: Bản Dựng Hoàn Chỉnh Từ A - Z Một Agent Stack Hoạt Động Khi Bạn Ngủ

Đây là bản dựng hoàn chỉnh, theo đúng thứ tự, với một checkpoint sau mỗi phần.

Hãy đánh dấu 12 bản dựng này trước khi bạn quên.

Giới thiệu

Bạn đang có hai mô hình mạnh nhất từng được phát hành rộng rãi, và bạn vẫn đang sử dụng từng cái một, bằng tay.

Ba điều đã thay đổi trong tháng qua.

  • Claude Fable 5 lập kế hoạch qua nhiều giai đoạn, tự điều phối các subagent của riêng nó, và tự xác minh đầu ra. $10 mỗi triệu token đầu vào, $50 đầu ra.
  • GPT-5.6 ra mắt ngày 9 tháng 7 với ba cấp độ vĩnh viễn. Sol ở $5 và $30, Terra bằng một nửa Sol, Luna ở $1 và $6. OpenAI hiện bán quyết định định tuyến như một sản phẩm.
  • Fable 5 đã bị đình chỉ 19 ngày trong tháng 6 theo lệnh xuất khẩu. Tính khả dụng giờ đây là một điều có thể xảy ra với bạn.

Nếu sử dụng một cách thông thường, những mô hình này là một cách đắt đỏ để tạo ra những thứ sai lầm ấn tượng.

Khi được vận hành bên trong một hệ thống, chúng là thứ gần nhất với một nhân viên mà bạn có thể thuê. Số liệu doanh nghiệp của Anthropic cho thấy Claude Code có giá khoảng $13 mỗi nhà phát triển mỗi ngày hoạt động. OpenAI đặt Codex ở mức $100 đến $200 mỗi tháng.

Hướng dẫn này xây dựng hệ thống đó trong mười hai bản dựng: các tệp thực tế, theo đúng thứ tự, mỗi tệp đã được kiểm tra trước khi xuất bản, với một checkpoint sau mỗi tệp để bạn biết một phần hoạt động trước khi xếp chồng phần tiếp theo lên nó.

Nó dành cho bất kỳ ai có repo, terminal và quyền truy cập vào một trong hai CLI. Các ví dụ mang hương vị mã vì các vòng lặp phát triển xung quanh mã, nhưng router, advisor và gate hoạt động trên hóa đơn và báo cáo theo cùng một cách.

Hãy đọc theo thứ tự, thực hiện các bước kiểm tra. Mỗi bản dựng mất 10 đến 20 phút, tổng cộng khoảng hai giờ. 30 ngày ở cuối là lịch trình trong đó hệ thống kiếm được quyền chạy mà không cần bạn.

Ba nguyên tắc dự đoán mọi quyết định thiết kế dưới đây:

  1. Định tuyến tại ranh giới. Nỗ lực trước mô hình. Một lần chuyển đổi mô hình giữa phiên sẽ đốt cháy khoản giảm giá cache trị giá 90 phần trăm. Tăng nỗ lực suy luận trên cùng một mô hình không tốn thêm chi phí kết nối.
  2. Không có gì tự chấm điểm bài tập của chính nó. Writer, router, advisor và reviewer là các bên khác nhau, từ các dòng dõi khác nhau nếu có thể, và phiếu bầu cuối cùng là một tập lệnh bash.
  3. Hoàn thành là một thực tế về môi trường. Một bộ kiểm tra đạt yêu cầu, một tệp nhiệm vụ đã được đánh dấu, một dòng phán quyết. Không bao giờ là ý kiến của mô hình về chính nó.

Bản đồ, và tại sao bản đồ thông thường lại sai

Kỹ thuật vòng lặp là quy trình làm việc dạng agent với một điều kiện dừng rõ ràng và logic thử lại. Bộ khung quyết định khi nào công việc hoàn thành, thay vì để mô hình tự hỏi "tôi đã xong chưa".

Bức tranh tiêu chuẩn là stack Loopcraft của swyx: năm vòng lặp lồng vào nhau, thực thi bên trong nhiệm vụ bên trong sản phẩm bên trong hệ thống bên trong giám sát, mỗi vòng có lối thoát riêng. Đây là bức tranh tốt nhất mà ai đó đã vẽ.

Tôi đã sử dụng nó trong nhiều tuần. Sau đó tôi cố gắng xây dựng dựa trên nó, và nó đã hỏng ở bốn chỗ.

1) Vấn đề một: các vòng lặp không lồng vào nhau.

Lồng nhau có nghĩa là một lượt của vòng lặp bên ngoài tương đương với một lần chạy hoàn chỉnh của vòng lặp bên trong. Đó không phải là điều xảy ra. Vòng lặp hệ thống không đợi vòng lặp sản phẩm kết thúc. Nó chạy vào Chủ nhật bất kể có thứ gì được giao hàng hay không.

Bạn có thể ngắt một luồng token bằng tay mà không cần tháo bốn lớp. Đó là một bức tranh về sự chứa đựng được vẽ trên một hệ thống thực hiện bàn giao.

2) Vấn đề hai: một vòng lặp được vẽ là vô tận là một hóa đơn.

Bản gốc vẽ vòng lặp sản phẩm theo cách đó. Trong thực tế, nó kết thúc dựa trên ngân sách, tại một checkpoint, hoặc khi ai đó hết kiên nhẫn.

Gọi điều đó là "không có theo thiết kế" sẽ che giấu chính xác nơi tiền rò rỉ ra khỏi một hệ thống agent: một vòng lặp không được ai dạy cách thoát.

3) Vấn đề ba: không có hủy bỏ.

Mọi lớp đều có một kết thúc có hậu và không có kết thúc bất hạnh. Các vòng lặp thực tế cần cả hai: cách nó đóng khi hoạt động và cách nó dừng khi không thể.

Mọi hóa đơn vượt tầm kiểm soát mà tôi từng thấy đều là một vòng lặp có lối thoát được xác định và không có hủy bỏ được xác định.

4) Vấn đề bốn: xác minh bị thiếu, và đó là toàn bộ trò chơi.

Xác minh là hợp đồng giữa các lớp. Khi một vòng lặp thấp hơn đưa cho một vòng lặp cao hơn một báo cáo thay vì một sự thật, vòng lặp cao hơn sẽ đóng dựa trên một lời nói dối.

Khoảng trống duy nhất đó là lý do tại sao một vòng lặp có thể đạt đến điều kiện dừng và vẫn sai.

Đây là phiên bản mà tôi xây dựng dựa trên.

Bậc Thang Bằng Chứng (Evidence Ladder)

Sáu bậc, mỗi bậc hai lối thoát và một quy tắc: kiểm soát chảy xuống dưới dạng mục tiêu, bằng chứng chảy lên dưới dạng sự thật, và không bậc nào có thể đóng dựa trên một báo cáo từ bậc bên dưới nó.

Avid - inline image

Năm quy luật được rút ra từ hình dạng.

Mỗi bậc có một hủy bỏ, nếu không nó là một hóa đơn. Nếu bạn không thể đặt tên cho cách một vòng lặp kết thúc tồi tệ, bạn đã xây dựng một đăng ký. Đây là lý do tại sao ralph.sh mang hai mũ và bầy đàn mang một mũ chu kỳ.

Bằng chứng chảy lên và kiểm soát chảy xuống. Một bậc đóng dựa trên một sự thật được tạo ra bên dưới nó, không bao giờ dựa trên một bản tóm tắt được viết bên dưới nó.

Cổng nhà máy là quy luật này trong SQL. Hai người đánh giá nói xanh. Cổng vẫn từ chối, bởi vì không ai đã tạo ra một hàng kiểm tra đạt yêu cầu.

Một phán quyết là một ý kiến. Một hàng là bằng chứng.

Chi phí mỗi lượt tăng lên khoảng mười lần mỗi bậc.

Một lỗi thoát khỏi bậc 2 tốn gấp mười lần để bắt ở bậc 3 và gấp trăm lần ở bậc 4.

Đó là toàn bộ lý lẽ cho việc đặt xác minh tốt nhất của bạn càng thấp trên bậc thang càng tốt, đó là lý do tại sao cổng là một tập lệnh bash chứ không phải một cuộc họp.

Thang thời gian thuộc về mô hình, không thuộc về bậc.

Bậc 2 mất vài phút vào năm 2024, mất vài giờ vào năm 2026 và sẽ sớm mất vài ngày. Thiết kế dựa trên điều kiện thoát, không bao giờ dựa trên đồng hồ. Đây là nơi bức tranh cũ lão hóa nhanh nhất.

Chỉ có bậc 5 không có điều kiện thoát, và đó là ý nghĩa của con người.

Bạn sống ở đó. Bậc thang tồn tại để kiếm được một câu: một vòng lặp có thể đạt đến điều kiện dừng và vẫn sai.

Kiểm tra đạt, cổng chuyển xanh, cả hai người đánh giá ký, và commit cuối cùng vẫn là một sai lầm. Mọi bậc bên dưới bạn tồn tại để làm cho việc kiểm tra đó nhỏ hơn. Không ai trong số chúng có thể lấy nó khỏi bạn.

Điều kiện tiên quyết

bash
1claude CLI (Claude Code) với quyền truy cập Fable 5
2codex CLI với quyền truy cập GPT-5.6 # hoặc plugin chính thức bên trong Claude Code
3python3, jq, git, gh, make, cron
4một repo với một lệnh kiểm tra hoạt động ngay hôm nay
5
6# tùy chọn, cho đội hỗn hợp (BUILD 7):
7openai/codex-plugin-cc # chính thức: chạy Codex bên trong Claude Code
8claude-model-switch # proxy cục bộ: bất kỳ nhà cung cấp nào phía sau Claude Code
9CLIProxyAPI # gói đăng ký CLI dưới dạng endpoint API

Những gì bạn đang xây dựng

markdown
1your-repo/
2 CLAUDE.md # BUILD 1: hiến pháp phía Claude
3 AGENTS.md # BUILD 1: hiến pháp phía Codex
4 .claude/
5 skills/model-bench/SKILL.md # BUILD 0: giá cả, ID API, dự phòng. tệp duy nhất có số
6 skills/model-router/SKILL.md # BUILD 4
7 skills/stuck-protocol/SKILL.md # BUILD 5
8 skills/ship-gate/SKILL.md # BUILD 2
9 agents/fable-expert.md # BUILD 5
10 agents/fresh-eyes-reviewer.md # BUILD 6
11 agents/sol-reviewer.md # BUILD 6
12 agents/scout.md # BUILD 7
13 loop/
14 ralph.sh # BUILD 3: nhịp tim
15 two_lane.sh # BUILD 6: vòng lặp đánh giá chéo nhà cung cấp
16 PROMPT.md TASKS.md # BUILD 3: giao thức làm việc
17 gate/
18 verify.sh # BUILD 2: phiếu bầu cuối cùng mang tính quyết định
19 eval_gate.py eval/cases.jsonl # BUILD 2: cổng thay đổi định tuyến
20 router/
21 router.py # BUILD 4
22 advisor_loop.py # BUILD 5
23 ~/.codex/
24 config.toml # BUILD 0: hồ sơ luna/terra/sol
25 prompts/effort.md # /effort đánh giá tác vụ, đặt tên ghế
26 prompts/plan-stop.md # /plan-stop lập kế hoạch, định giá, sau đó dừng
27 prompts/fable-advice.md # /fable-advice tư vấn chuyên gia chéo nhà cung cấp
28 prompts/review-hostile.md # /review-hostile phán quyết ngữ cảnh sạch
29 prompts/compost.md # /compost thất bại trở thành luật, hàng tuần
30 factory/
31 factory_gate.py # BUILD 8: bảng đen + cổng hoàn thành
32 factory.sh # BUILD 8: yêu cầu -> thực hiện -> đánh giá -> cổng
33 factory.db # BUILD 8: các hàng quyết định
34 swarm/
35 swarm.sh # BUILD 9: lập kế hoạch -> điều phối -> chấm điểm -> lập kế hoạch lại
36 goals.jsonl # BUILD 9: một mục tiêu mỗi dòng, mỗi mục tiêu có kiểm tra riêng
37 system/
38 verify_goals.py # BUILD 10: xác minh lại hàng ngày, mãi mãi
39 goals/ # BUILD 10: một tệp cho mỗi thứ đã hoàn thành
40 ROUTING.md # BUILD 12: chính sách định tuyến đầy đủ, cả hai bộ khung
41 progress.log # mọi bản dựng đều thêm vào đây
42 # tùy chọn (BUILD 7): proxy claude-model-switch trên localhost:4000,
43 # CLIProxyAPI để gói đăng ký CLI dưới dạng endpoint API

BUILD 0: Cấu hình các Engine

Đặt những thứ này trước khi viết bất kỳ tệp nào của riêng bạn. Mọi số dưới đây đã được xác minh dựa trên các trang giá chính thức trong tuần xuất bản.

Băng ghế: mọi ghế, tháng 7 năm 2026

Danh sách mà hệ thống thuê từ đó.

Giá cả nằm trong một tệp kỹ năng duy nhất, .claude/skills/model-bench/SKILL.md, được tải theo yêu cầu trước bất kỳ câu hỏi định tuyến hoặc chi phí nào. Không có tệp nào khác viết cứng một con số.

Giá đã di chuyển ba lần trong sáu tuần trước khi bài viết này được viết. Một mức giá trong một bài báo là sai tại thời điểm xuất bản. Một mức giá trong một tệp kỹ năng là một lần chỉnh sửa.

Avid - inline image

Sự phân chia quyết định mọi thứ về sau:

  • Fable 5 dẫn đầu công việc phần mềm khó. 80% trên SWE-Bench Pro so với 64.6 của Sol, và nó nhỉnh hơn Sol về trí thông minh tổng thể.
  • Sol dẫn đầu công việc terminal và agent. 88.8% trên Terminal-Bench 2.1, và nó đứng đầu chỉ số coding-agent với chi phí khoảng một phần ba của Fable mỗi tác vụ.

Sự phân chia đó là lý do tại sao hệ thống này là đa nhà cung cấp. Fable đánh giá và lập kế hoạch, Sol đánh giá và điều khiển terminal, và không ai trong số chúng làm phần lớn việc gõ.

Avid - inline image

Hai ghế mà mọi người đọc sai.

Opus 4.8 không phải là kỳ hạm cũ bám bụi. Nó là dự phòng tự động dưới Fable và là mặc định được khuyến nghị cho việc viết mã phức tạp dạng agent. Hệ thống của bạn kế thừa nó cho dù bạn có lên kế hoạch cho nó hay không.

Sonnet 5 với giá giới thiệu là giá trị tốt nhất trên bảng. Gần bằng Opus 4.8 về năng lực với một phần nhỏ giá đầu vào của Fable, đó là lý do tại sao nó là trình thực thi mặc định ở mọi nơi trong bản dựng này. Mức giá đó hết hạn vào ngày 31 tháng 8, và tệp kỹ năng đã biết điều đó.

Tệp kỹ năng đó là tệp duy nhất trong hệ thống chứa một số:

markdown
1---
2name: model-bench
3description: Bảng giá hiện tại, ID mô hình API và chuỗi dự phòng cho mọi
4 mô hình mà hệ thống này có thể thuê. Tải trước bất kỳ quyết định định tuyến, ước lượng chi phí,
5 câu hỏi ngân sách, so sánh mô hình hoặc khi người dùng hỏi một thứ gì đó có giá bao nhiêu.
6---
7
8# Băng ghế mô hình
9
10Nguồn sự thật duy nhất cho giá cả và định danh API. Không có gì khác trong repo này
11viết cứng một mức giá, vì vậy khi các phòng thí nghiệm thay đổi tỷ giá của họ, bạn chỉnh sửa tệp này và
12không có gì khác. Đã xác minh 2026-07-13. Giá cả thay đổi. Xác minh lại trước khi bạn lập ngân sách.
13
14## Anthropic (Messages API, /v1/messages)
15
16Nỗ lực: output_config {"effort": "low|medium|high|xhigh|max"}. Suy nghĩ thích ứng
17luôn bật cho Fable 5 và không thể tắt. max_tokens giới hạn suy nghĩ CỘNG
18văn bản phản hồi, vì vậy hãy đặt nó lớn (bắt đầu gần 64k) ở mức cao trở lên, nếu không mô hình
19sẽ hết chỗ giữa chừng khi suy nghĩ.
20
21| Mô hình | Vào/ra mỗi Mtok | Đọc cache | Ghế |
22|---|---|---|---|
23| claude-fable-5 | $10/$50 | $1.00 | nhạc trưởng, người lập kế hoạch, cố vấn, thẩm phán. Dự phòng xuống opus-4-8 tự động |
24| claude-opus-4-8 | $5/$25 | $0.50 | nhạc trưởng theo quy tắc lưu giữ |
25| claude-sonnet-5 | $2/$10 (đến hết 31 tháng 8, sau đó $3/$15) | n/a | trình thực thi mã mặc định |
26| claude-haiku-4-5 | $1/$5 | $0.10 | trinh sát, subagent, công việc cơ học |
27
28Ngữ cảnh 1M trên Fable, Opus 4.8, Sonnet 5, được định giá FLAT ở ngữ cảnh dài, đó là
29lý do tại sao các lần đọc dài được định tuyến ở đây. Đầu ra tối đa 128K.
30
31## OpenAI (Responses API, /v1/responses)
32
33| Mô hình | Vào/ra mỗi Mtok | Đã cache | Ghế |
34|---|---|---|---|
35| gpt-5.6-sol | $5/$30 | $0.50 | người đánh giá chéo nhà cung cấp, công việc terminal |
36| gpt-5.6-terra | $2.50/$15 | $0.25 | trình điều khiển hàng ngày của Codex (kiểm tra với Luna trước) |
37| gpt-5.6-luna | $1/$6 | $0.10 | công việc cơ học, các tích tắc yên tĩnh |
38
39Ngữ cảnh dài trên ngưỡng gần như NHÂN ĐÔI giá đầu vào, không giống như các mức phẳng 1M của Anthropic.
40Họ đầu tiên có các điểm ngắt cache rõ ràng; ghi tốn 1.25x.
41
42## Trọng số mở (công nhân hàng loạt)
43
44| Mô hình | Vào/ra mỗi Mtok | Cache hit |
45|---|---|---|
46| deepseek-v4-flash | $0.14/$0.28 | $0.0028 (khoảng 98 phần trăm giảm) |
47| deepseek-v4-pro | $0.435/$0.87 | n/a |
48| kimi-k2.7-code | $0.95/$4.00 | $0.19 |
49
50## Giảm giá xếp chồng
51 - đọc cache có giá bằng một phần mười đầu vào mới tại cả hai phòng thí nghiệm (khoảng 90 phần trăm giảm)
52 - ghi cache tự trả tiền cho chính nó sau một lần đọc (5m) hoặc hai lần (1h)
53 - API batch giảm 50 phần trăm cả hai chiều
54 - batch + đọc cache trên một tiền tố lặp lại đạt gần 95 phần trăm giảm
55 - tokenizer mới nhất của Anthropic tạo ra khoảng 30 phần trăm nhiều token hơn cho cùng một
56 văn bản, vì vậy chi phí hiệu quả nằm trên giá niêm yết. Lập ngân sách trên chi phí hiệu quả.
57
58## Cách trả lời câu hỏi về chi phí
59 1. Ước tính đầu vào và đầu ra riêng biệt. Agent đọc khoảng 100 token cho mỗi
60 1 token chúng viết, vì vậy đầu vào chiếm ưu thế và tỷ lệ cache hit quyết định hóa đơn.
61 2. Áp dụng tỷ lệ đọc cache cho tiền tố lặp lại, không phải tỷ lệ cơ bản.
62 3. Nhân các con số của Anthropic với khoảng 1.3 cho tokenizer.
63 4. Đưa ra một phạm vi, nêu rõ các giả định, cho biết bạn đã sử dụng dòng nào của tệp này.
64 5. Nếu con số vượt quá giới hạn hàng ngày của repo, hãy nói điều đó TRƯỚC KHI chạy bất cứ thứ gì.
65
66Không bao giờ trình bày một mức giá mà bạn không đọc từ tệp này. Một mô hình không được liệt kê ở đây không có
67trên băng ghế, và việc thêm một mô hình là một thay đổi định tuyến phải thông qua cổng.

Bảy sự thật thay đổi cách bạn xây dựng:

  1. Đầu vào được cache giảm 90 phần trăm tại cả hai phòng thí nghiệm. Một dấu thời gian trong prompt hệ thống của bạn sẽ đốt cháy nó trên mỗi cuộc gọi. Tiền tố ổn định, lịch sử chỉ nối thêm, luôn luôn. Agent đọc khoảng 100 token cho mỗi 1 token chúng viết, vì vậy khoản giảm giá này là phần lớn hóa đơn của bạn.
  2. Ghi cache tốn thêm nhưng hoàn vốn nhanh. Ghi 5 phút của Anthropic tính phí 1.25x và hòa vốn sau một lần đọc. GPT-5.6 là họ đầu tiên của OpenAI có các điểm ngắt cache rõ ràng và ghi có giá. Xây dựng kiến trúc xung quanh cache giống như một lập trình viên hệ thống xây dựng kiến trúc xung quanh hệ thống phân cấp bộ nhớ.
  3. Tokenizer mới nhất của Anthropic tạo ra khoảng 30 phần trăm nhiều token hơn cho cùng một văn bản. Giá hiệu quả nằm trên giá niêm yết. Lập ngân sách trên chi phí hiệu quả.
  4. Một lần từ chối an toàn từ Fable 5 không phải là một lỗi. Cuộc gọi thành công và công việc rơi vào Opus 4.8, theo thiết kế, trong dưới 5 phần trăm số phiên. Đọc những gì đã xảy ra, không chỉ mã thoát, và cấu hình chuỗi dự phòng trước khi bạn cần nó.
  5. Không mặc định ở cấp trung gian. Kiểm tra độc lập cho thấy một số cài đặt Luna hoặc Sol luôn đánh bại Terra trên đường biên chi phí-chất lượng. Kiểm tra Terra với Luna trên lưu lượng của riêng bạn trước khi trả tiền cho nó.
  6. API batch giảm một nửa bất cứ thứ gì có thể đợi qua đêm, và khoản giảm giá xếp chồng với cache: các tiền tố lặp lại trong công việc batch chạy gần 95 phần trăm giảm. Bộ đốt qua đêm trong BUILD 7 tồn tại để khai thác nó.
  7. Tính khả dụng là một rủi ro hoạt động, không phải một giả thuyết. Fable 5 đã mất 19 ngày trong tháng 6. Mọi tham chiếu mô hình ở đây đều có dự phòng: fable-5 rơi xuống opus, sol rơi xuống terra, và mọi dự phòng đều được ghi lại.

Đồng hồ đo thứ hai: một ghế không phải là một khóa API

Mọi số trên đều được định giá bằng đô la trên một triệu token. Đó là đơn vị tiền tệ phù hợp nếu bạn trả tiền cho mỗi cuộc gọi.

Đó là đơn vị tiền tệ sai nếu bạn chạy cái này trên một ghế Codex Pro $200 hoặc một ghế Claude Max.

Trên một ghế, đồng hồ đo là một cửa sổ năm giờ và một cửa sổ hàng tuần, được đánh giá cùng nhau, và một yêu cầu được tính vào cả hai.

Bạn có thể dư giả trong tuần và vẫn bị khóa trong bốn giờ, bởi vì một tin nhắn duy nhất đã ăn hết cửa sổ ngắn.

Cùng một học thuyết. Đơn vị tiền tệ khác. Ba cài đặt quyết định một tin nhắn có thể chiếm bao nhiêu phần trăm của một cửa sổ:

Avid - inline image

Chế độ nhanh là chế độ đắt tiền, bởi vì nó nhân lên một con số vừa trở nên lớn hơn.

GPT-5.6 chạy dài hơn nhiều mỗi tin nhắn so với 5.5. Phần lớn là một món quà. Nó cũng làm cho việc đốt cháy không thể đoán trước.

  • Theo báo cáo đã đốt hơn $200.000 token trên Sol
  • Anh ấy đã thấy một tin nhắn 5.6 chiếm 15 phần trăm của một cửa sổ năm giờ
  • Với hệ số nhân, đó là 40 phần trăm của cửa sổ trong một tin nhắn duy nhất

Tốc độ không miễn phí. Nó tính phí bạn cho các token mà bạn sẽ đốt anyway. Đọc lại hệ số nhân trên tài liệu tốc độ trước khi bạn tin tưởng nó: nó được xuất bản theo từng mô hình và nó di chuyển.

Ultra là cái bẫy tinh vi hơn, bởi vì giao diện tệp nó ở nơi các mức nỗ lực tồn tại và nó không phải là một trong số chúng.

  • Max là chiều sâu. Một mô hình, một vấn đề, nhiều thời gian hơn trên một chuỗi suy luận duy nhất.
  • Ultra là chiều rộng. Công việc tỏa ra bốn agent, sau đó được tổng hợp.
  • Các trục khác nhau. Ultra không phải là "nhiều hơn max."

Hướng vào một tác vụ không thực sự phân chia, ultra mua bốn agent sao chép một cuộc điều tra.

Nó đáng giá khoảng 3.1 điểm trên Terminal-Bench 2.1, từ 88.8 lên 91.9, cho một lượng đốt cháy của cả một đội. Tắt cho đến khi ranh giới giữa các vấn đề phụ là thực tế.

Tại sao Sol và Terra đều là mặc định đúng

Một báo cáo thực địa chạy Sol cho hầu hết mọi thứ. Băng ghế trên đặt Terra làm trình điều khiển hàng ngày của Codex. Cả hai đều đúng, và đồng hồ đo là lý do.

  • Thẻ giá nói đầu ra của Sol tốn gấp đôi Terra
  • Ghế nói bạn đã trả tiền rồi
  • Vì vậy, câu hỏi duy nhất còn sống là cần bao nhiêu lượt để đạt đến xanh
  • Một mô hình mạnh hơn ở mức nỗ lực thấp hơn thường cần ít hơn

Tỷ lệ không phải là chi phí. Chi phí là tỷ lệ nhân với số lượt để đạt xanh, và số hạng thứ hai là số hạng di chuyển.

Đó là quy luật của BUILD 4 đến từ hướng khác: nâng cấp ghế trước khi bạn chạm vào mặt số. Trên một ghế đọc là Sol ở mức cao ở bậc $200, Sol ở mức thấp bên dưới nó. Đo lường trước khi bạn tin vào một trong hai.

Đặt các bậc Codex ngay bây giờ:

text
1# ~/.codex/config.toml
2model = "gpt-5.6-terra" # trình điều khiển hàng ngày
3model_reasoning_effort = "medium"
4# service_tier = "fast" # ĐỂ LẠI COMMENT. chế độ nhanh tính phí 2.5x
5 # tín dụng. chạy /fast status để xác nhận bạn
6 # không ở trong đó.
7
8[profiles.fast] # công việc cơ học. KHÔNG phải "chế độ nhanh": hồ sơ này
9model = "gpt-5.6-luna" # là một mô hình rẻ hơn, không phải đồng hồ đo 2.5x
10model_reasoning_effort = "low" # hai thứ khác nhau, một từ.
11
12[profiles.deep] # lập kế hoạch, lỗi xấu xa, đánh giá
13model = "gpt-5.6-sol"
14model_reasoning_effort = "high"

KIỂM TRA 0: cả hai CLI đều xác thực và lệnh kiểm tra của bạn thoát 0 trên repo hiện tại.

BUILD 1: Các Hiến pháp

Các mô hình này 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ó.

Tạo CLAUDE.md:

markdown
1# CLAUDE.md
2
3## KHÔNG BAO GIỜ (ngoại lệ yêu cầu hỏi trước)
4- Không bao giờ chuyển đổi mô hình giữa phiên. Định tuyến chỉ xảy ra tại ranh giới phiên
5 và subagent. Hoán đổi giữa tác vụ đốt cache.
6- Không bao giờ đánh giá diff của chính bạn. Đánh giá đến từ một ngữ cảnh mới hoặc một
7 dòng dõi khác. Người đánh giá của Devin bắt 2 lỗi mỗi PR agent
8 chính xác bởi vì nó không chia sẻ gì với người viết.
9- Không bao giờ chỉnh sửa, làm yếu hoặc xóa một bài kiểm tra để làm cho nó vượt qua. TỰ ĐỘNG THẤT BẠI.
10- Không bao giờ báo cáo đã hoàn thành từ tự đánh giá. Hoàn thành = gate/verify.sh đã vượt qua.
11- Không bao giờ tham khảo ý kiến cố vấn lần thứ tư. Ba lần trượt = BỊ CHẶN, đến lượt con người.
12- Không bao giờ hợp nhất một thay đổi định tuyến hoặc prompt mà eval_gate.py đã CHẶN.
13- Không bao giờ chạy bất kỳ vòng lặp nào mà không có cả hai giới hạn: MAX_ITERS và BUDGET_USD.
14- Không bao giờ cho rằng một mô hình tiên phong đang hoạt động. Dự phòng: fable-5 -> opus,
15 sol -> terra. Ghi lại mọi dự phòng vào progress.log.
16- Không bao giờ tạo ra một subagent mà bạn không được yêu cầu. Con cái kế thừa
17 mô hình VÀ nỗ lực của cha mẹ, vì vậy một đội háo hức kế thừa ghế đắt tiền.
18
19## ĐIỀU PHỐI (kết quả khớp đầu tiên thắng)
20| # | Tác vụ | Ghế |
21|---|---|---|
22| 1 | lập kế hoạch / kiến trúc / di chuyển | fable-5 lập kế hoạch, sonnet thực thi |
23| 2 | trích xuất / định dạng / kiểm tra / tài liệu | haiku hoặc luna |
24| 3 | ngữ cảnh trên 60k token | Bậc giá phẳng 1M của Anthropic |
25| 4 | đánh giá mã do agent viết | sol qua codex, bộ khung bản địa |
26| 5 | mơ hồ | điểm khó: 0-1 rẻ, 2 sonnet, 3+ tiên phong |
27| 6 | vẫn không chắc chắn | chạy rẻ một lần, xác minh, leo thang một lần nếu thất bại |
28
29## HOÀN THÀNH
30- Mọi tác vụ đều mang một điều kiện có thể kiểm tra bằng máy (done_when) trước khi công việc bắt đầu.
31- Một người đánh giá ngữ cảnh mới đánh giá thông số kỹ thuật so với diff, không có gì khác.
32- gate/verify.sh giữ phiếu bầu cuối cùng. Hai bất đồng maker/checker
33 về một mục -> dừng, xếp hàng chờ con người.

Tạo AGENTS.md tại thư mục gốc repo, cùng các luật trong phương ngữ của Codex. Giữ nó gần 100 dòng, một bảng mục lục, không phải một bách khoa toàn thư:

markdown
1# AGENTS.md
2
3## Lệnh
4| Mục đích | Lệnh |
5|---|---|
6| Kiểm tra | make test (lệnh này là định nghĩa của hoàn thành) |
7| Lint | make lint |
8
9## Giao thức phiên
101. Đọc progress.log và TASKS.md trước. 2. MỘT tác vụ chưa được đánh dấu.
113. Thực hiện, chạy BỘ KIỂM TRA ĐẦY ĐỦ, chỉ commit xanh, thông điệp mô tả.
124. Đánh dấu tác vụ, thêm một dòng vào progress.log, dừng.
13Kiểm tra xác định hoàn thành. Không bao giờ làm yếu, bỏ qua hoặc xóa một. Kiểm tra sai =
14đánh dấu tác vụ BỊ CHẶN và nói lý do.
15
16## Chính sách mô hình
17Mặc định: terra, nỗ lực trung bình. Cơ học: hồ sơ fast (luna, thấp).
18Lập kế hoạch và lỗi xấu xa: hồ sơ deep (sol, cao).
19Nỗ lực trước mô hình. Hồ sơ được chọn khi bắt đầu phiên, không bao giờ giữa tác vụ.
20Chế độ nhanh TẮT (2.5x tín dụng). Ultra TẮT. Cả hai không phải là mức nỗ lực.
21Chỉ tạo ra một subagent khi tôi yêu cầu. Con cái kế thừa mô hình của phiên này VÀ
22mức suy luận, vì vậy một lần sinh sản háo hức ở nỗ lực cao là cả một đội ở nỗ lực cao.
23
24## Bị kẹt
25Tín hiệu: cùng một lỗi hai lần; hai bước không tiến triển; một bài kiểm tra sống sót sau hai
26bản sửa lỗi riêng biệt. Sau đó /fable-advice. Tối đa 3 lần tham vấn, sau đó BỊ CHẶN.
27
28## Đánh giá
29/review-hostile trong một PHIÊN MỚI trước bất kỳ hợp nhất nào, hoặc làn đường chéo nhà cung cấp
30từ phía Claude. Không bao giờ hợp nhất công việc chưa được đánh giá của chính bạn.

Một học thuyết phải tồn tại trên cả hai phía, nếu không bộ khung nào có thói quen lỏng lẻo hơn sẽ thắng mỗi khi bạn chuyển đổi công cụ.

KIỂM TRA 1: với mỗi dòng, hãy tự hỏi liệu mô hình có thể tuân thủ 80 phần trăm và tuyên bố thành cô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 60.

BUILD 2: Cổng (The Gate)

Một tập lệnh bash phải giữ phiếu bầu cuối cùng trước khi bất kỳ thứ gì khác tồn tại, bởi vì mọi bản dựng sau đó đều giả định nó.

Tạo gate/verify.sh cho stack của bạn:

bash
1#!/usr/bin/env bash
2set -e
3npm run typecheck --if-present
4npm test --if-present
5npm run lint --if-present

Tạo gate/eval_gate.py, dây an toàn cho mọi thay đổi định tuyến hoặc prompt trong tương lai. Nó chạy 50 đến 500 trường hợp dành riêng thông qua cấu hình hiện tại và cấu hình được đề xuất, chỉ với các kiểm tra mang tính quyết định:

python
1for case in cases: # {prompt, must_include, must_not_include, max_words}
2 hits += passes(case, run_config(case.prompt))
3verdict = "SHIP" if new_score >= old_score - 0.02 else "BLOCKED"

Sau đó làm cho cổng không thể bỏ qua dưới dạng một kỹ năng, .claude/skills/ship-gate/SKILL.md:

markdown
1---
2name: ship-gate
3description: Chạy cổng đánh giá trước khi mọi thay đổi về định tuyến, mô hình hoặc prompt được triển khai. Sử dụng khi người dùng yêu cầu thay đổi quy tắc định tuyến, hoán đổi bậc mô hình, chỉnh sửa system prompt, điều chỉnh mức nỗ lực, hoặc hợp nhất bất cứ thứ gì liên quan đến bộ định tuyến, prompt hoặc cấu hình mô hình.
4---
5
6# Cổng triển khai
7
8Bất kỳ thay đổi nào đối với định tuyến hoặc prompt đều là một canh bạc về chất lượng cho đến khi cổng đánh giá cho phép. Kỹ năng này tồn tại để đảm bảo canh bạc đó không bao giờ được triển khai trong im lặng.
9
10 1. Xác định vị trí eval/cases.jsonl. Nếu không tồn tại, DỪNG LẠI và yêu cầu người dùng xây dựng 50 đến 500 trường hợp đại diện trước, từ lưu lượng thực tế. Không tự ý tạo trường hợp.
11 2. Chạy: python3 eval_gate.py eval/cases.jsonl, cấu hình hiện tại so với đề xuất.
12 3. BỊ CHẶN: báo cáo cả hai điểm số, liệt kê các trường hợp bị giảm điểm, không áp dụng thay đổi, đề xuất bản hoàn tác nhỏ nhất để vượt qua cổng.
13 4. ĐƯỢC TRIỂN KHAI: áp dụng và thêm một dòng vào progress.log với cả hai điểm số.
14
15Quy tắc cứng:
16 - Không bao giờ ghi đè phán quyết BỊ CHẶN, ngay cả khi được yêu cầu một cách lịch sự. Chuyển lên cho con người với các trường hợp thất bại đính kèm.
17 - Không bao giờ chỉnh sửa tệp cases trong cùng phiên với thay đổi định tuyến. Cổng đánh giá và thay đổi không được có chung tác giả.
18 - Số liệu chi phí không phải là biện pháp bảo vệ chống lại sự sụt giảm chất lượng. Cổng đánh giá luôn thắng.

Cổng đánh giá chỉ sử dụng các kiểm tra xác định, bởi vì nó không bao giờ được kế thừa vấn đề "ai xác minh người xác minh". Một thay đổi định tuyến mà không có cổng đánh giá là một thử nghiệm chi phí mà bạn đang chạy trên khách hàng của mình.

KIỂM TRA 2: ./gate/verify.sh thoát với mã 0 hôm nay, và eval_gate.py in ra SHIP trên bản demo của nó. Nếu verify.sh thất bại ngay bây giờ, hãy sửa nó trước bất cứ thứ gì khác. Hệ thống dựa trên tập lệnh này.

BUILD 3: Nhịp tim

Mô hình mang lại trí thông minh. Vòng lặp mang lại kỷ luật.

  • Ngữ cảnh mới cho mỗi lần lặp ngăn chặn sự mục nát của ngữ cảnh
  • Kho lưu trữ mang tất cả bộ nhớ
  • Hai giới hạn biến một tác nhân mất kiểm soát thành một bài học mười đô la

Đây chính xác là hình dạng đằng sau lần chạy 16 vòng lặp của Anthropic, nơi đã xây dựng một trình biên dịch C 100.000 dòng với chi phí khoảng 20.000 đô la, mà không có bất kỳ mô hình điều phối nào.

Tạo loop/PROMPT.md:

markdown
1Đọc progress.log và TASKS.md. Chọn CHÍNH XÁC MỘT nhiệm vụ chưa được đánh dấu.
2Thực hiện nó. Chạy các bài kiểm tra. Nếu xanh: commit với một thông điệp mô tả,
3đánh dấu nhiệm vụ, thêm một dòng vào progress.log, dừng lại.
4Nếu cùng một nhiệm vụ thất bại hai lần, đánh dấu nó là BỊ CHẶN với lỗi và dừng lại.
5Chỉ tạo một tệp có tên DONE khi mọi nhiệm vụ đã được đánh dấu VÀ toàn bộ bộ
6kiểm tra vượt qua. Không bao giờ chỉnh sửa một bài kiểm tra để làm cho nó vượt qua.

Tạo loop/ralph.sh:

bash
1#!/usr/bin/env bash
2set -u
3MAX_ITERS="${MAX_ITERS:-25}" # giới hạn một: số lần lặp
4BUDGET_USD="${BUDGET_USD:-10}" # giới hạn hai: đô la
5MAX_FAILS=3; fails=0; spent=0; i=0
6
7while [ ! -f DONE ] && [ "$i" -lt "$MAX_ITERS" ]; do
8 i=$((i + 1))
9 # phiên mới mỗi lần lặp: không có bộ nhớ nào ngoại trừ chính kho lưu trữ
10 claude -p "$(cat PROMPT.md)" --max-turns 30 \
11 --output-format json > out.json 2> err.log \
12 && fails=0 || fails=$((fails + 1))
13 [ "$fails" -ge "$MAX_FAILS" ] && exit 2 # bộ ngắt mạch
14 cost=$(jq -r '.total_cost_usd // 0' out.json)
15 spent=$(awk -v a="$spent" -v b="$cost" 'BEGIN{printf "%.4f", a+b}')
16 awk -v s="$spent" -v c="$BUDGET_USD" 'BEGIN{exit !(s>c)}' && exit 3 # giới hạn
17 sleep 2
18done
19[ -f DONE ] && echo "done in $i ticks, \$$spent" || echo "cap hit, \$$spent"

Thay dòng claude bằng codex exec và cùng một vòng lặp sẽ điều khiển GPT-5.6.

Bản đồ thoát có chủ đích: 0 hoàn thành hoặc im lặng, 2 bộ ngắt mạch, 3 ngân sách. Mọi cảnh báo trong BUILD 12 đều dựa trên các mã này.

Dòng chi phí đọc báo cáo chi phí JSON của chính phiên, do đó giới hạn được thực thi bởi bộ khung dựa trên chi tiêu thực tế, không phải ước tính.

Hãy đếm các điểm dừng trong prompt đó. Mọi nhánh đều kết thúc bằng một điểm dừng, và đó là thiết kế, không phải một thói quen.

Thế hệ này chạy lâu hơn nhiều mỗi tin nhắn so với thế hệ trước. Phần lớn là một món quà. Đôi khi là một hóa đơn, bởi vì một mô hình không còn cần được khuyến khích để tiếp tục sẽ mang một nhiệm vụ đi xa hơn bốn bước so với điểm mà bạn muốn nhìn vào nó.

Vòng lặp giải quyết vấn đề đó một cách có cấu trúc: một nhiệm vụ mỗi lần đánh dấu, dừng cứng ở cuối.

Khi tương tác, bạn phải nói to điều đó. Hai prompt thực hiện công việc:

  • "viết kế hoạch, sau đó dừng lại và cho tôi xem trước khi bạn xây dựng bất kỳ phần nào của nó"
  • một khi kế hoạch tốt: "xây dựng nó, kiểm tra nó, mở PR, xử lý vòng nhận xét đầu tiên, sau đó dừng lại"

Một mô hình chạy lâu chỉ nguy hiểm khi không ai nói cho nó biết ranh giới ở đâu.

Các nhiệm vụ dài thất bại theo cách ngữ cảnh thất bại, vì vậy các lần lặp vẫn ngắn và môi trường làm nhiệm vụ ghi nhớ. Fable 5 và các mô hình Codex hiện đã tự nén ngữ cảnh của chúng giữa lúc chạy, vì vậy hãy chống lại việc thêm các đường ống bộ nhớ thông minh; lượng phù hợp sẽ giảm dần mỗi quý.

KIỂM TRA 3: hai nhiệm vụ thực tế nhỏ trong TASKS.md, một lần đánh dấu chạy bằng tay tại BUDGET_USD=2. Xác nhận một commit, một nhiệm vụ được đánh dấu, một dòng log và vòng lặp thoát thay vì bắt đầu nhiệm vụ thứ hai.

BUILD 4: Bộ định tuyến xứng đáng với công việc của nó (mô hình, sau đó nỗ lực)

Điểm chuẩn định tuyến nghiêm ngặt nhất năm 2026, LLMRouterBench, phát hiện ra rằng nhiều bộ định tuyến, bao gồm cả các bộ định tuyến thương mại, không đáng tin cậy để đánh bại việc chọn mô hình đơn tốt nhất. Vì vậy, bộ định tuyến có tội cho đến khi được chứng minh vô tội trên lưu lượng của chính bạn.

Quy tắc quyết định, trước bất kỳ mã nào. Chỉ thêm bộ định tuyến khi cả hai điều này đều đúng:

  • Các bậc rẻ và tiên tiến cho thấy khoảng cách năng lực trên mỗi đô la gấp năm lần trên lưu lượng của bạn
  • Bộ đánh giá từ BUILD 2 tồn tại để kiểm soát nó

Nếu một mô hình được chọn tốt đánh bại bộ định tuyến của bạn trên các bộ đánh giá đó, hãy xóa bộ định tuyến và giữ lại sự đơn giản.

Khi nó vượt qua ngưỡng, router/router.py chạy ba lớp, quyết định rẻ nhất trước. Lưu ý rằng các bậc đặt tên cho chỗ ngồi, không bao giờ là giá cả: tỷ lệ đến từ kỹ năng bench tại thời điểm chạy, do đó, một thay đổi giá không bao giờ chạm vào bộ định tuyến của bạn.

python
1TIERS = { # chỗ ngồi, không phải số
2 "cheap": "gpt-5.6-luna", # hoặc claude-haiku-4-5
3 "mid": "claude-sonnet-5",
4 "frontier": "claude-fable-5", # hoặc gpt-5.6-sol
5}
6PRICES = load_bench(".claude/skills/model-bench/SKILL.md") # một nguồn sự thật duy nhất
7
8RULES = [
9 (kind in {"extract", "format", "summarize"}, "cheap"),
10 (kind in {"plan", "architect", "migrate"}, "frontier"),
11 (context_length > 60_000, "mid"),
12]
13tier = layer1_rules(task) or layer2_classifier(task)
14if tier: return call(TIERS[tier], task)
15return cascade(task) # cheap trước, xác minh, leo thang MỘT LẦN khi thất bại

Lớp giữa chấm điểm độ khó dựa trên các dấu hiệu bạn có thể đọc: why, debug, race, deadlock, refactor, security, cộng với mã trong prompt, một lần thử trước đó thất bại và nhiều hơn một hệ thống con được chạm vào.

Không hoặc một điểm sẽ đi cheap. Hai điểm đi mid. Ba điểm trở lên đi frontier. Trình xác minh của cascade là xác định và leo thang chính xác một lần.

Kết nối các quyết định tương tự vào bộ khung để chúng kích hoạt mà không cần được gọi, .claude/skills/model-router/SKILL.md. Lưu ý rằng kỹ năng không nêu lại các quy tắc, nó đọc chúng, cùng một thủ thuật một nguồn sự thật duy nhất mà bench sử dụng cho giá cả:

markdown
1---
2name: model-router
3description: Định tuyến mỗi nhiệm vụ đến đúng chỗ ngồi và mức nỗ lực trước khi bắt đầu công việc. Sử dụng khi bắt đầu phiên, trước khi tạo tác nhân phụ, khi người dùng hỏi nên sử dụng mô hình nào, hoặc khi một nhiệm vụ kết hợp giữa lập kế hoạch và thực thi.
4---
5
6# Bộ định tuyến mô hình
7
8Đọc ROUTING.md và áp dụng nó. Không tự ý đưa ra chính sách và không nêu lại chính sách ở đây: tệp này sẽ bị mục nát, và tệp chính sách là tệp nằm dưới cổng đánh giá.
9
10Ba điều mà kỹ năng này thực thi trên tệp đó:
11
12 1. Định tuyến chỉ tại các ranh giới. Bắt đầu phiên và tạo tác nhân phụ. Việc hoán đổi giữa nhiệm vụ làm mất hiệu lực bộ nhớ đệm và tính lại phí ngữ cảnh với tốc độ gấp mười lần tốc độ được lưu trong bộ nhớ đệm.
13 2. Khi kết thúc phiên, thêm tỷ lệ bậc rẻ vào progress.log. Tiết kiệm chỉ cộng dồn khi hầu hết lưu lượng đi qua bậc rẻ, vì vậy con số đó là con số cần theo dõi.
14 3. Bất kỳ thay đổi nào đối với ROUTING.md đều được triển khai thông qua kỹ năng ship-gate. Không có ngoại lệ.

Thứ tự quyết định phản ánh chi phí: kiểm tra miễn phí trước, phỏng đoán có điểm số thứ hai, thử nghiệm trả phí cuối cùng.

Tiền nằm ở sự phân chia lưu lượng, không phải ở sự thông minh.

  • Gửi 70 phần trăm công việc đến một bậc có giá một phần mười và hóa đơn giảm khoảng hai phần ba
  • Các báo cáo sản xuất tập trung từ 40 đến 85 phần trăm tiết kiệm được, và sự chênh lệch hầu như hoàn toàn là do sự phân chia
  • Tiết kiệm chỉ cộng dồn sau khi hầu hết lưu lượng đi qua bậc rẻ

Đó là lý do tại sao tỷ lệ rẻ trong progress.log là con số duy nhất mà hệ thống này buộc bạn phải theo dõi.

Nỗ lực là mặt số thứ hai

Nỗ lực là định tuyến xuống một cấp: cùng một kỹ năng, được áp dụng cho thời gian mô hình suy nghĩ thay vì mô hình nào chạy.

Mọi công cụ đều chôn mặt số trên một mặc định khác nhau. Cao trong Claude Code. Trung bình trong Codex. Ẩn trong hầu hết các ứng dụng. Vì vậy, mọi người để một cài đặt cho mọi thứ, và hoặc trả quá nhiều hoặc suy nghĩ quá ít.

Avid - inline image

Mặc định là cao và coi tối đa là phương sách cuối cùng, không phải là một sự khoe khoang.

  • Tài liệu về nỗ lực của chính Anthropic đặt điểm ngọt ngào ở mức cao và cảnh báo rằng tối đa có thể dẫn đến suy nghĩ quá mức
  • Một điểm chuẩn công khai của 26 nhiệm vụ mã hóa cho thấy cao làm tăng gấp ba lần chất lượng so với thấp
  • Cùng một điểm chuẩn cho thấy xhigh tốn kém hơn gấp đôi so với mức tăng hiếm khi tự hoàn vốn

Mô hình quan trọng ít nhất bằng mặt số. Fable 5 ở nỗ lực thấp hơn thường đánh bại các mô hình cũ hơn chạy ở xhigh, vì vậy hãy chọn mô hình tốt hơn trước khi chọn cài đặt cao hơn.

Hai cài đặt bị nhầm lẫn là các bậc cao hơn của bậc thang này. Cả hai đều không nằm trên đó.

  • Tối đa là chiều sâu. Một mô hình, một vấn đề, nhiều thời gian hơn.
  • Cực đại là chiều rộng. Một nhiệm vụ được tỏa ra cho bốn tác nhân song song, sau đó được tổng hợp.

Các trục khác nhau. Cực đại không phải là "nhiều hơn tối đa," và hướng nó vào một nhiệm vụ không thực sự chia tách sẽ mua bốn tác nhân sao chép một cuộc điều tra.

Bậc thang không chuyển đổi qua các phiên bản. Cùng một từ mua một lượng suy nghĩ khác nhau trên một mô hình mới so với mô hình cũ.

Di chuyển một nhiệm vụ quen thuộc đến một chỗ ngồi mới, bắt đầu một bậc dưới cài đặt bạn tin tưởng. Chỉ leo lên nếu đầu ra yêu cầu.

Một cái bẫy thuộc về các bầy đàn cụ thể.

Các tác nhân phụ kế thừa mô hình của cha mẹ và nỗ lực của cha mẹ. Một đội tàu được sinh ra từ một người chỉ huy nỗ lực tối đa là một đội tàu nỗ lực tối đa, và nó làm cạn kiệt một cửa sổ trong một tin nhắn duy nhất.

Hãy ghim chúng xuống trong frontmatter của riêng chúng, và biết bạn đang ở trong bộ khung nào khi bạn làm điều đó, bởi vì cái ghim chỉ tốt bằng trình sinh sản đọc nó.

  • Phía Claude. Frontmatter bên dưới là điều khiển.
  • Phía Codex. 5.6 sinh ra các con ở mô hình và mức suy luận của chính cha mẹ, và nó sinh sản một cách háo hức. Mặt số của cha mẹ là mặt số của đội tàu.

Ở phía Codex, các điều khiển thực sự duy nhất là cài đặt bạn đã mở phiên và một dòng trong AGENTS.md nói rằng không sinh sản trừ khi được yêu cầu. Xác minh cái nào bạn có trước khi tin tưởng một trong hai:

yaml
1name: scout
2model: haiku
3effort: low # các tác nhân phụ kế thừa cha mẹ. một bầy nỗ lực tối đa
4 # làm cạn kiệt một cửa sổ trong một tin nhắn. hãy ghim chúng xuống.

Đặt nó theo từng công cụ: /effort trong Claude Code và Codex TUI, một cờ như codex -e high, một dòng trong cấu hình hoặc trường effort trên API.

Định tuyến mô hình quyết định ai suy nghĩ. Định tuyến nỗ lực quyết định thời gian suy nghĩ, và mặt số thứ hai rẻ hơn để xoay vì không có gì khác trong thiết lập thay đổi và bộ nhớ đệm vẫn ấm. Hãy dành nỗ lực nơi vòng lặp rẽ nhánh. Mọi nơi khác, nó là một khoản thuế.

Theo dõi con số duy nhất hàng tuần:

bash
1grep '^route' progress.log | awk -F'\t' \
2 '{r++; if($3!="frontier")c++} END{printf "cheap share: %.0f%%\n", c/r*100}'

ROUTING.md, chính sách mà cả hai bộ khung đều đọc

Mọi thứ ở trên được cô đọng thành một tệp ở thư mục gốc của kho lưu trữ.

markdown
1# ROUTING.md
2
3Định tuyến là bốn quyết định và thứ tự là điểm mấu chốt:
4 1. Ở ĐÂU: bộ khung nào chạy công việc
5 2. KHI NÀO: tại ranh giới nào quyết định được đưa ra
6 3. AI: mô hình nào ngồi vào chỗ
7 4. KHÓ NHƯ THẾ NÀO: mức nỗ lực nào mà mô hình đó chạy ở đó
8Hầu hết các nhóm chỉ tranh luận về 3. Tiền nằm ở 2 và 4.
9
10## 1. Ở ĐÂU: bộ khung trước mô hình
11Một mô hình được hậu huấn luyện bên trong một bộ khung chạy lệch phân phối ở bất kỳ nơi nào khác.
12Chênh lệch đo được: 20,2 phần trăm bản địa so với 7,7 phần trăm bên thứ ba, cùng trọng số.
13
14| Công việc | Bộ khung | Tại sao |
15|---|---|---|
16| viết mã | bộ khung bản địa của mô hình | người viết suy giảm khi lệch phân phối |
17| xem xét mã | bộ khung bản địa của người xem xét | một bài đánh giá yếu còn tệ hơn không có |
18| đọc, trinh sát | bất kỳ đâu | đọc rẻ và có thể xác minh |
19| biến đổi cơ học | bất kỳ đâu | nếu kiểm tra là xác định, bộ khung hầu như không quan trọng |
20
21LUẬT: tự do ánh xạ lại các làn đọc và xem xét. Làn viết giữ nguyên bộ khung bản địa cho đến khi bộ đánh giá của riêng bạn nói khác. Sự ghi đè đó phải là một phép đo, không phải là sở thích.
22
23## 2. KHI NÀO: định tuyến tại các ranh giới, không bao giờ bên trong chúng
24Việc hoán đổi giữa phiên sẽ vứt bỏ bộ nhớ đệm prompt. Đầu vào được lưu trong bộ nhớ đệm có giá bằng một phần mười đầu vào mới, do đó, một sự hoán đổi không cần thiết sẽ tính lại phí toàn bộ ngữ cảnh với giá gấp mười lần và chẳng mua được gì.
25
26Các ranh giới hợp pháp, những nơi DUY NHẤT có thể đưa ra quyết định định tuyến:
27 - bắt đầu phiên
28 - tạo tác nhân phụ
29 - một mục tiêu mới trong bầy
30 - một bàn giao đánh giá cho dòng dõi khác
31 - một dự phòng được kích hoạt bởi sự cố hoặc biện pháp bảo vệ
32
33Bất hợp pháp ở mọi nơi khác. Không có định tuyến theo lượt. Không có hoán đổi thích ứng giữa nhiệm vụ. Cascade nhận được CHÍNH XÁC MỘT lần leo thang và nó mở ra một ranh giới mới.
34
35LUẬT: chọn chỗ ngồi khi ranh giới mở ra, sau đó ở yên cho đến ranh giới tiếp theo.
36
37## 3. AI: quy trình quyết định (kết quả khớp đầu tiên thắng, ghi lại kết quả)
38
39Lớp 1, các quy tắc. Miễn phí. Luôn kiểm tra trước.
40
41| Tín hiệu | Chỗ ngồi |
42|---|---|
43| extract / format / summarize / classify / tests | Haiku hoặc Luna, nỗ lực thấp |
44| plan / architect / migrate / root-cause | Fable lập kế hoạch, Sonnet thực thi |
45| ngữ cảnh trên 60k token | Bậc Anthropic 1M (giá cố định) |
46| xem xét mã do tác nhân viết | dòng dõi khác, bộ khung bản địa |
47| mục tiêu chia thành các phần độc lập | bầy: Fable viết và chấm điểm |
48
49Lớp 2, điểm số. Một điểm mỗi mục:
50 - chứa why / debug / race / deadlock / refactor / security / optimize
51 - chạm vào nhiều hơn một hệ thống con
52 - một lần thử trước đó đã thất bại
53 - thay đổi là không thể đảo ngược hoặc hướng đến người dùng
54 0-1 -> bậc rẻ, nỗ lực thấp. 2 -> Sonnet, trung bình. 3+ -> tiên tiến, cao.
55
56Lớp 3, cascade. Chạy rẻ, xác minh một cách xác định, leo thang CHÍNH XÁC MỘT lần.
57Không bao giờ hai lần. Thất bại thứ hai là vấn đề về đặc tả kỹ thuật và một mô hình lớn hơn sẽ không sửa đặc tả kỹ thuật của bạn.
58
59Chỗ ngồi và dự phòng nằm trong .claude/skills/model-bench/SKILL.md. Không có giá ở đây.
60
61## 4. KHÓ NHƯ THẾ NÀO: định tuyến nỗ lực
62Nỗ lực là định tuyến xuống một cấp. Mặt số rẻ nhất trong tệp này: không có gì khác thay đổi và bộ nhớ đệm vẫn ấm.
63
64| Nỗ lực | Sử dụng cho |
65|---|---|
66| thấp | lỗi chính tả, đổi tên, sắp xếp, trích xuất, MỌI tác nhân phụ theo mặc định |
67| trung bình | mã thông thường từ một đặc tả kỹ thuật rõ ràng, tóm tắt, viết tiêu chuẩn |
68| cao | tháo dỡ, di chuyển, lỗi khó chịu, tất cả công việc của người chỉ huy (MẶC ĐỊNH) |
69| tối đa | chỉ vấn đề mà cao đã thất bại trong việc giải quyết |
70| cực đại | KHÔNG NẰM TRÊN BẬC THANG NÀY. chiều rộng, không phải chiều sâu: 4 tác nhân song song. tắt theo mặc định |
71
72 1. Mặc định là cao. Điểm ngọt ngào nằm ở đó; tối đa có xu hướng suy nghĩ quá mức.
73 2. Mô hình tốt hơn đánh bại mặt số cao hơn. Nâng cấp chỗ ngồi trước cài đặt.
74 3. Các tác nhân phụ KẾ THỪA mô hình của cha mẹ VÀ nỗ lực. Một đội tàu được sinh ra từ một người chỉ huy nỗ lực tối đa chạy ở mức tối đa và làm cạn kiệt một cửa sổ trong một tin nhắn. Ghim mọi tác nhân phụ trong frontmatter của riêng nó: effort: low. Nơi trình sinh sản bỏ qua cái ghim, mặt số của cha mẹ LÀ mặt số của đội tàu. Kiểm tra cái nào bạn có.
75 4. Tối đa là chiều sâu. Cực đại là chiều rộng. Cực đại chỉ khi các vấn đề phụ thực sự độc lập, không bao giờ là mặc định và hoàn toàn không khi bộ khung sinh sản quá mức.
76 5. Bậc thang không chuyển đổi qua các phiên bản. Trên một mô hình mới, bắt đầu một bậc dưới cài đặt bạn tin tưởng trên mô hình cũ.
77 6. Chế độ nhanh cũng không phải là một mức nỗ lực. Nó mua độ trễ với giá 2,5 lần tín dụng trên các token mà bạn đã đốt anyway. Tắt.
78
79Mặt số sống ở bốn nơi: /effort trong Claude Code và Codex TUI, codex -e high, model_reasoning_effort trong cấu hình, trường effort trên API. Claude Code mặc định cao, Codex mặc định trung bình, hầu hết các ứng dụng ẩn nó hoàn toàn, đó là lý do tại sao các nhóm vô tình chạy một mức cho mọi thứ.
80
81## 5. Dự phòng: giả sử tiên tiến bị sập
82Khả dụng của tiên tiến không được đảm bảo và một biện pháp bảo vệ có thể định tuyến lại một cuộc gọi đến Opus 4.8 giữa lúc chạy, trong dưới 5 phần trăm số phiên, mà không báo lỗi.
83 - Mọi chỗ ngồi đều có một dự phòng được đặt tên. Không có ngoại lệ.
84 - Mọi dự phòng đều được ghi lại. Việc định tuyến lại im lặng là một lỗi, bởi vì bạn có thể đang đọc đầu ra từ một mô hình mà bạn không chọn.
85 - KHÔNG BAO GIỜ lặp lại trên đầu ra từ một mô hình mà bạn không chọn.
86
87## 6. Con số quyết định liệu bất kỳ điều này có hiệu quả hay không
88Chi phí pha trộn là sự phân chia lưu lượng của bạn, không có gì khác. 70 phần trăm rẻ cắt giảm hóa đơn khoảng hai phần ba. 10 phần trăm tiết kiệm tiền lẻ. Độ chính xác của bộ định tuyến có giá trị hơn nhiều so với sự thông minh của bộ định tuyến.
89
90Theo dõi nó bằng một dòng lệnh trong BUILD 4. Dưới 50 phần trăm, tiết kiệm chưa bắt đầu cộng dồn. Sửa sự phân chia trước khi chạm vào bất cứ thứ gì khác ở đây.
91
92## 7. Cổng trên tệp này
93LUẬT: không có thay đổi nào đối với tệp này được triển khai mà không có eval_gate.py vượt qua trên 50 đến 500 trường hợp được giữ lại. Phán quyết BỊ CHẶN là cuối cùng và không thể bị ghi đè trong phiên. Cổng và thay đổi không được có chung tác giả.
94
95## 8. Khi nào nên xóa tệp này
96Nếu một mô hình được chọn tốt duy nhất đánh bại toàn bộ ngăn xếp này trên các bộ đánh giá của bạn, hãy xóa bộ định tuyến và giữ lại sự đơn giản. Điểm chuẩn định tuyến nghiêm ngặt nhất năm 2026 đã phát hiện ra rằng nhiều bộ định tuyến, bao gồm cả các bộ định tuyến thương mại, không đáng tin cậy để đánh bại việc chọn mô hình đơn tốt nhất.
97Đo lường trước. Định tuyến sau. Xóa một cách vui vẻ.

KIỂM TRA 4: router.py chạy ngoại tuyến và in ra một quyết định, một lý do và sự phân chia. Ghi chú của bạn chứa phép đo khoảng cách 5x hoặc một ghi chú có ngày tháng nói rằng bộ định tuyến chưa được chứng minh.

BUILD 5: Sự đảo ngược cố vấn

Mô hình cổ điển đặt mô hình thông minh phụ trách và đốt token tiên tiến cho việc thực thi hàng loạt. Hãy đảo ngược nó.

Kết quả cố vấn của Anthropic: Haiku với một cố vấn cấp Opus đã tăng gấp đôi điểm số của nó trên một điểm chuẩn duyệt web khó, 41.2 so với 19.7 một mình, với chi phí thấp hơn 85 phần trăm mỗi nhiệm vụ so với bậc trung bình.

Thực thi là hàng loạt. Lời khuyên là gram.

Bộ khung quyết định khi nào trình điều khiển bị kẹt, không bao giờ là trình điều khiển, .claude/skills/stuck-protocol/SKILL.md:

markdown
1---
2name: stuck-protocol
3description: Leo thang lên cố vấn chuyên gia fable khi tiến độ bị đình trệ. Sử dụng khi cùng một lỗi xuất hiện hai lần, khi hai bước liên tiếp không thay đổi tệp nào trong khi lỗi vẫn tồn tại, khi một bài kiểm tra thất bại sau hai lần sửa lỗi riêng biệt hoặc khi người dùng nói rằng tác nhân đang đi vòng quanh.
4---
5
6# Giao thức kẹt (sự đảo ngược cố vấn)
7
8Bạn là trình điều khiển rẻ và đó là một tính năng: thực thi là hàng loạt, lời khuyên là gram. Nhưng các mô hình nhỏ quá tự tin, vì vậy bạn không được quyết định rằng bạn ổn. Thay vào đó, hãy kiểm tra các tín hiệu xác định.
9
10Các tín hiệu kẹt (bất kỳ tín hiệu nào cũng kích hoạt giao thức):
11 1. Cùng một chuỗi lỗi trên hai bước liên tiếp.
12 2. Hai bước liên tiếp với không có tệp nào được thay đổi trong khi lỗi vẫn tồn tại.
13 3. Cùng một bài kiểm tra thất bại sau hai lần sửa lỗi thực sự khác nhau.
14
15Quy trình:
16 1. Đếm số lần tư vấn trong phiên này. Ở lần thứ 3, DỪNG LẠI: đánh dấu nhiệm vụ là BỊ CHẶN với lỗi đính kèm, tóm tắt cho con người, chuyển sang. Không bao giờ có lần tư vấn thứ tư.
17 2. Xây dựng bản tóm tắt, không có gì khác được đưa vào đó:
18 MỤC TIÊU: một dòng
19 NỖ LỰC x2: hai lần thử cuối cùng, mỗi lần 200 ký tự
20 LỖI: lỗi chính xác, 300 ký tự
21 3. Tạo fable-expert với bản tóm tắt. Nó trả về hướng dẫn, không phải mã.
22 4. Áp dụng hướng dẫn trong bước tiếp theo, trước bất cứ điều gì của riêng bạn.
23 5. Thêm một dòng vào progress.log: tư vấn #N, nó đã nói gì, liệu nó có hiệu quả không.
24
25Quy tắc cứng:
26 - Không bao giờ yêu cầu chuyên gia làm công việc. Nếu câu trả lời chứa một triển khai đầy đủ, hãy lấy ý tưởng và loại bỏ mã.
27 - Không bao giờ làm đầy bản tóm tắt với lịch sử lý luận của bạn. Giá trị của chuyên gia là ngữ cảnh sạch; một bản tóm tắt dài sẽ đầu độc nó.
28 - Nếu hướng dẫn thất bại, điều đó được tính là một trong hai lần thử của bạn cho lần tư vấn tiếp theo. Ba lần tư vấn thất bại có nghĩa là nhiệm vụ nằm ngoài khả năng của phiên này và nói điều đó là đầu ra chính xác.

Chỗ ngồi của chuyên gia, .claude/agents/fable-expert.md:

markdown
1---
2name: fable-expert
3description: Cố vấn tiên tiến cho những khoảnh khắc bị kẹt. Nhận một bản tóm tắt nhỏ gọn từ stuck-protocol, trả về hướng dẫn dưới 600 token, không bao giờ tự làm công việc.
4model: claude-fable-5 # hoán đổi sang opus nếu các quy tắc lưu giữ gây khó khăn
5effort: high
6tools: Read, Grep, Glob # có thể đọc, không bao giờ được chỉnh sửa
7---
8
9Bạn là chuyên gia tư vấn, không phải nhà thầu. Một mô hình rẻ hơn đang lái xe và đã gặp tường. Giá trị của bạn là phán đoán tính bằng gram và ngữ cảnh sạch: bạn không biết gì về cách trình điều khiển đến đây, đó chính xác là lý do tại sao cách đọc của bạn sắc bén hơn.
10
11Bạn nhận được một bản tóm tắt: MỤC TIÊU, hai NỖ LỰC cuối cùng và LỖI. Nếu bản tóm tắt đề cập đến các tệp cụ thể, bạn có thể đọc chúng. Bạn không được chỉnh sửa bất cứ thứ gì.
12
13 1. Nếu bản tóm tắt thiếu thứ gì đó bạn cần, hãy trả lời bằng MỘT dòng nêu tên thứ còn thiếu. Đừng phỏng đoán xung quanh một lỗ hổng.
14 2. Chẩn đoán trước khi kê đơn: một hoặc hai câu về những gì thực sự sai.
15 3. Sau đó trả lời theo định dạng này và không có gì sau nó:
16 HƯỚNG DẪN:
17 1. (sửa lỗi có khả năng nhất: nên thử gì và tại sao nó sẽ hiệu quả)
18 2. (dự phòng nếu 1 thất bại)
19 3. (chỉ khi có một con đường thứ ba thực sự khác biệt)
20 TIN CẬY: cao | trung bình | thấp
21 4. Dưới 600 token. Không có khối mã nào trên 10 dòng. Đưa ra ý tưởng, không phải triển khai. Nếu câu trả lời của bạn chứa một giải pháp đầy đủ, bạn đã thất bại trong vai trò.
22 5. Nếu bản thân nhiệm vụ bị sai lầm, hãy nói điều đó trong mục 1 và đề xuất những gì nên nói với con người.
23
24Lưu ý của người vận hành: nếu tổ chức của bạn không thể chấp nhận mức lưu giữ cấp Mythos, hãy thay đổi dòng model thành opus. Vai trò hoạt động giống nhau; kết quả cố vấn lần đầu tiên được chứng minh với các cố vấn cấp Opus.

Và cùng một làn đường ngược lại cho các phiên Codex, ~/.codex/prompts/fable-advice.md:

bash
1claude --model claude-fable-5 -p "You are an expert advisor.
2 A cheaper model is driving and is stuck. BRIEF: <goal, two
3 attempts, error>. Reply GUIDANCE: up to 3 numbered items,
4 under 600 tokens. Do not do the work."

Các mô hình nhỏ quá tự tin, vì vậy bộ khung theo dõi hành vi thay vì hỏi.

Bản tóm tắt vẫn nhỏ, bởi vì giá trị của chuyên gia là ngữ cảnh sạch và một bản tóm tắt dài sẽ đầu độc nó.

Mỗi lần tư vấn chạy một vài trăm token hướng dẫn. Đó là lý do tại sao kinh tế học sụp đổ: hàng triệu lần thực thi cưỡi trên bậc $1 và phán đoán đến theo gram với giá $50 mỗi triệu.

Cognition đã công bố sự thất bại đầu tiên. Trần nhà được đặt bởi trình điều khiển, không phải cố vấn, và mô hình chỉ được đền đáp sau khi trình điều khiển của họ được cải thiện một thế hệ.

Vấn đề mở là một trình điều khiển nhận ra nó bị kẹt. Đó là lý do tại sao các tín hiệu trên là hành vi và tại sao chúng sống trong bộ khung.

KIỂM TRA 5: advisor_loop.py vượt qua các khẳng định của nó: trình điều khiển thất bại hai lần theo cùng một cách, một lần tư vấn kích hoạt, nhiệm vụ hoàn thành, các lần tư vấn ở dưới giới hạn.

BUILD 6: Bench hai làn

Không có gì tự chấm điểm bài tập về nhà của chính nó là một quy luật và bản dựng này thực thi nó trên các nhà cung cấp.

Cùng trọng số trong một bộ khung nước ngoài giảm mạnh. Một phép đo năm 2026 cho thấy 20,2 phần trăm bản địa so với 7,7 phần trăm bên thứ ba.

Vì vậy, mỗi người xem xét chạy trong nhà riêng của nó. Claude xem xét trong Claude Code. Sol xem xét thông qua Codex CLI.

Thẩm phán nội bộ, .claude/agents/fresh-eyes-reviewer.md:

markdown
1---
2name: fresh-eyes-reviewer
3description: Trình đánh giá mã với ngữ cảnh sạch. Gọi sau bất kỳ thay đổi nào do agent thực hiện.
4 Không chia sẻ lịch sử với người viết, tự đọc diff, không được phép chỉnh sửa.
5model: haiku # đổi thành opus khi diff có tác động lớn
6effort: medium
7tools: Read, Grep, Glob, Bash
8---
9
10Bạn không có ký ức nào về cách thay đổi này được viết ra, và đó là mục đích. Đừng
11hỏi lý do của tác giả. Đừng tin vào bất kỳ bản tóm tắt nào. Chỉ dựa trên bằng chứng.
12
13 1. git diff HEAD~1 (hoặc phạm vi được chỉ định) và đọc từng hunk.
14 2. Đọc TOÀN BỘ nội dung của từng tệp bị ảnh hưởng, không chỉ các hunk. Lỗi ẩn náu
15 ở các dòng không thay đổi xung quanh một thay đổi.
16 3. Chạy bộ kiểm thử được đặt tên trong README hoặc CLAUDE.md.
17 4. Săn lùng ba lỗi agent cổ điển:
18 lười biếng: triển khai một phần, TODO, chỉ xử lý cho một trường hợp
19 tự đánh giá: kiểm thử bị yếu đi, xác nhận bị xóa, bộ kiểm thử bị bỏ qua
20 đi lệch: các thay đổi ngoài phạm vi của tác vụ đã nêu
21 5. Kết luận, theo đúng định dạng này:
22 VERDICT: PASS hoặc FAIL
23 BUGS: đánh số, mỗi lỗi kèm file:line và lý do một câu
24 RISK: một câu về thứ rủi ro nhất mà thay đổi này tác động
25
26Quy tắc cứng: bạn không được phép chỉnh sửa tệp, không được chạy lại tác vụ của người viết, và
27danh sách BUGS trống với VERDICT: FAIL là không hợp lệ. Nếu không thể chạy kiểm thử, đó là
28FAIL tự động kèm lý do.

Trình đánh giá đa nhà cung cấp, .claude/agents/sol-reviewer.md, là một đoạn đường ống chạy một lệnh và chuyển tiếp kết luận nguyên văn. Sol là người đánh giá; tệp này đưa nó vào bộ khung riêng của nó:

markdown
1---
2name: sol-reviewer
3description: Trình đánh giá đa nhà cung cấp. Gửi commit mới nhất đến GPT-5.6 Sol thông qua
4 Codex CLI, trong bộ khung gốc của Sol, và chuyển tiếp kết luận mà không thay đổi.
5model: haiku # chỉ là đường ống. Sol là người đánh giá.
6effort: low
7tools: Bash, Read
8---
9
10Bạn là đường ống, không phải người đánh giá. Các mô hình từ cùng một họ có chung điểm mù; làn này
11tồn tại vì Sol không chia sẻ điểm mù của Claude.
12
13 1. Kiểm tra CLI: codex --version. Nếu thiếu, xuất ra VERDICT: FAIL kèm lý do
14 "codex CLI chưa được cài đặt" cùng đường dẫn thiết lập (hoặc plugin chính thức:
15 /plugin marketplace add openai/codex-plugin-cc, /plugin install, /codex:review).
16 2. Chạy đánh giá ở mức effort cao, trong bộ khung riêng của Sol:
17
18 codex --profile deep exec "Hãy đánh giá commit mới nhất (git show HEAD) với tư cách
19 một kỹ sư cao cấp đầy thù địch chưa từng gặp tác giả. Đọc mọi tệp bị ảnh hưởng
20 ĐẦY ĐỦ, không chỉ các hunk. Săn lùng: triển khai một phần, kiểm thử bị yếu đi
21 hoặc bị xóa, thay đổi ngoài phạm vi tác vụ đã nêu. Kết thúc bằng chính xác
22 'VERDICT: PASS' hoặc 'VERDICT: FAIL' kèm theo các phát hiện được đánh số, mỗi phát hiện
23 kèm file:line và lý do một câu."
24
25 3. Lưu toàn bộ đầu ra vào .review_sol_<short-hash>.md.
26 4. Chuyển tiếp lên trên: dòng VERDICT trước, sau đó là các phát hiện NGUYÊN VĂN. Không
27 tóm tắt gọn các phát hiện, không thêm lời trấn an, không tranh luận với Sol.
28 Nếu kết luận là FAIL, hệ thống cha quyết định sửa gì. Bạn không quyết định gì cả.
29
30Quy tắc cứng: không bao giờ chỉnh sửa tệp, không bao giờ chạy lại tác vụ của người viết, không bao giờ
31thay thế bằng đánh giá của chính bạn. Nếu codex bị lỗi giữa chừng, hãy báo cáo là FAIL kèm stderr
32thay vì lặng lẽ thử lại nhiều hơn một lần.

Đối với CI, loop/two_lane.sh điều khiển toàn bộ quá trình trao đổi, tối đa ba vòng:

bash
1claude -p "Implement: $TASK. Run the tests. Commit when green."
2review=$(codex exec "Review HEAD ... VERDICT: PASS or FAIL plus findings.")
3grep -q "VERDICT: PASS" <<< "$review" && exit 0
4claude -p "A reviewer from another model family found these issues.
5 Fix every one, rerun tests, commit: $review"

Trong Claude Code, bạn có thể bỏ qua hoàn toàn script.

OpenAI phát hành một plugin Codex chính thức cho Claude Code, có mặt từ tháng 3 năm 2026 và đạt khoảng hai mươi nghìn sao GitHub trong vòng chín tuần. Điều đó cho thấy thị trường đã xác nhận đánh giá đa nhà cung cấp trở thành xu hướng chính thống. Cài đặt một lần:

text
1/plugin marketplace add openai/codex-plugin-cc
2/plugin install codex@openai-codex
3/codex:setup

Ba thao tác trong bất kỳ phiên Claude nào:

  • /codex:review cho một lượt đánh giá tiêu chuẩn
  • chế độ đối kháng, cố tình tấn công các quyết định thiết kế của bạn
  • bàn giao nền cho Codex

Sử dụng chế độ đối kháng cho bất kỳ thứ gì có tác động lớn. Sử dụng bàn giao khi công việc nặng về terminal, nơi Sol mạnh nhất.

Ngày càng nhiều nhà phát triển hiện chạy GPT-5.6 Sol trong Claude Code, thông qua proxy từ BUILD 7, và ưa chuộng nó hơn Codex cho công việc hàng ngày.

Nó chứng minh luận điểm: thuê trọng số, sở hữu bộ khung.

Điểm hạn chế là quy luật bộ khung gốc, vì Sol trong Claude Code chạy bên ngoài môi trường nhà của nó. Hãy xác nhận điều này trên bộ đánh giá của riêng bạn. Nếu bộ đánh giá của bạn nói rằng bộ khung ngoại thắng, thì bộ đánh giá của bạn xếp trên điểm chuẩn.

Ba thuộc tính làm cho người đánh giá đáng giá:

  • Ngữ cảnh sạch. Nó đến mà không có bất kỳ lịch sử nào của người viết.
  • Dòng dõi khác. Nó không chia sẻ điểm mù của người viết.
  • Bộ khung gốc. Nó đánh giá ở sức mạnh tối đa.

Một kết luận đã được làm mềm là một bộ xác minh hỏng, vì vậy việc chuyển tiếp là nguyên văn. FAIL lần thứ ba sẽ chuyển tiếp cho con người thay vì thực hiện lượt thứ tư.

KIỂM TRA 6: chạy two_lane.sh, hoặc /codex:review trên commit cuối cùng của bạn. Một VERDICT sẽ xuất hiện trong tệp .review, và FAIL sẽ được chuyển ngược lại làn của người viết.

BUILD 7: Optional Fan-Outs (cài đặt khi điều kiện xuất hiện)

Scout swarm. Cài đặt khi nghiên cứu hoặc khảo cổ mã nguồn chiếm hơn 30 phút trong ngày của bạn. Tạo ba bản sao song song trên các lát cắt riêng biệt:

markdown
1---
2name: scout
3description: Trình đọc song song giá rẻ cho các nhánh nghiên cứu. Tạo nhiều bản cùng lúc
4 cho khảo sát mã nguồn, kiểm toán phụ thuộc, khảo cổ log, nghiên cứu tài liệu.
5 Chỉ đọc theo học thuyết; đọc phân nhánh, ghi luôn là đơn luồng.
6model: haiku
7effort: low # rào cản kế thừa (BUILD 4): một bầy kế thừa
8 # effort tối đa sẽ làm trống một cửa sổ trong một tin nhắn
9tools: Read, Grep, Glob, Bash
10---
11
12Bạn là một trong số nhiều trình đọc có thể chạy song song. Khảo sát lát cắt của bạn và
13báo cáo lại nhỏ gọn và sắc bén. Chỉ tin nhắn cuối cùng của bạn được trả về cho tiến trình cha, vì vậy
14hãy giữ nó dưới 400 từ và làm cho mỗi từ đều xứng đáng.
15
16 1. Tự thu hẹp nhiệm vụ của bạn xuống một lát cắt (một thư mục, một hệ thống con,
17 một câu hỏi) và cho biết bạn đã thu hẹp xuống cái gì.
18 2. Chỉ đọc: Read, Grep, Glob, và shell chỉ đọc (ls, git log, git show, rg).
19 Không bao giờ chỉnh sửa, cài đặt hoặc xóa. Nếu tác vụ cần ghi, hãy báo cáo nó, đừng
20 làm nó.
21 3. Chiều rộng trước, sau đó chiều sâu trên hai hoặc ba điểm nóng nhất.
22
23Định dạng báo cáo, không có gì khác:
24 FINDINGS: tối đa 10 gạch đầu dòng, mỗi gạch là một sự kiện kèm bằng chứng (file:line, commit
25 hash, hoặc URL)
26 GAPS: những gì bạn không thể xác định và tại sao, để tiến trình cha biết cái gì vẫn còn tối
27 HOTSPOT: tệp hoặc hàm duy nhất xứng đáng được xem xét sâu hơn, một dòng
28 về lý do
29
30Đừng bình luận, đừng đề xuất triển khai, đừng làm dài. Một trinh sát trả về
31300 từ hữu ích tốt hơn một trinh sát trả về 3.000 từ lộn xộn, bởi vì
32mọi thứ bạn phát ra đều đáp xuống cửa sổ ngữ cảnh của tiến trình cha và tiến trình cha đang trả tiền cho nó.

Việc đọc phân nhánh vì các trình đọc song song nhân lên. Giới hạn từ tồn tại vì mọi báo cáo đều đáp xuống một cửa sổ ngữ cảnh mà tiến trình cha phải trả tiền.

Việc ghi không bao giờ phân nhánh. Một nghiên cứu ngân sách bằng nhau năm 2026 cho thấy các agent đơn lẻ sánh ngang với các thiết lập đa agent về khả năng suy luận khi token được giữ cố định. Làn này chỉ dành cho đọc.

Overnight burner. Cài đặt khi TASKS.md chứa mười hoặc nhiều hạng mục nhỏ có thể kiểm chứng. Kỹ năng overnight-burner thiết lập các tệp, xác nhận cả hai giới hạn, xác minh lệnh kiểm thử chạy được, sau đó khởi chạy ralph.sh. Giao diện buổi sáng: git log, progress.log, dấu tick.

Plan split. Cài đặt khi token lập kế hoạch chiếm ưu thế trong hóa đơn của một phiên. Một cài đặt trong Claude Code chạy mô hình lớp Opus cho kế hoạch và Sonnet cho thực thi. Lập kế hoạch trên biên giới tính theo gram, thực thi với số lượng lớn.

Trio bench. Cài đặt khi một thay đổi khó nhằn xứng đáng có ba góc nhìn. Hai vai trò đọc và một vai trò viết, và ô thứ tư là một cái bẫy. Phần đường ống nằm bên dưới.

Phần đường ống cho các đội hỗn hợp

Hai phần mã nguồn mở biến một thiết lập hai nhà cung cấp thành thiết lập bất kỳ nhà cung cấp nào. Cài đặt chúng chỉ khi một điều kiện yêu cầu một nhà cung cấp thứ ba.

claude-model-switch (mã nguồn mở, Rust, chạy trên localhost:4000). Một proxy cục bộ giữa Claude Code và bất kỳ điểm cuối tương thích Anthropic hoặc OpenAI nào.

  • Ánh xạ lại ba tầng nội bộ của Claude Code (haiku, sonnet, opus) sang bất kỳ mô hình nào mà nhà cung cấp của bạn cung cấp
  • Chuyển đổi nhà cung cấp mà không cần khởi động lại, thông qua tải lại cấu hình
  • Phân phối dưới dạng plugin Claude Code với các lệnh gạch chéo
bash
1claude-model-switch init # trỏ Claude Code vào proxy
2claude-model-switch add openrouter sk-or-xxx
3claude-model-switch add glm \
4 --haiku glm-4.5-air --sonnet glm-4.7 --opus glm-5
5claude-model-switch use glm # theo phiên, không bao giờ giữa tác vụ
6claude-model-switch orchestrate start --preset trio # planner/coder/reviewer

Trio preset là phiên bản vật lý của bench trong BUILD 7: ba ngăn tmux, mỗi vai trò trên một nhà cung cấp khác nhau, mỗi vai trò có thể định địa chỉ (orchestrate send coder "implement milestone 1"), với khả năng gán lại vai trò giữa phiên nếu một nhà cung cấp bị suy giảm.

CLIProxyAPI (mã nguồn mở). Thủ thuật tương tự, nhưng hướng ngược lại.

Nó bao bọc các đăng nhập OAuth của ChatGPT Codex, Claude Code, Gemini và Grok dưới dạng các điểm cuối API tương thích OpenAI, Claude và Gemini.

Dịch: các ghế đăng ký mà bạn đã trả tiền trở thành các mục tiêu API có thể định tuyến cho các script như ralph.sh và two_lane.sh, mà không cần khóa API riêng. Các bản fork cộng đồng mở rộng nó đến Factory và Amp, và các wrapper như ccs thêm tính năng chuyển đổi nhiều tài khoản.

Quy luật chi phối cả hai, từ dữ liệu của BUILD 6: một mô hình được ánh xạ lại chạy trong một bộ khung ngoại.

Ánh xạ lại các làn đọc và đánh giá một cách tự do. Chúng rẻ và có thể kiểm chứng.

Giữ làn viết mã trên một mô hình gốc với bộ khung của nó, cho đến khi bộ đánh giá của riêng bạn chứng minh điều ngược lại.

KIỂM TRA 7: mọi fan-out đã cài đặt đều có điều kiện kích hoạt được viết bên cạnh nó. Cài đặt bất kỳ thứ gì trong số này một cách suy đoán là cách làm phình to ngăn xếp.

BUILD 8: The Factory (hoàn thành trở thành một sự kiện trong cơ sở dữ liệu)

Mọi thứ cho đến nay đều chứng minh công việc trong thời điểm hiện tại. Gate, verdict và bộ đánh giá đều kích hoạt trong quá trình chạy.

Một khi có nhiều hơn một agent chạm vào một dự án qua nhiều hơn một phiên, bạn cần bằng chứng tồn tại sau khi quá trình chạy kết thúc: ai đã làm việc gì, theo thứ tự nào, và liệu vòng đánh giá cuối cùng đã được thông qua chưa.

Avid - inline image

Mô hình đến từ bản demo pi-factory (github.com/xpriment626/pi-factory). Ý tưởng chịu tải là một câu

Một luồng là một dấu vết. Một hàng là bằng chứng. Gate đọc các hàng.

progress.log là một cuốn nhật ký. Bảng đen là một sổ cái. SQLite là sổ cái vì nó có thể truy vấn được sau khi mọi người ngừng nói chuyện.

Tạo factory/factory_gate.py. Nó chứa bốn bảng (tickets, briefs, evidence, verdicts), một lệnh ghi mà mỗi agent gọi khi nó làm việc, và gate hoàn thành. Các điều kiện thất bại của gate ánh xạ đến chính công việc:

python
1checks = [
2 (tickets == 0, "Không có ticket nào được ghi lại."),
3 (done != tickets, "Không phải tất cả ticket đều hoàn thành."),
4 (first_brief is None, "Không có bản tóm tắt kiến ​​trúc nào được ghi lại."),
5 (first_brief > first_code, "Bằng chứng triển khai có trước bản tóm tắt."),
6 (code_ev == 0, "Không có bằng chứng mã nào từ người triển khai được ghi lại."),
7 (build_ok == 0, "Không có bằng chứng lệnh build thành công nào."),
8 (test_ok == 0, "Không có bằng chứng lệnh kiểm thử thành công nào."),
9 (latest("architect") != "green", "Kết luận mới nhất của kiến trúc sư không phải là xanh."),
10 (latest("reviewer") != "green", "Kết luận mới nhất của người đánh giá không phải là xanh."),
11]

Danh sách đó mã hóa toàn bộ học thuyết.

  • Thứ tự được thực thi. Một bản tóm tắt có sau bằng chứng mã đầu tiên là một vi phạm, điều này làm cho việc lập kế hoạch trước khi xây dựng trở thành một sự kiện có thể kiểm tra thay vì một thói quen.
  • Cả hai ghế giám khảo phải xanh trên cùng một chu kỳ mới nhất. Một phê duyệt cũ không thể gánh một diff mới hơn.
  • Hoàn thành với không có hàng kiểm thử thành công nào là không thể, bất kể bản ghi âm có nghe tự tin đến đâu.

Tạo factory/factory.sh, kết nối các ghế bạn đã xây dựng vào thứ tự chạy và ghi lại các hàng giữa mỗi bước:

bash
1G ticket "kanban board" "columns render, drag persists" # hàng planner
2G brief "$BRIEF" # TRƯỚC bất kỳ mã nào
3../loop/ralph.sh && G evidence code pass "loop completed" # BUILD 3 hoạt động
4npm test && G evidence test pass "npm test green"
5G verdict 1 architect green "layout matches brief" # Ghế Claude
6G verdict 1 reviewer green "tests pass, scope clean" # Ghế Sol, qua codex
7python3 factory_gate.py gate factory.db # các hàng quyết định

Không có gì mới được thuê.

Fable cắt ticket và viết bản tóm tắt, chỉ đọc. Vòng lặp BUILD 3 triển khai. Claude và Sol mỗi bên trả về một kết luận từ bộ khung riêng của họ. Chu kỳ lặp lại tối đa ba lần cho đến khi cả hai đều xanh.

Nhà máy là sơ đồ tổ chức cho những nhân viên bạn đã có.

Một lần chạy thực tế, không phải mô phỏng. Lời gọi gate thứ hai là toàn bộ lập luận cho bản build này:

text
1$ factory_gate.py record demo.db ticket "kanban-board" "columns render, drag persists"
2
3$ factory_gate.py gate demo.db
4GATE: REFUSED
5 - Không phải tất cả ticket đều hoàn thành.
6 - Không có bản tóm tắt kiến ​​trúc nào được ghi lại.
7 - Không có bằng chứng mã nào từ người triển khai được ghi lại.
8 - Không có bằng chứng lệnh build thành công nào.
9 - Không có bằng chứng lệnh kiểm thử thành công nào.
10 - Không có chu kỳ đánh giá nào được ghi lại.
11 exit: 1
12
13... các agent làm việc. mỗi bước ghi một hàng ...
14
15$ factory_gate.py record demo.db brief "Stack: node+sqlite. /tasks CRUD."
16$ factory_gate.py record demo.db evidence code pass "src/board.js written"
17$ factory_gate.py record demo.db evidence build pass "npm run build exit 0"
18$ factory_gate.py record demo.db done "kanban-board"
19$ factory_gate.py record demo.db verdict 1 architect green "layout matches brief"
20$ factory_gate.py record demo.db verdict 1 reviewer green "scope clean"
21
22$ factory_gate.py gate demo.db
23GATE: REFUSED
24 - Không có bằng chứng lệnh kiểm thử thành công nào.
25 exit: 1
26
27$ factory_gate.py record demo.db evidence test pass "npm test 33/33"
28
29$ factory_gate.py gate demo.db
30GATE: COMPLETE (1/1 tickets, cycle 1 green x2)
31 exit: 0

Cả hai người đánh giá đều nói xanh. Kiến trúc sư xác nhận bố cục khớp với bản tóm tắt. Người đánh giá xác nhận phạm vi sạch sẽ.

Và gate vẫn từ chối, với một dòng: không có bằng chứng lệnh kiểm thử thành công nào. Không ai đã chạy kiểm thử.

Một kết luận là một ý kiến. Hai ý kiến vẫn không phải là một sự thật. Một hàng kiểm thử thành công sau đó, cùng một gate trả về COMPLETE và thoát 0.

Các mô hình tranh luận cho công việc của chúng một cách thuyết phục, và một bản ghi lại nắm bắt được cuộc tranh luận hơn là sự thật. Các hàng không thể bị tranh luận.

Khi gate từ chối, nó nêu tên chính xác artifact còn thiếu. Điều đó biến "lần chạy thất bại" thành "tạo ra một hàng kiểm thử thành công." Một nhiệm vụ, không phải một bí ẩn.

Điều kiện cài đặt: nhiều hơn một phiên người viết mỗi ngày, chu kỳ đánh giá kéo dài nhiều ngày, hoặc nhu cầu chứng minh sau khi thực tế những gì đã xảy ra. Đối với một kho lưu trữ cá nhân với một vòng lặp hàng đêm, BUILD 3 là đủ và cái này là thừa.

KIỂM TRA 8: tái tạo ảnh chụp màn hình. Ghi lại mọi thứ ngoại trừ một hàng kiểm thử, và gate phải từ chối với chính xác một lý do. Thêm hàng đó và nó trả về COMPLETE. Một gate vượt qua mà không có nó là một trình đọc bản ghi.

BUILD 9: The Swarm (Fable lập kế hoạch, đội thực thi, Fable chấm điểm)

Một trình điều khiển với một cố vấn bao phủ một tác vụ. Một mục tiêu chia thành bốn phần độc lập muốn có bốn công nhân.

Nhưng một đội chỉ giữ được hướng đi của nó nếu một mô hình lập kế hoạch cho mọi mục tiêu và chấm điểm mọi kết quả. Đó là toàn bộ lý do bản build này tồn tại, và lý do các bầy thường thất bại nếu không có nó.

Rung 3 được hiện thực hóa. Fable viết các mục tiêu, đội thực thi chúng, Fable chấm điểm từng kết quả so với tiêu chí riêng của nó, và chu kỳ tiếp theo chỉ lập kế hoạch lại cho những mục tiêu trượt.

Sự hủy bỏ của nó là giới hạn chu kỳ. Khi giới hạn bị vượt quá với các mục tiêu trượt còn tồn đọng, đó là một vấn đề về đặc tả cần chuyển cho con người, không phải lý do để chạy chu kỳ thứ tư.

Tạo swarm/swarm.sh. Ba cài đặt mang học thuyết:

bash
1FLEET=4 # các lần ghi không bao giờ xung đột: mỗi lần một worktree
2WORKER_MODEL=claude-sonnet-5 # hoặc haiku / luna / kimi cho thực thi thuần túy
3WORKER_EFFORT=low # KHÔNG BAO GIỜ kế thừa effort của người điều khiển
4CONDUCTOR=claude-fable-5 # hoặc opus-4-8 nếu các quy tắc lưu giữ gây vấn đề

Ba dòng đó là rõ ràng vì mặc định thì không phải.

Một đội kế thừa sẽ nhận cả mô hình và effort của người điều khiển. Một Fable-effort-cao tạo ra bốn công nhân Fable-effort-cao để làm công việc cơ học là cách đắt nhất có thể để làm điều rẻ nhất có thể.

Hãy đặt chúng. Đừng bao giờ để chúng mặc định.

Phân nhánh đa bộ khung là hợp pháp, và nó không phải là ngoại lệ đối với định luật đầu tiên của ROUTING.md như vẻ ngoài của nó.

  • Một người điều khiển Fable gọi codex exec sẽ chạy Sol bên trong Codex, nguyên bản. Đó là luật được tuân thủ, không phải bị bẻ cong.
  • Điều phá vỡ luật là một subagent phía Claude mang chuỗi mô hình GPT, hoặc ngược lại.

Bộ khung đi cùng với công nhân, không phải với người điều khiển.

Người điều khiển viết các mục tiêu, không bao giờ viết mã, và mỗi mục tiêu mang lệnh kiểm tra riêng của nó, vì vậy "hoàn thành" vẫn là một sự kiện:

json
1{"id":"strip-legacy-auth","spec":"remove the v1 auth path from routes/","check":"npm test -- tests/auth"}
2{"id":"migrate-sessions","spec":"move session store to the new adapter","check":"npm test -- tests/session"}

Sau đó điều phối, chấm điểm và lập kế hoạch lại:

bash
1# dispatch: one git worktree per goal, capped at FLEET in parallel
2claude --model "$WORKER_MODEL" --effort "$WORKER_EFFORT" -p "Execute this spec
3 exactly. Do not expand scope. Run the tests. Commit only when green."
4
5# score: the conductor grades each goal against its OWN check command.
6# the worker's confidence is not evidence. the exit code is.
7bash -c "$chk" && echo "$id" >> passed.txt || misses=$((misses+1))
8
9# replan: next cycle sees passed.txt and re-plans only what missed

Ghế theo ghế:

  • Sonnet 5 cho thực thi mã
  • Haiku hoặc Luna cho công việc cơ học thuần túy
  • Một công nhân trọng số mở như Kimi khi công việc lặp đi lặp lại và trọng số miễn phí
  • Sol khi công việc nặng về terminal
  • Opus 4.8 trên ghế công nhân, chỉ khi một subagent cần suy luận

Dành Fable cho hai công việc mà không mô hình rẻ nào có thể làm: viết các mục tiêu và chấm điểm chúng.

Một đội là một chiến lược chi phí, không bao giờ là một chiến lược thông minh.

Các lần chạy đa agent đốt gấp 3 đến 10 lần token cho công việc tương đương, và một nghiên cứu ngân sách bằng nhau năm 2026 cho thấy các agent đơn lẻ sánh ngang với chúng về khả năng suy luận khi token được giữ cố định.

Một bầy chỉ xứng đáng tồn tại khi các mục tiêu độc lập và chủ yếu là cơ học. Việc ghi luôn là đơn luồng trên mỗi worktree, các hợp nhất diễn ra tuần tự, và một con người chịu trách nhiệm commit cuối cùng.

KIỂM TRA 9: chạy bầy trên một mục tiêu chia làm ba hướng. Một mục tiêu bị hỏng phải trả về FAIL trong results.tsv và được lập kế hoạch lại trong chu kỳ 2, không bao giờ được tuyên bố là hoàn thành.

BUILD 10: Rung 4 (không có gì đã vượt qua một lần mà không được theo dõi)

Mọi thứ cho đến nay đều xác minh công việc trong khi nó đang được tạo ra. Không có gì cho đến nay nhận thấy khi công việc đã hoàn thành ngừng đúng sáu tuần sau đó. Một mục tiêu bạn xác minh một lần là một giả định với một dấu thời gian.

Rung 4 có hai nửa, và sự hủy bỏ của nó quan trọng như lối thoát của nó: nếu không có đề xuất nào vượt qua gate trong tuần này, hệ thống không thay đổi, và đó là một thành công.

Nửa một, các mục tiêu thường trực. Mọi thứ đã hoàn thành đều tốt nghiệp thành một bất biến với một vị từ, được xác minh lại hàng ngày, mãi mãi. Tạo một tệp cho mỗi thứ đã hoàn thành trong goals/:

text
1predicate: npm test -- tests/auth 2>&1 | tail -1 | grep -q passing
2born: 2026-07-13
3status: satisfied
4last-pass: 2026-07-13
5on-violation: wake me. do not auto-fix.

Sau đó system/verify_goals.py chạy toàn bộ và thoát 1 nếu bất kỳ bất biến nào bị phá vỡ, nêu tên mục tiêu, ngày nó được giữ lần cuối và chính sách bạn đã đặt:

python
1held = subprocess.run(["bash","-c",predicate], timeout=60).returncode == 0
2g["status"] = "satisfied" if held else "VIOLATED"
3# a timeout is a violation, not a pass: an expensive predicate is a broken one

Các quy tắc vị từ là nghiêm ngặt có chủ đích: một lệnh shell, thoát 0 có nghĩa là bất biến được giữ, rẻ và chỉ đọc.

Tính từ bị cấm. Nếu một shell không thể kiểm tra nó, một mô hình cũng không thể.

Các mục tiêu phi mã cũng hoạt động theo cùng một cách. test -s reports/$(date +%Y-%m)-review.md là một mục tiêu thường trực tốt cho một báo cáo hàng tháng.

Nửa hai, phân hủy. Mỗi tuần một lần, đọc chất thải mà hệ thống đã tạo ra: các tác vụ BLOCKED, các lần chạy gate thất bại, các gate nhà máy bị từ chối, các PR bị hoàn nguyên, các mục tiêu bị vi phạm.

Sau đó đề xuất tối đa ba thay đổi. Một luật mới cho hiến pháp. Một sửa lỗi cho một kỹ năng liên tục thất bại theo cùng một cách. Hoặc một mục tiêu thường trực mà bạn đã thiếu.

Chỉ đề xuất. Bạn ký duyệt.

bash
1claude --model claude-fable-5 --effort high --allowedTools "Read,Grep,Glob" \
2 -p "Read this week's exhaust: BLOCKED lines in progress.log, GATE REFUSED
3 entries, VIOLATED goals, PRs closed unmerged. Extract AT MOST 3 proposals:
4 a new law (quote the incidents), a skill fix (same failure repeating), or a
5 standing goal we lacked. Propose only, do not edit anything. Clean week is a
6 valid answer, say so and stop."

Rung này chỉ kết thúc khi các bộ đánh giá và các thẩm phán nói rằng hệ thống đã trở nên tốt hơn. Điều đó có nghĩa là hệ thống cần một bộ nhớ về những thất bại của chính nó để cải thiện dựa trên đó.

Lần chạy phân hủy là thứ biến một script thành một thể chế.

Các mục tiêu thường trực là thứ làm cho việc hoàn thành trở nên an toàn. Sentinel phát hiện, đường ống bình thường sửa chữa, và không có gì mục nát trong im lặng.

KIỂM TRA 10: verify_goals.py demo nêu tên bất biến bị hỏng kèm ngày vượt qua lần cuối và để nguyên bất biến lành mạnh. Sau đó viết một mục tiêu thường trực thực tế cho thứ cuối cùng bạn đã hoàn thành.

BUILD 11: Rung 5 (ghế của bạn, và tại sao nó không bao giờ trống)

Rung 5 mang tên bạn vì một lý do cơ học, không phải lý do tình cảm.

Một vòng lặp có thể đạt đến điều kiện dừng của nó và vẫn sai. Kiểm thử vượt qua, gate xanh, cả hai người đánh giá đều ký, và commit cuối cùng vẫn là một sai lầm.

Mọi bản build bên dưới bản này đều tồn tại để thu nhỏ rủi ro đó. Không có bản nào xóa bỏ nó hoàn toàn.

Các nhiệm vụ thường trực của bạn, tất cả đều rẻ:

  • Đọc hàng đợi với cà phê: các tác vụ BLOCKED, các dòng GATE REFUSED, các mục tiêu VIOLATED, phần chia tầng rẻ. Mười phút.
  • Kiểm tra commit cuối cùng trước khi nó được hợp nhất. Không phải mọi diff, mà là cái cuối cùng, cái mà hệ thống tự tin nhất.
  • Ký duyệt hoặc từ chối ba đề xuất phân hủy. Đó là cách duy nhất luật đi vào hiến pháp.

Ba màn chơi chạy theo nhịp độ thay vì theo yêu cầu, vì chúng tốn tiền thật và trả bằng định hướng thay vì diff:

Màn một, vòng lặp phản hồi dự án, hàng tháng.

Trỏ Fable vào những gì bạn đã giao hàng, chỉ đọc, và yêu cầu nó viết một kế hoạch cải tiến chi tiết. Sau đó giao việc thực thi kế hoạch đó cho Opus 4.8 hoặc Sol.

Mô hình đắt tiền làm phần có hiệu ứng cộng dồn, phán đoán về những gì cần thay đổi, và không bao giờ làm phần không có hiệu ứng đó, gõ bàn phím.

bash
1claude --model claude-fable-5 --effort high --allowedTools "Read,Grep,Glob" \
2 -p "Review this project end to end. Write an improvement plan ranked by
3 leverage: what is fragile, what is over-built, what is missing, what should
4 be deleted. Do not write code. Output tasks with acceptance criteria." \
5 > plans/$(date +%F)-improvement.md

Chơi hai, phân tích hành vi, hàng tháng.

Cung cấp cho nó lịch sử phiên và dự án của riêng bạn trên cả hai bộ khung, và yêu cầu nó lập bản đồ cách bạn xây dựng và nơi bạn bế tắc.

Đây là báo cáo duy nhất trong hệ thống có chủ thể là bạn. Nó thường là báo cáo thay đổi nhiều nhất.

Chơi ba, kiểm toán bộ não thứ hai, hàng quý. Hướng nó vào ghi chú, tài liệu và công việc tồn đọng của bạn, và hỏi xem suy nghĩ của chính bạn nói rằng điều gì đáng để xây dựng tiếp theo và điều gì đáng để xóa bỏ. Xem kết quả đầu ra như một đề xuất, giống hệt như phân trộn.

Các bậc thang bên dưới tối ưu hóa việc thực thi, và thực thi hiện là phần rẻ. Định hướng là đầu vào khan hiếm, và định hướng là thứ đáng để trả tiền cho một mô hình tiên tiến. Mua khả năng phán đoán theo từng gram, thực thi theo từng tấn, và giữ lại chữ ký cuối cùng.

CHECK 11: chạy lượt chơi một trên kho lưu trữ của riêng bạn. Nếu kế hoạch không đặt tên cho bất cứ điều gì bạn đã biết là mong manh, thì các tệp ngữ cảnh của bạn quá mỏng, đó là vấn đề của BUILD 1.

BUILD 12: Ops (Vận hành)

Các tác nhân đốt gấp 10 đến 100 lần token so với một cuộc gọi trò chuyện, và đầu vào chiếm ưu thế ở mức xấp xỉ 100 trên 1.

Xếp chồng bốn đòn bẩy từ BUILD 0 (chia tách, lưu cache, xử lý theo lô, nén) và các nhóm báo cáo đạt được mức thấp hơn 70 đến 90 phần trăm so với đường cơ sở chưa tối ưu hóa của họ.

Để có cơ sở: $13 mỗi nhà phát triển mỗi ngày hoạt động là mức trung bình của doanh nghiệp Claude Code, và 90 phần trăm người dùng duy trì dưới $30.

Một dòng kỷ luật thay vì một hệ thống con mới: một lớp tác vụ chỉ có thể tự động hợp nhất sau 20 lần chạy đã ghi nhận với tỷ lệ đạt 95 phần trăm, và một lần giảm xuống dưới 90 phần trăm sẽ thu hồi nó một cách rõ ràng.

bash
1awk -F'\t' '$2=="fix-lint"{r++; if($3=="pass")p++}
2 END{printf "%d runs, %.0f%%\n", r, (r?p/r*100:0)}' progress.log

Chi tiêu hàng tuần, từ chi phí cho mỗi lần đánh dấu mà ralph.sh đã ghi lại:

bash
1grep '^cost' progress.log | awk -F'\t' \
2 -v d="$(date -d '7 days ago' +%F)" \
3 '$2>=d{s+=$3} END{printf "week: $%.2f\n", s}'

Tính toán mức độ tiêu thụ trước khi bạn đặt lịch cron. Chi phí hàng ngày là số lần đánh dấu nhân với chi phí trung bình mỗi lần đánh dấu.

Chỗ ngồi xử lý tác vụ đánh dấu không làm gì yên tĩnh sẽ quyết định hóa đơn. Xu trên bậc giá rẻ, đô la trên một mô hình tiên tiến ở mức nỗ lực cao, cho cùng một câu trả lời "không có gì để làm".

Chạy trong giới hạn của bạn

Các mô hình này đốt token nhanh, và cách bạn chạy chúng quyết định bao nhiêu công việc trong ngày được hoàn thành trước khi bạn chạm tường.

Đầu tiên, hãy biết bức tường nào.

  • Trên một khóa API, bức tường là hóa đơn. progress.log đã theo dõi nó.
  • Trên một chỗ ngồi đăng ký, bức tường là một cửa sổ năm giờ và một cửa sổ hàng tuần được đánh giá cùng nhau. Không cái nào xuất hiện ở bất cứ đâu trong nhật ký ở trên.

Hãy theo dõi đồng hồ đo mà bạn thực sự đang sử dụng: bảng sử dụng trong cài đặt Codex, /usage trên phía Claude, hoặc một màn hình như ccusage hoặc codexbar đặt ở góc màn hình.

Một giới hạn bạn không bao giờ đọc là một giới hạn bạn khám phá ra bằng cách chạm vào nó, với bốn giờ còn lại trên đồng hồ và không có gì để chạy.

Sáu đòn bẩy, rẻ nhất trước. Hầu hết hoạt động ở các bậc 0 đến 2, nơi token bị đốt:

  1. Cắt bớt CLAUDE.md và AGENTS.md chỉ còn những điều cốt yếu. Mọi lời nhắc riêng lẻ đều đọc chúng, cộng với mọi kỹ năng và công cụ bạn đã bật. Tắt những thứ bạn không sử dụng; một máy chủ MCP không dùng đến là một khoản thuế trên mọi tin nhắn.
  2. Giảm mức nỗ lực khi bạn không cần đến đỉnh của thang. Mặc định là trung bình hoặc cao. Dành mức tối đa cho các vấn đề cần nó. Và xác nhận chế độ nhanh đã tắt khi bạn đang ở trong đó, bởi vì nó nhân lên bất cứ thứ gì bạn đang sử dụng.
  3. Cung cấp cho mô hình các điểm dừng rõ ràng. Các mô hình này được thiết kế để chạy lâu. Yêu cầu chúng hoàn thành kế hoạch và kiểm tra lại trước khi thực thi, đó là công việc thực sự của chế độ lập kế hoạch.
  4. Giữ các tác nhân phụ ở mức nỗ lực thấp hơn. Chúng kế thừa mô hình của cha mẹ và cả núm xoay của nó, và một bầy đàn ở mức tối đa sẽ làm trống một cửa sổ trong một tin nhắn. Sửa chữa rẻ là một luật trong cả hai hiến pháp: không sinh sản trừ khi được yêu cầu.
  5. Giữ mô hình đắt tiền tránh xa khối lượng lớn. Cho dù Fable ngồi trên đỉnh như một nhạc trưởng tiêu thụ ít token hay theo yêu cầu như một cố vấn, nó kiếm được giá của nó tại các điểm quyết định, không bao giờ trong khi gõ dòng thứ một nghìn.
  6. Đọc xem một tin nhắn có giá bao nhiêu, sau đó điều chỉnh năm điều trên dựa trên con số đó. Đây là đòn bẩy duy nhất cho bạn biết cái nào trong năm cái kia là vấn đề của bạn.

Cùng nhau, các đòn bẩy này thiết lập thời gian bạn có thể chạy các mô hình tốt nhất trước khi giới hạn ngăn bạn lại.

Cron, khi Tuần 2 bắt đầu:

bash
1# task loop: the daily tick, both caps set
20 7 * * 1-5 cd /path/to/repo/loop && BUDGET_USD=5 ./ralph.sh >> ../progress.log 2>&1
3
4# system loop: nothing that passed once goes unwatched
530 7 * * * cd /path/to/repo && python3 system/verify_goals.py goals/ >> progress.log 2>&1
6
7# system loop: failures become laws, once a week, proposals only
80 9 * * 1 cd /path/to/repo && codex --profile deep exec \
9 "$(cat ~/.codex/prompts/compost.md)" >> proposals/$(date +\%F).md 2>&1

Sổ tay vận hành. Mỗi báo động, và phải làm gì với nó:

Avid - inline image

Lịch trình 30 ngày. Đừng bỏ qua các bước tốt nghiệp; mỗi bước mở khóa bước tiếp theo.

Avid - inline image

Bảng Điều Khiển

Mọi vòng lặp ở đây đều có thể truy cập từ một tổ hợp phím. Các lệnh gạch chéo sống trong ~/.codex/prompts/ ở phía Codex, nơi tên tệp trở thành lệnh, và trong .claude/skills/ ở phía Claude. Các đoạn CLI là các phiên bản không đầu mà cron và CI chạy.

Lệnh gạch chéo Codex

Avid - inline image

/plan-stop và /effort tự trả tiền cho chúng nhanh nhất. Cả hai đều tiêu vài trăm token để ngăn bạn tiêu vài trăm nghìn.

Các mô hình này chạy lâu, vì vậy điểm kiểm tra bạn muốn đến trước khi chi tiêu. /plan-stop trả về kế hoạch, các lệnh "hoàn thành khi", bán kính ảnh hưởng, chi phí và một câu hỏi mà nó sẽ hỏi con người. Sau đó nó dừng lại.

Thả cả hai tệp vào ~/.codex/prompts/, nơi tên tệp trở thành lệnh.

effort.md trở thành /effort, núm xoay định tuyến được làm rõ ràng:

markdown
1# /effort - pick the effort level before you spend it
2
3Do not answer the task yet. Route it first.
4
5Score it. One point each:
6 - contains a why, a debug, a race, a deadlock, a refactor, a security concern,
7 or an optimize
8 - touches more than one subsystem
9 - a previous attempt already failed
10 - the change is irreversible or lands in front of users
11
12Then map:
13
14| Score | Effort | Seat |
15|---|---|---|
16| 0-1 | low | codex -e low, or profile fast (Luna). Never put a frontier seat on it. |
17| 2 | medium | Terra at medium is the seat. |
18| 3+ | high | the default for real work, and where the sweet spot sits. |
19
20Only if high has ALREADY been tried and failed: recommend max, and say plainly
21what the extra thinking is expected to buy. The base rate you are arguing
22against is roughly double the cost for a gain that usually does not repay.
23
24Two reminders before recommending an upgrade:
25 1. A better model at lower effort usually beats a weaker model at max. Change
26 the seat before the dial.
27 2. If this task spawns subagents, state their effort explicitly (low unless
28 proven otherwise). Subagents inherit the parent, and a fleet at max empties a
29 context window in one message.
30
31Output exactly:
32 EFFORT: low | medium | high | max
33 SEAT: <model>
34 WHY: <one line, naming the points that scored>
35 SUBAGENTS: <effort to pin, or none>
36Then stop. The human runs the task at the level you named.

Một câu trả lời thực tế trông như thế này, và nó tốn vài trăm token để tránh vài trăm nghìn:

text
1EFFORT: high
2SEAT: gpt-5.6-sol
3WHY: contains "why", touches auth and sessions, prior attempt failed
4SUBAGENTS: low

plan-stop.md trở thành /plan-stop, điểm kiểm tra trước khi chi tiêu:

markdown
1# /plan-stop - plan the work, then stop
2
3These models run long. That is a feature when the plan is right and an expensive
4way to be wrong when it is not. This command buys the checkpoint before the spend.
5
6Plan the task. Do not edit a single file. Do not run a build. Do not start.
7
8Produce:
9 GOAL: <one line>
10 ASSUMPTIONS: <what you take for granted; if these are wrong, so is the plan>
11 STEPS: <numbered, each one commit's worth of work>
12 DONE_WHEN: <the exact shell command that proves each step landed>
13 BLAST RADIUS: <files and systems touched; name auth, payments, migrations, prod
14 config explicitly>
15 COST: <rough tokens or dollars, and which seat runs each step>
16 UNKNOWNS: <what you would ask a human if you could ask exactly one question>
17
18Then stop and wait.
19
20Rules while planning:
21 - Ambiguity goes in UNKNOWNS. Do not resolve it by guessing and proceeding. A
22 guess that survives into execution costs a hundred times more than a question.
23 - If the plan needs a credential, endpoint, or convention that is not written
24 down in this repo, stop and say so. Never invent one.
25 - If any DONE_WHEN is not a shell command, rewrite that step until it is. If a
26 shell cannot check it, neither can a reviewer.
27 - If the blast radius touches the never-list in AGENTS.md, say so at the top and
28 recommend queueing for a human.
29
30You are paid for the plan here, not the diff. A short honest plan with real
31unknowns beats a confident plan that quietly assumed the wrong thing.

fable-advice.mdreview-hostile.md trở thành /fable-advice và /review-hostile. Cả hai đều là bản sao phía Codex của các tệp bạn đã viết: bản tóm tắt cố vấn từ BUILD 5, và hợp đồng người đánh giá khó tính từ BUILD 6. Cùng các quy tắc, cùng các giới hạn, được chỉ theo hướng ngược lại qua ranh giới nhà cung cấp.

compost.md trở thành /compost, công cụ xây dựng thể chế hàng tuần của bậc 4:

markdown
1# /compost - turn this week's failures into next week's laws
2
3Read this week's exhaust, all of it, and nothing else:
4 - BLOCKED lines in progress.log (tasks that beat three advisor consults)
5 - GATE: REFUSED entries (a run that could not prove it was done)
6 - VIOLATED standing goals (something finished stopped being true)
7 - circuit-breaker and budget exits (codes 2 and 3)
8 - PRs opened by the loop and closed unmerged (the human silently disagreed)
9 - any task class whose pass rate dropped below 90 percent
10
11Extract AT MOST three proposals. Three is a hard cap, not a target. A clean week is
12a valid finding, and saying so is more useful than manufacturing work.
13
14Each proposal is exactly one of:
15 1. A NEW LAW for CLAUDE.md or AGENTS.md. Quote the incidents it would have
16 prevented. A law with one incident behind it is a coincidence; wait for the
17 second.
18 2. A SKILL FIX, when the same failure repeats in the same place. Name the skill,
19 the pattern, and the smallest edit that breaks it.
20 3. A STANDING GOAL you were missing, when something rotted silently. Write the
21 predicate as a shell command, or do not propose it.
22
23Output:
24 WEEK: <dates>
25 EXHAUST: <counts: blocked, refused, violated, reverted>
26 PROPOSAL n: <law | skill fix | standing goal>
27 EVIDENCE: <the incidents, quoted>
28 CHANGE: <the exact text or predicate to add>
29 COST OF NOT DOING IT: <one line>
30 VERDICT: <what you would do first if you could only do one>
31
32Hard rules:
33 - Propose ONLY. Do not edit CLAUDE.md, AGENTS.md, any skill, or any goal file.
34 The human signs, or it does not happen.
35 - Do not propose a law that softens a gate, raises a budget, or relaxes a never.
36 Those are the system asking to be allowed to fail more comfortably.
37 - Empty exhaust: say "clean week" and stop. Do not go looking for work to justify
38 the run.

Các đoạn CLI

Giữ chúng trong một tệp nháp. Chúng là toàn bộ hệ thống có thể truy cập từ một terminal:

bash
1# the daily tick, capped in both dimensions
2BUDGET_USD=5 MAX_ITERS=20 ./loop/ralph.sh
3
4# plan first, spend later (the single highest-leverage habit here)
5codex -e high exec "$(cat ~/.codex/prompts/plan-stop.md)
6
7TASK: migrate the session store off the legacy adapter"
8
9# cross-vendor review of the last commit, in Sol's native harness
10codex --profile deep exec "$(cat ~/.codex/prompts/review-hostile.md)"
11
12# the mirrored lane: Codex stuck, Claude advises
13claude --model claude-fable-5 --effort high -p "$(cat ~/.codex/prompts/fable-advice.md)"
14
15# the goal loop: Fable plans, the fleet runs, Fable scores
16CYCLES=3 FLEET=4 WORKER_EFFORT=low ./swarm/swarm.sh "split the auth migration"
17
18# the system loop: nothing that passed once goes unwatched
19python3 system/verify_goals.py goals/ # exit 1 names what rotted
20python3 gate/eval_gate.py eval/cases.jsonl # exit 1 blocks the routing change
21
22# rung 3, the factory: rows decide, not transcripts
23./factory/factory.sh "build the kanban and notes app per PRD.md"
24python3 factory/factory_gate.py gate factory.db
25
26# the weekly institution-building run
27codex --profile deep exec "$(cat ~/.codex/prompts/compost.md)"
28
29# the one number that says whether any of this worked
30grep '^route' progress.log | awk -F'\t' \
31 '{n++; if($3!="frontier") c++} END{printf "cheap share: %.0f%%\n", c/n*100}'

Chính sách đầy đủ nằm trong ROUTING.md từ BUILD 4, mà cả hai bộ khung đều đọc.

Các Quy Tắc (hãy in cái này)

  1. Luật, không phải mẹo: một con số, một điều không bao giờ được làm, hoặc một lệnh kiểm tra nó.
  2. Mô hình được thuê. Vòng lặp là của bạn. Bạn sống trên bậc 5.
  3. Một vòng lặp không có hủy bỏ là một hóa đơn. Hai giới hạn trên mỗi cái: số lần lặp và đô la.
  4. Bằng chứng chảy lên trên, kiểm soát chảy xuống dưới. Không có bậc nào đóng lại trên một báo cáo từ bên dưới nó.
  5. Một vòng lặp có thể dừng lại và vẫn sai. Kiểm tra cam kết cuối cùng trước khi nó hợp nhất.
  6. Định tuyến tại các ranh giới. Nỗ lực trước mô hình. Bộ nhớ cache bỏ phiếu chống lại việc chuyển đổi.
  7. Mặc định là cao. Tối đa là chiều sâu, siêu tối đa là chiều rộng, chế độ nhanh là một khoản thuế 2,5 lần, và các tác nhân phụ kế thừa cả chỗ ngồi và núm xoay của cha mẹ.
  8. Bộ định tuyến có tội cho đến khi nó đánh bại mô hình đơn tốt nhất trên các bài đánh giá của bạn.
  9. Tiết kiệm là sự phân chia lưu lượng. Theo dõi phần rẻ, không phải bảng giá.
  10. Thực thi là số lượng lớn, lời khuyên là từng gram. Giới hạn các cuộc tham vấn ở mức ba.
  11. Không có gì tự chấm điểm bài tập về nhà của chính nó. Ngữ cảnh mới, dòng dõi khác, bộ khung bản địa.
  12. Một luồng là một dấu vết. Một hàng là bằng chứng. Cổng đọc các hàng.
  13. Không bao giờ chỉnh sửa một bài kiểm tra để vượt qua nó. Không bao giờ hợp nhất qua một cổng BỊ CHẶN.
  14. Một mục tiêu bạn xác minh một lần là một giả định với một dấu thời gian.
  15. Mỗi lần một bước tốt nghiệp. Mỗi tháng, xóa một thứ gì đó.

Kết Luận

Ba mươi ngày kể từ bây giờ, nếu bạn đã thực hiện các kiểm tra:

  • Một vòng lặp gửi đi công việc nhàm chán mà không cần giám sát, đằng sau một cổng xác định
  • Một trình điều khiển rẻ gọi điện cho một chuyên gia tiên tiến chỉ khi nó bế tắc
  • Mọi khác biệt có ý nghĩa đều được đánh giá bởi một mô hình không viết ra nó
  • Một con số trong progress.log cho bạn biết liệu kinh tế học có cộng dồn hay không

Các mô hình chưa bao giờ là phần khó khăn. Một hệ thống luôn trung thực khi bạn ngừng theo dõi mới là phần khó khăn, và đó là lý do tại sao bậc 5 vẫn còn tên của bạn trên đó.

Bắt đầu tối nay với hai mươi phút chứng minh điều đó. verify.sh của BUILD 2. Một lần đánh dấu chạy bằng tay của BUILD 3. Một đánh giá từ dòng dõi khác trên cam kết cuối cùng của bạn.

Lần đầu tiên một người đánh giá không chia sẻ ngữ cảnh với người viết tìm thấy một lỗi thực sự trong công việc mà bạn chắc chắn đã hoàn thành, bạn sẽ không cần bị thuyết phục về phần còn lại.

Xây dựng cổng tối nay. Trả lời với những gì nó đã bắt được trong lần chạy đầu tiên.

Tuyên bố miễn trách nhiệm

Được viết từ các ghi chú nghiên cứu của tác giả và các nguồn đã được xác minh, với sự hỗ trợ soạn thảo và kiểm tra thực tế từ Claude. Tất cả giá cả và hành vi của mô hình đã được kiểm tra dựa trên các trang giá chính thức và tài liệu trong tuần xuất bản; chúng thay đổi, vì vậy hãy xác minh trước khi lập ngân sách.

Bài viết này được viết từ các ghi chú của tác giả như đã đề cập trong đoạn trước và được chỉnh sửa với Claude Opus 4.7.

Nếu bạn muốn thêm bất kỳ chỉnh sửa nào khác, vui lòng thêm vào phần bình luận.

Viết lại trong YouMind

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore 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