Pi 1.0: Codemode, virtual model routing và Pi Durable
Đi qua bản Pi 1.0: MCP native qua Codemode, Jev, virtual model routing, deferred tool, cache warming, theme mới, và Pi Durable cho agent chạy lâu.
✓ Đã duyệt độc lập · cập nhật 24/10/2026 · 17 min
1. Pi 1.0 ra mắt: toàn cảnh bản phát hành
AICodeKing chào người xem và vào thẳng chủ đề: Pi 1.0 đã ra, và có khá nhiều thứ để nói. Theo video đăng ngày 04/10/2026, bản này mang tới hỗ trợ MCP native thông qua Codemode, custom model routing (tự định tuyến model), các cải tiến về cách tool và prompt đi vào cuộc hội thoại, cùng một giao diện terminal được làm mới. Cùng lúc đó, Earendil, công ty đứng sau Pi, phát hành thêm Pi Durable, đưa một số ý tưởng này vào những ứng dụng cần tiếp tục chạy qua các lần khởi động lại.
Tiêu đề video ghi "Pi 2.0", nhưng trong video đăng ngày 04/10/2026 anh nói về bản Pi 1.0, và màn hình cũng ghi "Pi 1.0.0 · Oct 1, 2026".

~/demo-app, người dùng gõ "what changed in 1.0?". Nhãn bên phải ghi "Pi 1.0.0 · Oct 1, 2026", tức bản phát hành ngày 01/10/2026; footer cho thấy model đang chọn là claude-opus-5.5 của Anthropic.Thông báo chính thức ra ngày 1 tháng 10 (01/10/2026). Anh lưu ý một số khả năng trong đó thực ra đã xuất hiện dần qua các bản phát hành dẫn tới 1.0, nên video này là bức tranh đầy đủ của đợt ra mắt, kể cả những thay đổi nhỏ hơn trong bản cuối cùng. Rồi anh bắt đầu luôn.
Bài đăng của Earendil ngày 01/10/2026 liệt kê đúng những thứ được thêm vào Pi 1.0: Codemode (hỗ trợ MCP native, và các model không phải LLM như Jev và image model), hỗ trợ virtual model cho extension, deferred tool loading, cache warming cho model của Anthropic, system message giữa cuộc hội thoại (thay đổi prompt và tool có ghi vào lịch sử của phiên), một TUI theme mới và chế độ full-screen mặc định (earendil.com/posts/pi-1-0, đọc ngày 24/10/2026).
2. Pi là gì: một agent harness mã nguồn mở để tự chỉnh
Với ai mới biết tới Pi, AICodeKing giải thích (video đăng ngày 04/10/2026): Pi là một agent harness mã nguồn mở. Nghĩa là nó lo phần hội thoại, đưa tool cho model, chạy các tool đó rồi mang kết quả trở lại để model tiếp tục làm việc. Bạn dùng nó từ terminal để xem xét một project, sửa file, chạy lệnh, hoặc xử lý những việc liên quan tới tài liệu và dữ liệu. Model thì bạn tự kết nối, model nào bạn muốn dùng.
Theo anh, phần lớn sức hút của Pi đến từ khả năng tuỳ biến (tính đến video đăng ngày 04/10/2026): bạn thêm skill và extension, đổi giao diện, và tự xây workflow riêng quanh agent. Anh thích cách tiếp cận đó. Khi đã dành nhiều thời gian với một công cụ lập trình, sớm muộn bạn sẽ gặp một chỗ mà bạn ước nó xử lý khác đi, và tự thay đổi được hành vi ấy là điều hữu ích.
Pi 1.0 (phát hành 01/10/2026) xây tiếp trên ý tưởng đó. Điều anh thấy thú vị là các bản cập nhật này cho bạn nhiều quyền kiểm soát tới mức nào đối với công việc diễn ra bên trong một phiên làm việc (session).
3. Vì sao Pi đổi ý về MCP
Thay đổi lớn đầu tiên là MCP, bởi trước đây Pi cố ý không đưa hỗ trợ MCP native vào. Theo AICodeKing (video đăng ngày 04/10/2026), team đã giải thích lý do họ đổi ý: họ muốn có một cách tốt hơn để kết hợp các tool call, và hạ tầng làm việc đó hoá ra cũng hữu ích cho những thứ như classifier.
Lời phê bình MCP của họ trước đây một phần nhắm vào cách các integration đổ mô tả tool và những khối text kết quả lớn vào context của model. Giờ họ ưu tiên việc khám phá tool khi cần (discover tools when needed) và nhận về dữ liệu có cấu trúc mà một script có thể xử lý tiếp. Trên màn hình là một bài viết về Codemode và MCP, nói rằng nhiều MCP server vẫn được xây cho những harness chỉ đổ tool vào context, và cách họ nghĩ về MCP lúc ấy là nó nên gần với OpenAPI hơn nhiều, có khám phá tool thông minh: tool trả về dữ liệu có cấu trúc và tìm được qua tài liệu, mô tả của chúng (theo video đăng ngày 04/10/2026).
Anh thấy điều đó hợp lý (video đăng ngày 04/10/2026). Hãy hình dung bạn đang lục một issue tracker đông đúc. Có lẽ bạn muốn gom những issue liên quan, lọc chúng, rồi mới đọc những kết quả hữu ích. Bắt model chính đọc từng trường của từng response trung gian là một cách tốn kém để đi tới đích.
Câu trả lời của Pi (theo video đăng ngày 04/10/2026) là đặt một môi trường điều phối bằng JavaScript (JavaScript orchestration environment) bao quanh các lời gọi đó. Và đó là chỗ Codemode bước vào.
4. Codemode: agent viết một chương trình JavaScript nhỏ
Với Codemode, agent viết một chương trình JavaScript nhỏ có thể gọi tool, kết hợp các kết quả và trả về phần output hữu ích (mô tả trong video đăng ngày 04/10/2026).
AICodeKing lấy ví dụ (video đăng ngày 04/10/2026): giả sử bạn muốn báo cáo về hoạt động gần đây của một project. Một script có thể lấy song song nhiều mẩu thông tin độc lập, gom nhóm kết quả, rồi gửi về một bản báo cáo gọn. Lợi ích thực tế là dữ liệu trung gian có thể ở lại bên trong script. Bạn kiểm soát được bao nhiêu phần trong đó quay trở lại cuộc hội thoại.

codemode gọi song song ba tool GitHub qua MCP (pull request đã merge, issue đang mở, workflow run bị lỗi) rồi bắt đầu gom nhóm theo khu vực.Đoạn script hiện trên màn hình ở thời điểm đó như sau (dòng cuối đang được viết dở):
const since = "2026-09-24";
const [prs, issues, runs] = await Promise.all([
tools.mcp__github__list_pull_requests({ state: "merged", since }),
tools.mcp__github__list_issues({ state: "open", since }),
tools.mcp__github__list_workflow_runs({ status: "failure" }),
]);
const byArea = groupBy([Codemode cũng có các storage helper riêng cho dữ liệu JSON cần sống sót giữa các lần gọi, tính đến video đăng ngày 04/10/2026. Còn các biến JavaScript bình thường thì không tự động tồn tại giữa những lần thực thi tách biệt; trên màn hình có nhãn nhắc "plain variables reset between runs".
5. Sandbox, quyền của tool và lỗi giữa chừng
Ở đây có một sự phân biệt mà AICodeKing chỉ ra (video đăng ngày 04/10/2026). JavaScript chạy trong một sandbox, nhưng các tool mà nó gọi vẫn giữ quyền riêng của chúng. Một shell tool vẫn có thể thay đổi file, và một integration bên ngoài vẫn có thể thực hiện một hành động.
Thêm nữa, theo video đăng ngày 04/10/2026, nếu một script hỏng giữa chừng, những tool call đã hoàn tất sẽ không tự động được hoàn tác. Vì vậy workflow vẫn cần xử lý lỗi một cách hợp lý.

max_output_tokens (mặc định 10000), timeout_ms không đặt sẵn, kết quả bắt đầu bằng "Script completed" hoặc "Script failed", và câu được tô vàng "Tool calls are real: calls made before a failure are not undone." Bên dưới là bảng Globals với tools.<name>(args) và text(value).6. Cài MCP server: local, remote, exposure và OAuth
Về phần thiết lập MCP, theo video đăng ngày 04/10/2026, Pi hỗ trợ server local qua standard input và output, và server remote qua HTTP. Cấu hình có thể nằm ở cấp user hoặc bên trong một project.
Các MCP server dùng exposure kiểu Codemode sẽ tự bật Codemode. Đó là mặc định (tính đến 04/10/2026), nên tool của chúng được khám phá thông qua Codemode, thay vì tất cả bị đặt thẳng trước mặt model. Với những tool bạn muốn model thấy ngay, bạn có thể chọn một exposure mode khác. Ngoài ra còn có hỗ trợ OAuth cho những server cần đăng nhập tài khoản. Trên màn hình là tài liệu ghi rằng Pi bật codemode khi một server có exposure codemode kết nối, bật tool_search cho server có exposure deferred, và muốn model thấy một tool mà không cần tìm thì cho nó exposure direct qua toolExposure.
Vì vậy, theo AICodeKing (video đăng ngày 04/10/2026), nếu workflow của bạn vốn đã dựa vào các integration MCP thì đây là một thay đổi có ý nghĩa: bạn đưa được các integration đó vào Pi và tự quyết agent khám phá, kết hợp chúng ra sao. Anh sẽ bắt đầu với một integration bạn đang dùng, giao cho nó một việc có giới hạn rõ ràng, kiểu như gom các issue chưa giải quyết cho một bản release. Làm vậy bạn có một kết quả hữu ích để kiểm tra trước khi xây một workflow phức tạp hơn quanh nó.
7. Model chuyên dụng: classifier Jev và image model
Theo video đăng ngày 04/10/2026, Codemode còn cho agent truy cập các model chuyên dụng (specialist models), gồm Jev và các model tạo ảnh.
Jev là một classifier. Bạn đưa cho nó state có cấu trúc và các câu hỏi, nó trả về lựa chọn, câu trả lời có hoặc không, hay điểm số kèm xác suất (mô tả trong video đăng ngày 04/10/2026). Ví dụ, một workflow có thể hỏi một issue đang mô tả bug hay là một feature request. AICodeKing nhắc rằng các xác suất đó vẫn là phán đoán của model, nên anh sẽ kiểm tra một mẫu trước khi dựa vào kết quả phân loại.

jev-latest và gọi models.classify với câu hỏi dạng choice; "Script completed · 0.9s", thanh bug dài gần hết, feature 0.09. Khung bên phải "Before relying on it" ghi spot-check 20 issues: 18 agree, 2 disagree.Image model nhận một text prompt và có thể kèm ảnh tham chiếu. Codemode gọi được chúng bằng credential đã cấu hình cho session, và đính ảnh tạo ra vào kết quả của nó (tính đến 04/10/2026).
Các model chuyên dụng này không xuất hiện trong bộ chọn chat model thông thường. Agent chính tới được chúng qua Codemode, và extension cũng gọi được chúng (theo video đăng ngày 04/10/2026).
Việc dùng image model và classifier được cộng vào phần thống kê của session khi có báo cáo. Tuy nhiên, theo AICodeKing (video đăng ngày 04/10/2026), nếu catalog thiếu giá thì phần sử dụng có thể hiện ra mà không có chi phí bằng đô la. Ảnh tạo ra cũng không tự động được lưu xuống đĩa. Nên nếu bạn muốn có một file asset cho project, hãy đưa bước lưu file đó vào workflow.
8. Virtual models: tự viết router chọn model
Tiếp theo là virtual models. AICodeKing cho rằng đây là một trong những bổ sung hữu ích nhất cho những ai vốn đã hay chuyển qua lại giữa nhiều model (nhận định trong video đăng ngày 04/10/2026).
Một extension có thể đăng ký một model chọn được, đóng vai một router. Trước mỗi request, nó chọn model vật lý (physical model) sẽ xử lý request đó (theo video đăng ngày 04/10/2026). Bạn có thể tạo một policy dùng model mạnh hơn cho việc lập kế hoạch khó, và một model rẻ hơn cho phần implement thường ngày. Logic định tuyến cũng có thể xem xét cuộc hội thoại và chọn một thinking level phù hợp.
Pi giữ cho model thật sự trả lời và lượng sử dụng của nó luôn hiển thị, để bạn xem được chuyện gì xảy ra bên dưới router của mình (tính đến 04/10/2026). Nhưng policy là của extension bạn viết: bạn vẫn phải tự quyết thế nào là một quyết định định tuyến tốt.
Cũng có những đánh đổi, theo AICodeKing (video đăng ngày 04/10/2026). Đổi model vật lý có thể làm mất khả năng tái sử dụng prompt cache, và một classifier dùng để ra quyết định định tuyến thì cộng thêm latency. Anh sẽ so sánh router với một baseline chỉ dùng một model trên các task thật. Một request rẻ hơn chỉ có ích nếu toàn bộ công việc vẫn hoàn thành đúng và tổng chi phí thấp hơn.
Demo ra mắt (launch demo) của Earendil, được dựng lại trong video đăng ngày 04/10/2026, cho thấy Pi tự viết một extension lập kế hoạch bằng Claude Opus và implement bằng GPT, với Jev quyết định khi nào chuyển.

~/.pi/agent/extensions/jev-router.ts, gọi pi.registerVirtualModel với provider "router", id "auto"; hàm route hỏi Jev pha hiện tại là plan hay implement rồi trả về OPUS hoặc LUNA (video đăng ngày 04/10/2026).Đoạn code trên màn hình:
pi.registerVirtualModel({
provider: "router", id: "auto", name: "Auto",
async route(request, ctx) {
const phase = await classifyPhase(jev, request); // Jev: plan or implement?
return phase === "plan" ? OPUS : LUNA;
},
});Sau khi reload và chọn router tự tạo, demo chuyển từ Opus sang GPT 6 Luna cho phần implement, rồi hiện chi phí theo từng model và lượng cache dùng trong session (demo trong video đăng ngày 04/10/2026). AICodeKing nói rõ đó là phần trình diễn của họ, và nó cho một ví dụ cụ thể về cách các mảnh ghép khớp với nhau. Theo anh, sẽ thú vị nếu thử xem quyết định định tuyến đó nhất quán tới đâu trên nhiều loại coding task khác nhau.
9. Deferred tool loading: chỉ nạp tool khi cần
Bản cập nhật kế tiếp là deferred tool loading. AICodeKing giải thích (video đăng ngày 04/10/2026): khi bạn thêm nhiều integration, bạn cũng thêm nhiều mô tả tool và định nghĩa tham số. Nạp tất cả những thứ đó ngay từ đầu sẽ tiêu context trước cả khi agent bắt đầu làm task của bạn.
Tính đến 04/10/2026, Pi cho tác giả extension phân biệt ba loại: tool được khai báo trực tiếp, tool tới được qua Codemode, và deferred tool mà công cụ tìm kiếm có thể tìm ra rồi kích hoạt. Một số tool còn có thể bị giới hạn chỉ cho model gọi trực tiếp, hữu ích với những thao tác điều phối các tool khác hoặc cần tương tác với người dùng.

src/utils/date.ts (đổi d.toISOString() thành formatDate(d)); các tool còn lại nằm trong khung "deferred · searchable".Hãy nghĩ tới một project đã cài nhiều integration. Một chỉnh sửa code nhỏ ở local không nên cần hướng dẫn chi tiết của mọi dịch vụ không liên quan. Theo video đăng ngày 04/10/2026, deferred loading cho bạn một cách giữ các khả năng đó sẵn sàng, đồng thời chỉ đưa phần khai báo của chúng vào khi cần.
Chất lượng mô tả tool vẫn quan trọng, vì agent cần tìm đúng thao tác. AICodeKing sẽ kiểm tra việc khám phá tool bằng các yêu cầu bình thường, chứ không chỉ bằng những prompt đã gọi đích danh tool. Với anh (video đăng ngày 04/10/2026), đây là một cải tiến thực tế về quản lý context, nhất là khi bộ setup của bạn lớn dần.
10. Cache warming cho phiên làm việc dài
Cache warming là một bản cập nhật nữa AICodeKing thích, nhất là với các workflow dùng model của Anthropic có lượng context lớn (nhận định trong video đăng ngày 04/10/2026). Một lượt chạy tool dài có thể kéo dài quá thời gian sống của prompt cache. Pi có thể gửi một lượt refresh để giữ "ấm" một cache đủ điều kiện, khi nó ước tính làm vậy là đáng.
Theo video đăng ngày 04/10/2026, thiết lập mặc định là streaming, áp dụng trong lúc agent đang chạy. Bạn cũng có thể bật idle warming giữa các lượt chạy, hoặc tắt hẳn warming. Pi cần thông tin về thời gian sống của cache cho model đó, và nó chỉ warm khi ước tính tránh được ít nhất năm cent chi phí cache miss.

streaming, dòng giải thích ghi ba lựa chọn "off; streaming while the agent runs; idle also between runs while continuation stays profitable". Nhãn dưới góc: "default: streaming".Lượt refresh đó vẫn tiêu tài nguyên. Pi đưa lượng sử dụng ấy vào tổng của session, nhưng giữ lượt refresh ngoài context hội thoại của model. Bạn có thể xem quyết định warming kế tiếp qua /session (tính đến 04/10/2026).
Vì vậy, AICodeKing sẽ nhìn vào số liệu thật của session trước khi quyết định idle warming có hợp với khối lượng công việc của mình không. Người cứ vài phút lại quay lại có kiểu sử dụng khác hẳn người để session mở suốt cả cuối tuần.
11. System message giữa cuộc hội thoại
Pi 1.0 (phát hành 01/10/2026) còn hỗ trợ system message ở giữa cuộc hội thoại. AICodeKing giải thích đó là phần chỉ dẫn và định nghĩa tool của harness. Một session bắt đầu với cấu hình ban đầu, và các system message về sau có thể ghi lại thay đổi ở từng phần chỉ dẫn hoặc ở các tool đang có.
Ví dụ, hình dung một extension đổi vai trò của agent hoặc thêm một tool sau khi công việc đã bắt đầu. Theo video đăng ngày 04/10/2026, Pi ghi lại thay đổi đó đúng tại điểm nó xảy ra. Khi bạn resume hoặc đi sang một nhánh (branch), Pi dựng lại được trạng thái prompt và tool tương ứng từ lịch sử đã ghi của session.

AICodeKing thích điều này vì một cuộc hội thoại dài có thể chứa những quyết định được đưa ra dưới các bộ chỉ dẫn khác nhau. Theo dõi những thay đổi đó giúp lịch sử hữu ích hơn.
Nó cũng giúp prompt caching. Trên các model được hỗ trợ, Pi có thể giữ lại một prefix đã cache từ trước, trong khi các thay đổi về sau được thể hiện trong cuộc hội thoại (tính đến 04/10/2026). Hỗ trợ này tuỳ vào model và nhà cung cấp. AICodeKing coi việc giữ cache là một khả năng cần kiểm tra với setup của mình, thay vì mặc định rằng endpoint nào cũng xử lý giống hệt nhau.
12. Theme System và fullscreen mặc định
Terminal có một theme mặc định mới tên là System. Theo video đăng ngày 04/10/2026, Pi đọc màu foreground, background và các màu ANSI của terminal, rồi dựng giao diện quanh bảng màu đó. Nó cũng chỉnh độ tương phản để chữ vẫn dễ đọc. Nếu terminal của bạn đổi giữa sáng và tối, Pi có thể hỏi lại màu và cập nhật theme.
Có các phương án dự phòng (fallback) cho những terminal chỉ báo một phần thông tin đó, và bạn vẫn chọn được theme sáng hoặc tối có sẵn, hay dùng theme của riêng mình. Đổi theme qua /settings (tính đến 04/10/2026).
Đây là một tính năng nhỏ hơn, nhưng AICodeKing trân trọng nó (video đăng ngày 04/10/2026). Nếu anh đã cấu hình một terminal dễ đọc suốt nhiều giờ, anh muốn các công cụ bên trong nó hợp với setup ấy. Trên màn hình là hai khung: "your terminal, tuned for hours" và "fighting the colours", kèm dòng chữ "check the agent's work, not the palette". Bạn nên dành thời gian kiểm tra công việc của agent, chứ không phải sửa một tổ hợp màu khiến output khó đọc.
Thay đổi dễ thấy còn lại là chế độ full screen giờ là mặc định (tính đến bản 1.0, 01/10/2026). Ô soạn prompt và vùng trạng thái đứng yên, còn cuộc hội thoại cuộn bên trong cửa sổ terminal. Nhờ vậy ô nhập luôn sẵn sàng trong lúc bạn xem lại output cũ.

git commit -am "deploy: add --dry-run", "Committed 3 files."), còn ô soạn với chữ "and open a PR" và dòng trạng thái được khoanh lại, nhãn "editor + status stay fixed".Nếu bạn thích scrollback bình thường của terminal, regular mode vẫn có qua /settings. Bạn cũng có thể khởi động Pi với cờ --tui-mode theo sau là regular (theo video đăng ngày 04/10/2026). Như vậy bạn thử được mặc định mới và quay lại nếu nó không hợp cách bạn làm việc.
pi --tui-mode regular
Với AICodeKing (video đăng ngày 04/10/2026), đây là kiểu lựa chọn giao diện mà cả hai phương án đều có lý. Khi anh đang có một cuộc hội thoại dài với agent, một ô soạn cố định là hữu ích. Khi anh muốn mọi thứ nằm trong lịch sử terminal quen thuộc, regular mode lại tiện.
13. Các thay đổi nhỏ trong bản 1.0 cuối cùng
Bản Pi 1.0 cuối cùng còn vài thay đổi nữa. Team báo cáo (theo video đăng ngày 04/10/2026) rằng một request GPT-5.6 dùng bộ tool mặc định và Codemode giảm từ khoảng 5.300 prompt token xuống 3.300. Đó là mức giảm xấp xỉ 40% trong đúng setup cụ thể ấy, nên AICodeKing nhắc không nên đọc thành giảm 40% tổng chi phí của mọi task.

tuiMode là "regular" để giữ scrollback), Leaner codemode ("About 40% fewer prompt tokens"), Image generation in codemode, Radius in /login, Anthropic copy code login, MCP OAuth hardening và Header-only quiet startup (quietStartup: "header").Theo video đăng ngày 04/10/2026, lỗi của Codemode giờ đưa ra gợi ý phục hồi hữu ích hơn, gồm đề xuất khi gọi sai tên tool và hướng dẫn khi tham số bị sai định dạng.
Các thay đổi đăng nhập và xác thực, tính đến 04/10/2026:
- Đăng nhập Radius có qua
/login, kèm tuỳ chọn cấu hình MCP server của nó. - Anthropic có thêm luồng đăng nhập kiểu copy code, cho những setup mà trình duyệt chạy trên một máy khác (Pi 1.0, 01/10/2026).
- Xác thực MCP có kiểm tra issuer chặt hơn, hỗ trợ ghi đè metadata của authorization server, credential tách riêng theo tên và URL của server, và xử lý tốt hơn các yêu cầu cấp thêm quyền (Pi 1.0, 01/10/2026).
Còn có một tuỳ chọn khởi động gọn hơn, giữ lại version và gợi ý phím tắt nhưng ẩn danh sách tài nguyên dài (Pi 1.0, 01/10/2026). Theo AICodeKing, đó là những cải tiến hữu ích cho người dùng Pi hằng ngày.
14. Pi Durable: nền móng cho ứng dụng agent chạy lâu
Giờ tới Pi Durable, phần mà AICodeKing cho rằng xứng đáng được giải thích riêng. Theo video đăng ngày 04/10/2026, Pi Durable là một nền móng thử nghiệm (experimental foundation) để xây ứng dụng có những cuộc hội thoại agent chạy dài. Nó là một package riêng, nằm cạnh coding agent.
Tính đến 04/10/2026, một harness có thể chạy nhiều cuộc hội thoại đồng thời. Mỗi cuộc hội thoại có model, tool, chỉ dẫn và thư mục làm việc riêng. Bạn có thể fork một cuộc hội thoại tại một điểm cụ thể rồi đi tiếp độc lập từ đó. Nhiều client có thể kết nối vào cùng một harness, theo dõi trạng thái của nó, và lái công việc hoặc thêm câu hỏi nối tiếp.
Pi Durable cũng hỗ trợ dữ liệu ứng dụng dưới dạng các tài liệu JSON có kiểu (typed JSON documents), được commit cùng lúc với các cập nhật lịch sử hội thoại (theo video đăng ngày 04/10/2026). Điều này mở ra những khả năng hữu ích cho một ứng dụng mà cuộc hội thoại và công việc của nó cần được giữ đồng bộ.
Ví dụ, AICodeKing hình dung một không gian làm việc cho support, nơi nhiều người cùng theo dõi một cuộc điều tra và đặt các câu hỏi liên quan trong những thread riêng. Nhà phát triển vẫn phải tự xây trải nghiệm sản phẩm đó, nhưng Pi Durable cung cấp bộ máy chạy bên dưới (theo video đăng ngày 04/10/2026).
15. Durability đến từ checkpoint, và giới hạn của replay
Theo video đăng ngày 04/10/2026, độ bền (durability) của Pi Durable đến từ việc lưu checkpoint cho công việc. Sau khi một process dừng, một process mới có thể mở lại đúng storage bền vững đó và tiếp tục các task còn dang dở.
Một tool bị gián đoạn giữa lúc chạy chỉ được tự động chạy lại (replay) nếu nó khai báo rằng replay là an toàn. Nếu không, agent nhận thông tin về lần gián đoạn và phần output đã được commit tới lúc đó (tính đến 04/10/2026).

requestId: "job-42" được đóng dấu "ADMITTED ONCE", và dòng chữ bên dưới nhắc "not exactly-once".AICodeKing nói sự phân biệt này quan trọng. Chạy lại một lượt tìm kiếm và chạy lại một hành động đã thay đổi một hệ thống bên ngoài có thể dẫn tới hậu quả rất khác nhau.
Dùng lại cùng một request ID sẽ ngăn một lần submit được thử lại bị nhận vào hai lần. Nhưng theo video đăng ngày 04/10/2026, điều đó không làm cho mọi hành động bên ngoài tự động xảy ra đúng một lần.
16. Storage, giới hạn triển khai và các ví dụ
Theo video đăng ngày 04/10/2026, Pi Durable cung cấp ba kiểu storage: memory, SQLite và JSONL. Memory storage không sống sót qua một lần khởi động lại, nên lựa chọn storage là quan trọng.
Cũng có những giới hạn khi triển khai (tính đến 04/10/2026). Mỗi lúc chỉ một process sở hữu một storage backend. Cấu hình SQLite mặc định không bảo đảm các commit mới nhất sống sót qua sự cố máy chủ hoặc mất điện. Và các API vẫn đang ở dạng experimental. AICodeKing nói nếu xây một sản phẩm trên nó, anh sẽ tính trước chuyện API thay đổi.
Các cuộc hội thoại chạy dài vẫn chịu giới hạn context của model. Ví dụ compaction đi kèm Pi Durable cho thấy cách tóm tắt và phục hồi khi context bị tràn, nên durability không có nghĩa là model có bộ nhớ vô hạn (theo video đăng ngày 04/10/2026).
Còn có một ví dụ về các sub-agent chạy nền bền vững, mỗi cái có cuộc hội thoại, trạng thái và kênh nhắn tin riêng, trong khi agent chính vẫn sẵn sàng. Theo video đăng ngày 04/10/2026, các workflow đó được hiện thực bằng những primitive nền là conversation và task; nhà phát triển tự chọn hành vi mình cần.
Một ví dụ khác cho thấy việc cập nhật một extension trong khi một tool call đang chạy vẫn hoàn tất trên phiên bản gốc của nó; các lần gọi sau mới dùng bản thay thế (theo video đăng ngày 04/10/2026). AICodeKing thấy đây là một hướng đi hữu ích cho những agent cần luôn sẵn sàng trong khi ứng dụng của chúng tiếp tục thay đổi. Nhưng đây là các khối xây dựng và các bản hiện thực mẫu, nên anh dự đoán vẫn cần công sức engineering trước khi biến chúng thành một dịch vụ đáng tin cậy.
17. Cài Pi và nhiệm vụ đầu tiên
Nếu bạn muốn thử Pi coding agent thông thường, AICodeKing hướng dẫn (video đăng ngày 04/10/2026): bắt đầu ở pi.dev và dùng trình cài đặt cho hệ điều hành của bạn. Cũng có tuỳ chọn cài qua NPM, yêu cầu Node 22.19 trở lên, và package hiện nằm dưới tổ chức Earendil Works.

npm install cho Pi Durable "available today as an experimental package", và dòng "Both are MIT licensed. Documentation is at pi.dev. Code is at github.com/earendil-works/pi."Các lệnh cài trên trang công bố của Earendil (đọc ngày 24/10/2026): trên macOS hoặc Linux dùng installer, trên Windows dùng PowerShell:
curl -fsSL https://pi.dev/install.sh | sh
powershell -c "irm https://pi.dev/install.ps1 | iex"
Còn cách cài qua npm, theo trang Quickstart của Pi (đọc ngày 24/10/2026), là lệnh dưới đây, cần Node.js 22.19 hoặc mới hơn:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Cài xong, AICodeKing bảo chạy lệnh xem version để kiểm tra; trang Quickstart ghi lệnh đó là pi --version (đọc ngày 24/10/2026). Mở thư mục project, chạy pi, rồi dùng /login để kết nối một tài khoản được hỗ trợ hoặc một API key. Sau đó dùng /model để chọn model bạn muốn (theo video đăng ngày 04/10/2026).
Với task đầu tiên, anh sẽ nhờ Pi (theo video đăng ngày 04/10/2026) giải thích cấu trúc project và cách chạy các bước kiểm tra (checks) của nó. Bạn có thể xem lại câu trả lời đó trước khi yêu cầu nó sửa gì.
Pi Durable có NPM package riêng dành cho nhà phát triển xây ứng dụng. Bạn không cần cài nó chỉ để dùng coding agent trên terminal (theo video đăng ngày 04/10/2026; trên màn hình có nhãn "not needed for the coding agent"). Lệnh cài trên trang công bố ngày 01/10/2026:
npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord
18. Chi phí thật, và điều AICodeKing thích nhất
Về giá, theo video đăng ngày 04/10/2026, cả Pi và Pi Durable đều theo giấy phép MIT. Nhưng bạn vẫn phải tính tới các model và dịch vụ mình kết nối. Một hoá đơn API, một gói subscription được hỗ trợ, phần cứng local, hay chi phí hosting cho ứng dụng của bạn đều có thể là một phần của chi phí.
Phần mềm mã nguồn mở cho bạn quyền kiểm soát công cụ, nhưng bạn vẫn phải quyết định trả tiền thế nào cho công việc nó thực hiện. AICodeKing (video đăng ngày 04/10/2026) sẽ đặc biệt chú ý tới chi phí của toàn bộ session khi kết hợp một model chính, một classifier, image generation và một router tự viết. Rất dễ chỉ nhìn vào một thành phần rẻ mà bỏ sót chi phí của cả workflow.
Phần anh thích nhất trong bản phát hành này (Pi 1.0, 01/10/2026) là quyền kiểm soát lượng công việc đi tới model chính. Bạn khám phá tool khi cần, xử lý kết quả trung gian bằng code, và tự định nghĩa cách định tuyến model. Điều đó cho bạn nhiều thứ để đo và cải thiện. Câu trả lời có còn chính xác không? Agent có hoàn thành với ít lần thử lại hơn không? Tổng chi phí có giảm không? Đó là những phép thử anh sẽ dùng để quyết định một workflow tự làm có đáng giữ lại hay không; trên màn hình là hai ô "Fewer retries?" và "Lower total cost?" cùng con dấu "Keep the workflow?".
Theo video đăng ngày 04/10/2026, Pi vẫn để những thứ như một plan mode chuyên dụng và các workflow sub-agent cho extension hoặc package lo. Nếu bạn thích tự cấu hình công cụ, sự linh hoạt đó là một phần lớn sức hút. Còn nếu bạn muốn một workflow cụ thể có sẵn ngay, hãy kiểm tra nó đã có chưa trước khi chuyển sang.
Tổng thể, AICodeKing nghĩ (video đăng ngày 04/10/2026) bản 1.0 khiến Pi thú vị hơn nhiều với những người muốn tự định hình coding agent của mình. MCP native gỡ bỏ một giới hạn thực tế, còn Pi Durable cho nhà phát triển ứng dụng một con đường riêng để khám phá những công việc chạy dài hơn.
Anh hỏi người xem quan tâm nhất tới phần nào: Codemode, custom model routing, hay xây một thứ gì đó với Pi Durable? Nhìn chung, anh thấy bản này khá hay (video đăng ngày 04/10/2026), mời mọi người để lại suy nghĩ trong phần bình luận, rồi chào tạm biệt và hẹn gặp lại ở video sau.
Nguồn và liên kết 10 nguồn
- Tên gốc: Pi 2.0 (Codemode, Durable Tools & More!): Native via Codemode, Custom Model Routing & Pi Durable
- Sự kiện: YouTube
- Video gốc: https://www.youtube.com/watch?v=BukNA_W1e3Y youtube.com
- Kênh YouTube AICodeKing (AICodeKing): youtube.com/channel/UC0m81bQuthaQZmFbXEY9QSw youtube.com
- Bài công bố Pi 1.0 và Pi Durable của Earendil, ngày 01/10/2026 (danh sách tính năng, lệnh cài, giấy phép MIT; đọc ngày 24/10/2026): earendil.com/posts/pi-1-0 earendil.com
- Bài giới thiệu Pi Durable của Earendil (đọc ngày 24/10/2026): earendil.com/posts/pi-durable earendil.com
- Tài liệu Codemode của Pi (đọc ngày 24/10/2026): pi.dev/docs/latest/codemode pi.dev
- Tài liệu Virtual Models của Pi (đọc ngày 24/10/2026): pi.dev/docs/latest/virtual-models pi.dev
- Quickstart của Pi: cài đặt,
pi --version,/login,/model(đọc ngày 24/10/2026): pi.dev/docs/latest/quickstart pi.dev - Mã nguồn Pi trên GitHub (đọc ngày 24/10/2026): github.com/earendil-works/pi github.com