Bỏ qua để đến nội dung
AstroWay/api v2.158.7 · vi
tất cả hệ thống hoạt động bình thường

Độ chính xác tính toán

API AstroWay sử dụng Swiss Ephemeris (mã C chính thức từ Astrodienst, những người tạo ra astro.com) - cùng một công cụ mà các nhà chiêm tinh chuyên nghiệp đã sử dụng hơn 30 năm trong Solar Fire ($495), Kepler ($995), Astro Gold ($29.99/tháng) và Janus. Chúng tôi đã biên dịch nó thành WebAssembly và cung cấp dưới dạng lớp API REST, không có phí trung gian. Mỗi endpoint tính toán cơ bản đều được bao phủ bởi các bài kiểm tra snapshot hồi quy; độ chính xác của công cụ được xác minh thông qua triangulation với ba nguồn độc lập + so với Danh mục Nhật thực 5 Thiên niên kỷ của NASA:

  • Vị trí hành tinh: trung vị 0.0013", tối đa 0.561" so với swetest CGI chính thức của Astrodienst (đo vào 2026-07-29 trên 130 phép đo). Chi tiết theo thiên thể bên dưới
  • Cusp nhà Placidus: 0.000" khớp chính xác
  • Nhật thực/Nguyệt thực: < 1 phút so với Danh mục Nhật thực của NASA
  • Đường ACG: < 1.5 km tại xích đạo so với swetest
  • Bình minh/hoàng hôn: < 10 giây so với timeanddate.com
  • Moon VOC, nhập cung, hợp hành tinh: độ chính xác đến phần nhỏ của giây

Phương pháp luận: cách đo lường chính xác

Phần tiêu đề “Phương pháp luận: cách đo lường chính xác”

Những con số này không phải là ước tính, mà là kết quả của một lần chạy. Script lấy 10 biểu đồ, trải dài từ năm 1900 đến 2050, truy vấn cùng một thời điểm trong swetest CGI Astrodienst trực tiếp và so sánh tất cả 13 thiên thể mà chúng tôi trả về. Tổng cộng 130 phép đo.

Thiên thểĐộ lệch tối đa
Mặt trời, Sao Kim, Sao Thổ0.001"
Sao Thủy0.002"
true Node0.004"
Sao Hỏa0.007"
Sao Mộc0.009"
Mặt trăng0.022"
Sao Thiên Vương0.083"
Sao Diêm Vương0.097"
Sao Hải Vương0.223"
Chiron0.561"
mean Apogee (Lilith)0.000"

Trung vị trên tất cả 130 phép đo: 0.0013".

Trước đây trên trang này, có một lời hứa chung là «< 0.1 giây cung». Các phép đo vào ngày 2026-07-29 cho thấy Sao Hải Vương, Sao Diêm Vương và Chiron không giữ được mức đó, vì vậy lời hứa đã được thay thế bằng các con số thực tế. Chiron và các hành tinh bên ngoài có độ lệch lớn hơn do vị trí của chúng được lấy từ một tập hợp lịch thiên văn nén trong bản dựng WASM.

Bạn có thể tự tái tạo: api-calc/scripts/accuracy-vs-swetest.mjs thực hiện chính xác các yêu cầu này và in ra cùng một bảng.

Tự kiểm tra. Script đã đo các con số trên nằm trong kho lưu trữ công khai theo giấy phép MIT: astroway/astrology-accuracy-benchmark. Nó không chỉ hoạt động với chúng tôi: một bộ điều hợp cho bất kỳ API nào khác chỉ mất ba mươi dòng, vì vậy 130 phép đo tương tự có thể được chạy so với đối thủ cạnh tranh và so sánh. Một khóa sandbox là đủ.

Thành phầnGiá trị
Thư việnSwiss Ephemeris C code (aloistr/swisseph)
Phiên bảnupstream Astrodienst C code
Bindingsswisseph-wasm (WebAssembly trong Node.js)
EphemerisDE431 JPL ephemeris (thông qua các tệp .se1)
FallbackMoshier analytical (cho các ngày ngoài 1800-2399)
Code sharingShared @/core với app.astroway.info - một công cụ, hai phương tiện vận chuyển

Độ chính xác được kiểm tra thông qua triangulation - so sánh với ba nguồn độc lập:

Bản triển khai tham chiếu chính thức của Swiss Ephemeris từ chính Astrodienst - đội ngũ đã tạo ra Astro.com và phục vụ hàng triệu nhà chiêm tinh trên toàn thế giới. Nguồn công khai có thẩm quyền nhất. Công cụ của chúng tôi giống hệt (độ lệch 0.00–0.07 giây cung).

Một thư viện Python độc lập sử dụng pyswisseph-bindings thay vì WASM của chúng tôi. Xác nhận rằng lớp WASM của chúng tôi không làm sai lệch dữ liệu.

API Swiss Ephemeris từ xa (Lahiri sidereal). Độ lệch hệ thống 8–17 giây cung liên quan đến các phiên bản khác nhau của công thức Lahiri ayanamsa, và không phải do độ chính xác của công cụ.

Biểu đồso với swetest (Astrodienst)so với Kerykeion (Python)so với Prokerala API
Monroe 19260.00”0.19”16.95” (systemic)
Diana 19610.00”0.69”8.18” (systemic)
Einstein 18790.07”LMT-artifac của Kerykeion14.96” (systemic)

Bộ kiểm thử hồi quy ở cấp độ endpoint

Phần tiêu đề “Bộ kiểm thử hồi quy ở cấp độ endpoint”

Mỗi endpoint tính toán cơ bản đều được bao phủ bởi các bài kiểm tra snapshot đóng băng trên 3 biểu đồ tham chiếu (Monroe / Diana / Einstein) = 873 snapshot.

Bộ snapshot bắt các lỗi:

  • Lỗi ánh xạ dữ liệu đầu vào - sai id hành tinh, UT, hệ thống nhà
  • Xử lý hậu kỳ - làm tròn, chuyển đổi đơn vị, mất dấu
  • Sự khác biệt mặc định - mean vs true node, địa tâm vs địa phương
  • Lệch schema - xác thực bỏ qua định dạng không đúng
  • Triển khai lỗi thời - bản phân phối prod không khớp với mã

Sai số cho phép: 5e-5° (≈0.18 giây cung) theo mặc định cho tất cả các trường số.

Vị trí hành tinh (nhiệt đới, so với swetest)

Phần tiêu đề “Vị trí hành tinh (nhiệt đới, so với swetest)”
Biểu đồNgàyĐộ lệch tối đa
Marilyn Monroe1926-06-010.00”
Princess Diana1961-07-010.00”
Albert Einstein1879-03-140.07”
Biểu đồđộ lệch ASCđộ lệch MCĐộ lệch cusp tối đa
Monroe0.000”0.000”0.000”
Diana0.000”0.000”0.000”

Nhật thực/Nguyệt thực (so với Danh mục 5 Thiên niên kỷ của NASA)

Phần tiêu đề “Nhật thực/Nguyệt thực (so với Danh mục 5 Thiên niên kỷ của NASA)”
Sự kiệnTối đa NASATối đa của chúng tôiĐộ lệch
2025-03-14 Nguyệt thực toàn phần06:58 UT06:58 UT0.8 phút
2025-03-29 Nhật thực một phần10:47 UT10:47 UT0.5 phút
2025-09-07 Nguyệt thực toàn phần18:11 UT18:11 UT0.8 phút
2025-09-21 Nhật thực một phần19:41 UT19:42 UT1.0 phút

Bản đồ chiêm tinh (so với công thức RA từ swetest)

Phần tiêu đề “Bản đồ chiêm tinh (so với công thức RA từ swetest)”

Tất cả các đường MC/IC/ASC/DSC đều sử dụng công thức chính xác longitude = RA − GMST (tiêu chuẩn Kenneth Bowser). Độ lệch so với tham chiếu: < 1.5 km tại xích đạo cho tất cả các hành tinh.

Bình minh / Hoàng hôn (so với timeanddate.com)

Phần tiêu đề “Bình minh / Hoàng hôn (so với timeanddate.com)”
Vị tríNgàyTham sốĐộ lệch
London2026-04-15Bình minh0.6 giây
London2026-04-15Hoàng hôn9 giây

Các vị trí cực (|lat| > 66.5°) tự động trả về polarState + cảnh báo rằng các giờ hành tinh thông thường không được xác định.

AstroWay sử dụng vòng ảnh hưởng biến đổi theo từng hành tinh (quy tắc MIN của hai hành tinh), giống như trong ZET9 và astro.com. Vòng ảnh hưởng mặc định (cho biểu đồ sinh):

Góc hợpSunMoonInnerJupiterOuter
Conjunction12°10°
Sextile6.5°
Square10°
Trine12°
Opposition12°10°

Các góc hợp phụ (36°, 40°, 45°, 72°, 108°, 135°, 144°) bị tắt theo mặc định. Chúng được bật rõ ràng thông qua ALL_ASPECTS.

Đối với |lat| > 66.5°, các hệ thống Placidus / Koch / Regiomontanus không được xác định về mặt toán học. Trong những trường hợp như vậy, Swiss Ephemeris tự động trả về Porphyry, và API của chúng tôi thêm một cảnh báo:

{
"system": "P",
"warning": "Система Placidus не визначена для lat=68.96° (> 66.5°). Swiss Ephemeris підставив Porphyry..."
}

Hồi quy được kiểm tra trên mỗi PR thông qua CI:

  • api-calc/tests/endpoints/ - 873 snapshot so với các biểu đồ tham chiếu (Monroe / Diana / Einstein) + synastry / composite / davison
  • .github/workflows/api-accuracy.yml - tự động chạy trên PR
  • Triangulation so với swetest CGI + Kerykeion - hàng tuần
  • Giám sát upstream Swiss Ephemeris thông qua Dependabot

Độ chính xác của công cụ là một nửa sự tin cậy. Nửa còn lại là hợp đồng đầu ra, mà một tác nhân (Claude, ChatGPT, Cursor) có thể xác thực. Máy chủ MCP của chúng tôi không trả về “văn bản thô, tự tìm hiểu”:

  • structuredContent có kiểu. Hơn 600 công cụ MCP, và phần lớn trong số đó công bố outputSchema nghiêm ngặt - client MCP nhận được một cấu trúc đã được xác thực, chứ không phải một chuỗi cần phải phân tích cú pháp một cách ngẫu nhiên.
  • Bảo vệ chống lại schema drift. Bài kiểm tra CI openapi-example-drift xác thực mỗi snapshot hồi quy so với schema được suy ra từ chính ví dụ của nó: nếu đầu ra thực tế của endpoint khác với schema đã công bố, bản dựng sẽ thất bại. Chính loại khác biệt này gây ra lỗi MCP -32602 Output validation error.
  • Lỗi là lỗi. Lỗi công cụ luôn được trả về với cờ isError và mã có kiểu (UPPER_SNAKE). Chúng tôi không bao giờ trả về cho mô hình một stack trace thô hoặc các đường dẫn nội bộ của máy chủ dưới dạng “dữ liệu”.

Tức là, việc tích hợp thông qua MCP cũng dễ đoán như một lệnh gọi REST trực tiếp: những gì được mô tả trong /openapi.json chính là những gì công cụ trả về.

  • Ngày ngoài phạm vi (trước 1800 và sau 2399): sử dụng Moshier analytical, độ chính xác ~0.1” (so với < 0.01” cho SWIEPH với các tệp DE431)
  • True Lilith (id=13) vs Mean Lilith (id=12): chênh lệch lên đến 12° - mặc định là Mean Lilith (hành vi ổn định), True Lilith có sẵn thông qua planetIds: [13]
  • Địa phương vs địa tâm: mặc định là địa tâm

Về các câu hỏi về độ chính xác: hãy viết thư tới support@astroway.info kèm theo dữ liệu biểu đồ và tham chiếu mong muốn (astro.com hoặc nguồn đáng tin cậy khác).

Hữu ích chứ?
Запропонувати правку

Cập nhật lần cuối: