Prompt Mục Tiêu Mở (Program Macro) — Operating Skill cho GPT & Agent/Claude Code
Prompt Mục Tiêu Mở (Program Macro) — Operating Skill
Version: v2.1 · Status: active operating skill · Target runtime mỗi prompt: ~60 phút (Approval Lane Macro: ~60–80 phút) Agent work khi input/quyền/gate đủ rõ · Dùng cho: GPT (soạn prompt) + Agent/T1/Claude Code (thực thi). Đây là kỹ năng vận hành để viết và chạy prompt mục tiêu mở. Không phải luật/authority production. Không phải essay về prompting. Dán hoặc trích ở đầu mỗi session lớn.
1. Purpose
Dạy GPT/Agent một luật vận hành cố định: không giao task kỹ thuật lẻ — giao mục tiêu Program Macro đóng trọn một tầng nghiệp vụ / một chương trình vận hành nhiều nhánh. Prompt khóa đầu ra · ranh giới · quyền · bằng chứng; Agent tự chọn cách làm trong scope, tự chạy đến PASS hoặc true blocker, không hỏi lại, không gãy giữa chừng.
2. Core rule — 1 đọc + 5 rõ + 2 khóa
- 1 đọc: Agent tự live-read SSOT + baseline thật trước khi làm. Old report là evidence, không phải authority; live verification luôn thắng old report.
- 5 rõ (prompt phải khóa đủ): (1) Mục tiêu chuyển trạng thái A→B rõ; (2) Đầu vào/quyền/gate rõ và phải live-verify; (3) Hoàn thành end-to-end rõ; (4) Cấm rõ; (5) Bằng chứng rõ (số liệu/test/DOT/report).
- 2 khóa: (khóa an toàn) mọi mutation có gate + rollback verify trước khi apply; (khóa evidence) PASS phải có output thật — no fake PASS / no fake-green.
Thiếu một mục → macro dễ sụp thành "đọc rồi báo blocked". Prompt khóa micro-step không cần thiết = đẩy trách nhiệm ngược về người soạn.
3. Program Macro là gì? (cách hình dung)
Macro = giao outcome cho cả một tầng, không phải một thao tác. Hình dung:
- Một prompt chứa nhiều phase; nếu 20 phase vẫn còn nhỏ → leo thang lên Program Macro lớn hơn, đừng cắt thành nhiều prompt nhỏ.
- Macro tốt = 6–10 workstream cùng một trục outcome và cùng một hệ evidence, không phải 100 việc rời rạc.
- Litmus test — nếu prompt chỉ yêu cầu "đọc một phần, sửa một file/view/lệnh, chạy test hẹp, báo cáo" thì đó là task 1x lỗi thời, hãy nâng thành macro đóng trọn tầng.
- Quy mô vừa ~60 phút: chọn một tầng đủ lớn để lấp đầy ~60 phút làm việc an toàn, nhưng đủ gọn để đóng end-to-end trong một lượt.
3.1 Macro scale ladder & Approval Lane Macro
Thang quy mô (chọn bậc đủ lớn):
- Task = một thao tác kỹ thuật.
- Track = một nhánh bên trong một tầng.
- Layer Macro = đóng trọn một tầng nghiệp vụ.
- Program Macro = đóng trọn một chương trình vận hành nhiều track.
- Approval Lane Macro = đóng trọn cả lane phê duyệt/review, từ blocker → review-ready.
- Nếu Program Macro vẫn để lại quá nhiều overhead review/copy/prompt → leo thang lên Approval Lane Macro hoặc lớn hơn.
Approval Lane Macro nghĩa là (chuỗi end-to-end trong một lượt): SSOT read → claim inventory → safe repair → executable evidence → tool/checker run → reproducible packet → cross-impact check → object governance → Codex/User handoff → PASS hoặc true blocker.
Khi nào dùng Approval Lane Macro — khi đích là: Codex review · User approval · blueprint approval · construction-package approval · seal/recheck handoff · chuyển từ "blocked by review" sang "ready to implement".
Timing: target thời gian không phải timer cứng. Run ngắn chỉ chấp nhận khi residual của lane đã thật sự cạn. Nhưng nếu Agent xong trong vài phút mà còn safe work cùng lane → prompt đã bị down-scope = lỗi thiết kế macro (treated as failed). Với Mythos/T1, mức tối thiểu thực dụng cho Approval Lane Macro không-residual là ~60–80 phút; lớn hơn nếu còn nhiều nhánh.
4. Required prompt frame (format bắt buộc)
Mọi Program Macro prompt viết theo đúng khung này:
Đọc gì trước khi làm? → SSOT/file/index/handoff phải live-read trước
1. Mục tiêu là gì? → outcome chuyển trạng thái, không phải thao tác
2. Thế nào là hoàn thành? → trạng thái hệ thống ráp xong end-to-end
3. Chứng minh hoàn thành bằng gì? → evidence: số liệu/test/DOT/report/readback
4. Những điều không được làm? → forbidden list rõ
5. Phương án nếu thiếu ngữ cảnh/phát sinh? → tự xử trong scope, không hỏi vặt
6. Nếu không hoàn thành thì dừng ở đâu? → PASS / PARTIAL / BLOCKED + exact gap
7. Trước khi báo cáo phải tự kiểm gì? → self-check list
5. Completion contract (hoàn thành nghĩa là gì)
Hoàn thành = trạng thái hệ thống được RÁP XONG đầu-cuối, KHÔNG phải "đã tạo report/file/view/packet". README/claim không phải artifact thực thi; chưa chạy entrypoint thì chưa được tuyên "live-ready".
Agent phải: tự đọc SSOT → live-check → chọn các nhánh an toàn → làm HẾT mọi nhánh an toàn → chỉ dừng ở PASS hoặc true blocker.
- Không thu hẹp phạm vi (no down-scope): nếu phần được giao đã LIVE_READY thì không dừng sớm, không code trùng — mở rộng sang proof sâu hơn / durable closeout / productization / operator surface trong cùng macro.
- Phát hiện lỗi cùng tầng → mở rộng trong tầng đó, không dừng lại.
- Phân biệt: authority ≠ execution channel ≠ runnable artifact. Được phép ≠ chạy được. Nếu chỉ author được mà không chạy được → AUTHOR_MODE/OPERATOR_HANDOFF + blocker, đừng đổ lỗi "blocked by design" khi thực ra chưa check channel.
- Reversible by default: mọi mutation có rollback/disable verify trước khi apply.
6. Cross-impact rule (bắt buộc mọi macro)
Mọi macro phải kiểm tác động chéo: upstream FK/objects bắt buộc, governance artifacts, functions, rollback/compensation primitives, DOT/registry visibility. Với object production-visible: đánh giá đồng bộ năm tầng PG · Directus · Nuxt · AgentData/KB · Qdrant/vector. Không để live execution chết vì thiếu object thượng nguồn.
7. New-object governance rule (no orphan)
Mọi object hoặc phụ kiện hỗ trợ mà macro tạo mới / đổi đáng kể / mới dựa vào, trong cùng macro phải làm MỘT trong ba — nếu không thì không được báo PASS:
- Khai sinh/quản trị vào object-registry (canonical ID, type/species, location, owner-class, authority class, lifecycle, allowed/prohibited, retention/cleanup, promotion path); hoặc
- Chứng minh auto-birth đã govern bằng evidence first-hand (row
birth_registrycó owner + certification); hoặc - Tạo action-ready governance blocker (blocker ID, object, missing fact, root cause, next action, owner/Codex/operator cần thiết).
Lưu ý: phụ kiện cũng là object (harness, profile, fixture, packet, run artifact, file /tmp, label/species/status/blocker-class mới). Không fake-green auto-claim (KB-doc auto-birth = certified=false/owner=null = BORN-UNCERTIFIED, chưa GOVERNED). KB-level ≠ production registry (insertion là AUTHORITY action → phải là blocker). /tmp phải có retention-or-cleanup. Macro governance phải govern cả deliverable của chính nó.
8. Stop conditions
- PASS chỉ khi: outcome đạt; mọi nhánh đã chạy đều evidence-backed; test/DOT/report pass hoặc có N/A rationale rõ; KB upload/list/read/search verified nếu có ghi KB; không vi phạm forbidden; không để hệ ở trạng thái unsafe.
- PARTIAL/BLOCKED chỉ khi: mọi nhánh an toàn có giá trị đều đã chặn; nêu exact external authority/tool/input gap; không còn author-mode/test/DOT/report/readiness/rollback nào làm an toàn được nữa.
- Time-box: nhắm ~60 phút (Approval Lane Macro ~60–80 phút). Còn safe high-value work thì không PASS sớm; gặp block một nhánh thì không dừng cả macro — đánh dấu gap, chạy tiếp các nhánh an toàn khác.
9. Anti-patterns (cấm)
- Giao task lẻ / tư duy "prompt nhỏ, từng phase một".
- Hỏi lại các câu scope đoán trước được; trả lời "ready for instruction" thay vì bắt đầu live-check.
- Down-scope / dừng sau discovery khi còn safe work; code trùng cái đã live-ready.
- Tuyên hoàn thành vì "đã tạo file/report" khi hệ chưa ráp xong.
- Fake PASS / fake-green; PASS không có số liệu/test/DOT.
- Bỏ cross-impact; để orphan object/phụ kiện không khai sinh.
- Mutation không rollback; tự ý đổi semantic/governance/ý nghĩa dữ liệu.
- Khi đích thật là đóng cả approval lane, KHÔNG giao Agent chỉ: tạo punch-list only · viết support report only · fix mỗi P1 only · apply mỗi patch only · chuẩn bị mỗi handoff only. Đó là down-scope cả một lane thành một thao tác.
Surgical drift (được tự xử, không hỏi): sửa drift cơ học dự đoán được (đổi tên cột, map enum, default NOT_NULL, byte-len, adapter chữ ký, schema-name, jsonb key, shape log-table) khi contract + nghĩa nghiệp vụ không đổi, rollback an toàn, có ghi lại. Phải DỪNG và hỏi khi: semantic drift, governance change, data-model meaning change.
10. Pre-report self-check (mục 7)
Trước khi báo cáo, tự kiểm: (1) đã live-read SSOT/baseline? (2) outcome end-to-end đạt hay mới tạo artifact? (3) đã làm HẾT nhánh an toàn? (4) PASS có evidence thật, không fake-green? (5) cross-impact đã check? (6) mọi object/phụ kiện đã birth/govern/blocker? (7) mọi mutation có rollback? (8) blocker có exact next action? (9) không hỏi vặt, không gãy giữa chừng? (10) status khớp evidence?
Reusable instruction block — Program Macro (dán vào đầu prompt)
Đây là Program Macro mục tiêu mở, chạy ~60 phút, KHÔNG phải task lẻ.
- Tự live-read SSOT + baseline trước; old report là evidence, không phải authority.
- Mục tiêu = đưa hệ A→B trong ranh giới an toàn + chứng minh bằng evidence.
- Hoàn thành = hệ RÁP XONG end-to-end, không phải "đã tạo file/report/view/packet".
- Tự chọn cách làm; làm HẾT mọi nhánh an toàn; không hỏi lại các câu đoán trước được.
- Không thu hẹp phạm vi: đã live-ready thì mở rộng sâu hơn trong cùng tầng, không code trùng.
- Lỗi cùng tầng → mở rộng trong tầng, không dừng.
- Cross-impact bắt buộc (PG/Directus/Nuxt/KB/Qdrant nếu production-visible).
- Mọi object/phụ kiện mới → birth/govern HOẶC prove-auto HOẶC action-ready blocker.
- Mutation phải có rollback verify trước khi apply; no fake PASS.
- Dừng chỉ ở PASS hoặc true blocker (kèm exact gap + next action).
- Tự kiểm 10 mục trước khi báo cáo.
Reusable instruction block — Approval Lane Macro (dán vào đầu prompt)
This is an Approval Lane Macro, not a task. Close the whole approval lane from
current blocker to Codex/User-ready. Do all safe same-lane work. Produce
reproducible evidence, raw logs, hashes, rerun command, blocker ledger,
cross-impact check, and object governance. Stop only at review-ready or true blocker.