Chuyển đến nội dung chính
Hướng dẫn AI

Xây dựng quy trình làm series chính kịch Giai đoạn 1 với Hermes

Hướng dẫn này giới thiệu kiến trúc tác nhân chính kịch Hermes và trình bày quy trình tiếp nhận, làm phong phú dữ liệu, tạo ảnh diễn viên, các cổng phê duyệt, kiểm tra schema ở Giai đoạn 1, cùng quá trình chuyển sang sản xuất tập phim bất đồng bộ.

Xây dựng quy trình series chính kịch Giai đoạn 1 với Hermes

Hermes thực hiện những gì

Hermes là một kiến trúc tác tử cho chuỗi phim chính kịch, tổ chức việc tiếp nhận cốt truyện, làm phong phú dữ liệu, tạo tài sản, xây dựng tập phim, xử lý sự kiện thời gian chạy và các quy trình sản xuất. Phiên bản hiện tại bao quát khâu tiếp nhận và làm phong phú ở Giai đoạn 1, xây dựng và xác thực JSONL ở Giai đoạn 2, hành vi thời gian chạy của Giai đoạn 2 và Giai đoạn 3, xử lý sự kiện cùng tích hợp worker Comfy.

Dự án được thiết kế xoay quanh ứng dụng máy chủ Streamlit với các bảng Chat, Assets và Job. Một cuộc hội thoại tương ứng với một series_id, còn dự án lưu dữ liệu chuỗi phim có thẩm quyền tại projects/{slug}/.

Tìm hiểu mô hình giai đoạn

Kho mã tài liệu hóa kiến trúc S1–S7. Giai đoạn 1 xử lý việc tiếp nhận và làm phong phú: một ý tưởng một dòng được chuyển thành kịch bản và hình ảnh diễn viên, kèm các bước chấp thuận rõ ràng. Giai đoạn 2 xây dựng công việc JSONL bất đồng bộ và khởi chạy quá trình xử lý Comfy bất đồng bộ. Giai đoạn 3 sử dụng hook on_episode_complete để cập nhật trạng thái thời gian chạy, bao gồm hỗ trợ tạo tập thứ hai.

Các Giai đoạn 4 đến 7 thuộc cùng phạm vi Agent v1. Kiến trúc chi tiết được trình bày trong tài liệu kiến trúc của kho mã, còn các quyết định triển khai đã được khóa được ghi lại trong DECISIONS.md.

Chuẩn bị kho mã

Bắt đầu từ thư mục gốc của kho mã. README đặt tên thư mục dự án là drama-series-agent, vì vậy hãy truy cập thư mục đó trước khi chạy các lệnh của Giai đoạn 1.

cd drama-series-agent

README không quy định lệnh cài đặt phần phụ thuộc riêng. Hãy sử dụng môi trường Python và cấu hình dự án hiện có của kho mã trước khi gọi các tập lệnh hoặc nhập các gói.

Chạy tập lệnh tiếp nhận Giai đoạn 1

Để tạo khung cho một dự án phim chính kịch mới từ tiêu đề, hãy chạy tập lệnh tiếp nhận với tùy chọn --title. Ví dụ sau sử dụng tiêu đề tiếng Trung, đúng theo README:

python scripts/hermes_drama_intake.py --title 我的短剧

Lệnh này khởi động quy trình tiếp nhận của Giai đoạn 1. Sau đó, bố cục dự án cung cấp các vị trí riêng cho dữ liệu thời gian chạy, nội dung văn học, mẫu tập phim, dữ liệu diễn viên và các kỹ năng.

Để kiểm tra các lược đồ JSON được hệ thống sử dụng, hãy chạy:

python scripts/hermes_drama_intake.py --dump-schemas

Việc kiểm tra lược đồ hữu ích khi tích hợp công cụ hoặc xác thực payload theo các hợp đồng của kho mã.

Hoàn tất quy trình làm phong phú S1-B

README cung cấp quy trình S1-B thông qua handle_tool_call. Hãy nhập dispatcher từ drama_series_agent.drama.dispatch:

from drama_series_agent.drama.dispatch import handle_tool_call

Sau khi tạo khung dự án, hãy thực hiện các thao tác theo thứ tự sau:

  1. run_literary_generate để tạo gói văn học từ dữ liệu tiếp nhận.
  2. accept_literary_package để chấp thuận rõ ràng đầu ra văn học đã tạo.
  3. extract_cast_table để suy ra bảng diễn viên.
  4. run_cast_image_generate để tạo hình ảnh diễn viên.
  5. accept_cast_images để chấp thuận các tài sản diễn viên đã tạo.
  6. mark_audio_deferred để ghi nhận rằng công việc âm thanh được trì hoãn.
  7. get_s1_gate_status để kiểm tra chuỗi phim đã ready_for_s2 hay chưa.

Các bước chấp thuận rất quan trọng: Giai đoạn 1 không chỉ là chuỗi các lệnh gọi tạo dữ liệu. Gói văn học và hình ảnh diễn viên phải được chấp thuận trước khi cổng Giai đoạn 1 có thể báo sẵn sàng cho Giai đoạn 2.

Dùng bố cục dự án làm hướng dẫn

Hermes phân tách các loại dữ liệu dự án khác nhau vào những vị trí dễ dự đoán:

  • hermes/architecture/ chứa tài liệu trình tự S1-B, S2–S3, phạm vi S4–S7 và các quyết định kiến trúc.
  • hermes/contracts/ chứa JSON Schema và các ví dụ.
  • projects/{slug}/ lưu dữ liệu sự thật L1, bao gồm series_runtime.json, dữ liệu tiếp nhận, dữ liệu bàn giao và các quyết định.
  • dramas/{slug}/ là vị trí dữ liệu văn học.
  • templates/{slug}/ là vị trí dữ liệu tập phim của HostApp.
  • data/cast/{slug}/ lưu dữ liệu diễn viên và giọng nói.
  • skills/drama-intake/ chứa kỹ năng S1-A.
  • skills/drama-series-develop/ bao quát các lĩnh vực phát triển dự án như đề cương, xây dựng thế giới, nhân vật và phong cách hình ảnh.
  • skills/0xsline-short-drama/ cung cấp kỹ năng văn học được kỹ năng văn học sử dụng trong thời gian chạy.
  • skills/drama-series-h3-r2v-prompts/ cung cấp kết nối H3 Ref2VA.

Nắm các gói Python chính

Kho mã chia chức năng Python thành các gói chuyên biệt:

  • drama_series_agent.intake xử lý việc phát hiện, tạo khung, nhập dữ liệu và bàn giao.
  • drama_series_agent.drama chứa JobEvent, SeriesRuntime, EventBus, quy trình làm phong phú S1-B, hook S3 và worker Comfy.
  • drama_series_agent.adapters.r2v cung cấp trình chạy tập phim MiniMax H3 R2V và chức năng xác thực.
  • drama_series_agent.utils.skills_paths xác định vị trí các kỹ năng.

Khi mở rộng quy trình, hãy sử dụng các ranh giới gói này thay vì đặt logic tiếp nhận, thời gian chạy và adapter trong cùng một mô-đun.

Chuyển từ Giai đoạn 1 sang sản xuất

Sau khi get_s1_gate_status báo ready_for_s2, chuỗi phim có thể chuyển sang Giai đoạn 2. Giai đoạn 2 xây dựng và xác thực công việc JSONL, đồng thời chạy bất đồng bộ. Kho mã cũng kết nối worker Comfy thông qua comfy_worker.enqueue_comfy_episode.

Quá trình xử lý từ Giai đoạn 2 trở đi nên truyền đạt tiến độ thông qua các sự kiện thời gian chạy thay vì coi cuộc trò chuyện là nhật ký công việc hoàn chỉnh. Các quyết định đã được khóa xác định rằng Chat hiển thị các mốc tiến độ, trong khi công việc bất đồng bộ được xử lý bởi các lớp job và event.

Khi một tập hoàn tất, hook on_episode_complete của Giai đoạn 3 sẽ cập nhật runtime của series. Bản cập nhật runtime này hỗ trợ luồng xử lý tập tiếp theo, bao gồm hành vi “tạo tập thứ hai” như dự kiến.

Mẹo tích hợp thực tế

  • Gắn mỗi cuộc trò chuyện với một series_id để trạng thái runtime luôn rõ ràng.
  • Kiểm tra các schema bằng --dump-schemas trước khi xây dựng các tích hợp bên ngoài.
  • Giữ nguyên trình tự nghiệm thu rõ ràng đối với đầu ra văn học và hình ảnh diễn viên.
  • Sử dụng các thư mục mount của dự án làm ranh giới nguồn dữ liệu chuẩn cho dữ liệu runtime, văn học, tập và diễn viên.
  • Đọc DECISIONS.md trước khi thay đổi máy chủ Streamlit hoặc ranh giới quy trình.
  • Sử dụng các hợp đồng được ghi chép trong hermes/contracts/ khi tạo payload Job Event hoặc series_runtime.
  • Xử lý Giai đoạn 2 theo phương thức bất đồng bộ và hiển thị các mốc tiến độ thông qua giao diện job và chat của ứng dụng máy chủ.

Kết luận

Hermes cung cấp một quy trình có cấu trúc, từ ý tưởng chính kịch một dòng đến gói Giai đoạn 1 được nghiệm thu, rồi chuyển sang quá trình sản xuất tập bất đồng bộ. Hãy bắt đầu bằng tập lệnh tiếp nhận, hoàn tất trình tự tạo và nghiệm thu S1-B, xác minh cổng ready_for_s2, đồng thời sử dụng các hợp đồng và hook runtime đã được ghi chép để mở rộng quy trình một cách an toàn.