前言¶
在開發基於 DeepSeek Harness (DSH) 的智能體時,複數計算是一個高頻但容易出錯的環節。大模型在處理複數四則運算、極座標轉換、反三角函數分支切割以及復係數方程求解時,往往難以保證精度和正確性。DSH 的核心理念是“一切皆插件”,通過引入確定性數學計算層,可以將這類邏輯從模型推理中剝離出來。
下面介紹 dsh-complex 插件,它是一個爲 DSH 提供複數數學運算能力的工具箱,由維護者 TYEclipse 開發。
插件介紹¶
dsh-complex 提供了 6 個純數學工具,用於處理複數的解析、格式化、算術運算、座標轉換、函數計算、n 次方根求解以及復係數二次方程求解。該插件採用零運行時依賴的設計,基於 IEEE 雙精度浮點數進行確定性計算,輸出結果默認保留 10 位小數(可配置),並遵循 CPython cmath 庫的分支約定。
核心功能¶
插件包含以下核心工具:
- complex_parse:解析複數。支持直角座標(如
3+4i)、極座標(如5∠53.13°)和指數形式。解析結果會包含模、輻角(弧度/角度)、共軛等完整信息。 - complex_calc:執行復數算術運算。支持加、減、乘、除、取共軛、取倒數、整數次冪以及一般複數冪運算(如
i^i)。 - complex_convert:座標轉換。支持在直角座標和極座標之間互轉,輸出包含模長、輻角以及指數表示形式。
- complex_functions:初等與反函數計算。支持復指數、對數、三角函數、雙曲函數及其反函數的主值計算。結果會附帶分支約定說明。
- complex_roots:n 次方根計算。計算給定複數的所有 n 次方根(n 範圍 1-64)。
- complex_quadratic:復係數二次方程求解。輸入係數 a、b、c,返回判別式、韋達定理結果(和與積)、根以及每個根的殘差驗證值。
安裝與啓用¶
安裝前請確保環境滿足 Node.js >= 20 的要求。通過以下命令安裝插件:
dsh plugin --profile web add github:TYEclipse/dsh-complex
若需鎖定版本,可使用:
dsh plugin --profile web add github:TYEclipse/dsh-complex#v0.2.0
典型用法¶
以下示例展示瞭如何調用這些工具:
解析與轉換¶
complex_parse("3+4i")
# 返回: 3+4i (rectangular; |z| = 5, arg = 53.1301023542°, conjugate 3-4i)
complex_convert(input="3+4i", operation="to_polar")
# 返回: |z| = 5, arg = 0.927295218 rad = 53.1301023542° (5∠53.1301023542°; exponential 5·e^(i·0.927295218))
算術與冪運算¶
complex_calc(a="3+4i", b="1-2i", operation="multiply")
# 返回: 11-2i
complex_calc(a="i", b="i", operation="pow")
# 返回: 0.2078795764 (i^i = e^(-π/2))
函數、根與方程¶
complex_functions(input="-1", operation="log")
# 返回: 3.1415926536i (principal branch)
complex_roots(input="1", n=4)
# 返回: 1, i, -1, -i
complex_quadratic(a="1", b="-2", c="2")
# 返回: discriminant -4, sum 2, product 2; roots 1+1i, 1-1i
適用場景與注意¶
該插件適合需要處理複數數學邏輯的 DSH 智能體場景,例如信號處理、控制理論模擬或複雜的工程計算。
- 確定性輸出:插件內部使用 IEEE 雙精度浮點數,輸出結果默認保留 10 位小數,可通過配置
plugins.complex.roundPlaces調整精度(1-15 位)。 - 輸入語法:支持
a+bi形式以及r∠θ°形式的極座標輸入。支持j作爲虛數單位。 - 分支約定:反函數計算(如
asin,log)嚴格遵循 CPythoncmath的分支約定,結果中會包含分支說明。 - 錯誤處理:對於非法輸入(如
log(0)、除以零、0^0或atan(±i)),插件會返回valid: false並給出誠實說明,而不是返回錯誤值。
總結¶
dsh-complex 通過提供一套嚴謹的複數計算工具,填補了 DSH 在處理複雜數學運算時的空白。它讓智能體無需自行推導公式,即可獲得高精度的複數計算結果。更多細節和源碼可訪問 GitHub 倉庫。