The Harness như một thư viện Subbagents và Sessions Store
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 14 · 01 (Agent Loop), Phase 14 · 10 (Skill Libraries)
Time: ~75 minutes
Mục tiêu học tập
- Giải thích sự khác biệt giữa SDK Client Anthropic (raw API) và SDK Claude Agent (phụng cáp).
- Mô tả các yếu tố phụ song song và cách ly ngữ cảnh và khi nào để đạt được chúng.
- Tên miền của bộ SDK Python (
append-load-list_sessions-delete-list_subkeys) và vai trò của--session-mirror- Tôi không biết. - Thực hiện một vòng xoáy stdlib với các công cụ tích hợp, sinh con con con con với bối cảnh cô lập, nát vòng đời và một cửa hàng phiên.
Vấn đề
Một API LLM thô cung cấp cho bạn một chuyến đi trở lại. Một đại lý sản xuất cần thực thi công cụ, máy chủ MCP, móng vòng đời, sinh sản phụ, sự kiên trì phiên, phổ biến dấu vết. Claude Agent SDK gửi hình dạng này như một thư viện cùng một vòng xoáy Claude Code sử dụng, phơi bày cho các đại lý tùy chỉnh.
Khái niệm
SDK khách hàng vs SDK đại lý
- Client SDK (
anthropic).API tin nhắn nguyên liệu, bạn sở hữu vòng lặp, công cụ, nhà nước. - Agent SDK (
claude-agent-sdk).Thiết lập trình thực hiện công cụ, kết nối MCP, cục, sản xuất con, cửa hàng phiên bản.
Công cụ tích hợp
SDK đưa ra 10 công cụ hơn trong hộp: file read/write, shell, grep, glob, web fetch, nhiều hơn nữa.
Các bộ phận phụ
Hai mục đích được ghi nhận bởi Anthropic:
- Parallelization.Thực hiện công việc độc lập đồng thời. "Xem hồ sơ thử nghiệm cho mỗi 20 mô-đun này" là 20 nhiệm vụ phụ song song.
- Context isolation.Các subagents sử dụng cửa sổ ngữ cảnh của riêng họ; chỉ có kết quả trở lại cho nhạc sĩ. Ngân sách của nhạc sĩ được bảo tồn.
Python SDK bổ sung gần đây: list_subagents()- get_subagent_messages()để đọc bản ghi của subagent.
Tiệm bán phiên
Phân tích giao thức với TypeScript:
append(session_id, message)thêm một vòng.load(session_id)khôi phục cuộc trò chuyện.list_sessions()đếm.delete(session_id)với các buổi tiếp theo.list_subkeys(session_id)liệt kê các chìa khóa phụ.
--session-mirror(CLI cờ) phản chiếu bản sao đến một tệp bên ngoài khi nó phát, để debugging.
Chân
Các cái nát chu kỳ đời bạn có thể đăng ký:
PreToolUse-PostToolUsegọi cổng hoặc công cụ kiểm toán.SessionStart-SessionEndđặt và phá hủy.UserPromptSubmithành động trên đầu vào của người dùng trước khi mô hình nhìn thấy nó.PreCompactchạy trước khi kết hợp ngữ cảnh.Stoplàm sạch tại cửa ra của đại lý.Notificationcảnh báo kênh bên.
Hooks là cách pro-workflow (phase 14 curriculum reference) và các hệ thống tương tự thêm hành vi cắt ngang.
W3C bối cảnh theo dõi
OTel hoạt động trên người gọi lan truyền vào các quá trình phụ CLI thông qua tiêu đề ngữ cảnh theo dõi W3C. Toàn bộ các quá trình theo dõi xuất hiện như một dấu vết trong phần sau của bạn.
Claude quản lý các nhân viên
Các lựa chọn khác được lưu trữ (beta header managed-agents-2026-04-01). Công việc đồng bộ lâu dài, lưu trữ nhanh tích hợp, nén tích hợp.
Khi mô hình này đi sai
- Subagent over-spawn.Cung cấp 100 bộ phận phụ cho 100 nhiệm vụ nhỏ, Overhead thống trị.
- Hook creep.Mỗi đội đều thêm các cái nát, các quả bóng thời gian khởi động, xem lại các cái nát hàng quý.
- Session bloat.Các buổi tập tích lũy; kích thước tăng lên. Sử dụng
list_sessions+ Chính sách hết hạn.
Hãy xây dựng nó
code/main.pythực hiện hình dạng SDK trong stdlib:
Tool-ToolRegistryvới tích hợpread_file-write_file-list_dir- Tôi không biết.Subagentbối cảnh riêng tư, chạy riêng biệt, kết quả trả lại.SessionStorethêm vào, tải, liệt kê, xóa, list_subkey.Hookspre_tool_use-post_tool_use-session_start-session_end- Tôi không biết.- Một demo: đại lý chính sinh ra 3 bộ phụ song song (mỗi một cách riêng biệt), tổng kết quả, tiếp tục phiên.
Đi đi.
python3 code/main.pyHướng dẫn cho thấy sự cô lập ngữ cảnh phụ (kích thước ngữ cảnh của nhạc sĩ vẫn bị giới hạn), thực thi nồi và sự bền bỉ của phiên.
Sử dụng nó
- Claude Agent SDKcho các sản phẩm Claude-first muốn hình dạng vòng tay Claude Code.
- Claude Managed Agentscho công việc đồng bộ hoạt động lâu dài được lưu trữ.
- OpenAI Agents SDK(Dân học 16) đối với đối tác đầu tiên của OpenAI.
- LangGraph + custom toolsNếu bạn muốn máy trạng thái hình đồ thị thay vào đó.
Chuyển nó
outputs/skill-claude-agent-scaffold.mdThiết lập một ứng dụng Claude Agent SDK với các bộ phận phụ, nát, cửa hàng phiên, kết nối máy chủ MCP và phát triển dấu vết W3C.
Các bài tập
- Thêm một bộ đẻ con phụ thuộc cho 20 nhiệm vụ thành các nhóm 5 bộ phụ song song. đo kích thước bối cảnh của dàn nhạc so sánh với một trong mỗi nhiệm vụ.
- Thực hiện một
PreToolUseHook đó giới hạn lãi suấtwrite_filegọi (5 phút mỗi phiên). - Sợi dây
list_subkeysLàm thế nào để tạo ra một cây dưới lớp. - Đưa đồ chơi vào thực tế
claude-agent-sdkPhạm vi Python. Những thay đổi gì về đăng ký công cụ? - Hãy đọc các tài liệu của Claude Managed Agents.
Các điều khoản chính
| Term | What people say | What it actually means |
|---|---|---|
| Agent SDK | "Claude Code as a library" | Harness shape: tools, MCP, hooks, subagents, session store |
| Subagent | "Child agent" | Separate context, own budget; results bubble up |
| Session store | "Conversation DB" | Persist, load, list, delete turns with subagent cascade |
| Hook | "Lifecycle callback" | Pre/post tool, session, prompt submit, compact, stop |
| W3C trace context | "Cross-process trace" | Parent span propagates into CLI subprocess |
| Managed Agents | "Hosted harness" | Anthropic-hosted long-running async work |
--session-mirror | "Transcript mirror" | Writes session turns to an external file as they stream |
| MCP server | "Tool surface" | External tool/resource source attached to the agent |
Đọc thêm
- Claude Agent SDK overview hình thức thư viện của Claude Code
- Anthropic, Building agents with the Claude Agent SDK Các mô hình sản xuất
- Claude Managed Agents overview thay thế được lưu trữ
- OpenAI Agents SDK đối tác
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.