程式碼生成 Skill
⚠️ 生成後必須向用戶展示結果!
- 生成的 Python 函數要用程式碼區塊展示
- 生成的 LaTeX 要渲染給用戶看
- 生成 Markdown 報告後顯示完整內容
工具速查
| 輸出類型 |
工具 |
| Python 函數 |
generate_python_function(name, description, parameters, steps, return_vars) |
| LaTeX 公式 |
generate_latex_derivation(steps, title?, include_preamble?) |
| Markdown 報告 |
generate_derivation_report(title, given, steps, result, assumptions?, limitations?) |
| SymPy 腳本 |
generate_sympy_script(expressions, operations) |
調用範例
Python 函數
generate_python_function(
name="arrhenius_rate",
description="Calculate rate using Arrhenius equation",
parameters=[
{"name": "k_ref", "type": "float", "description": "Reference rate (1/s)"},
{"name": "E_a", "type": "float", "description": "Activation energy (J/mol)"},
{"name": "T", "type": "float", "description": "Temperature (K)"}
],
steps=[
{"description": "Arrhenius equation", "expression": "k_ref * exp(E_a/R * (1/T_ref - 1/T))", "result_var": "k"}
],
return_vars=["k"]
)
LaTeX
generate_latex_derivation(
steps=[
{"description": "Base model", "expression": "C = C_0 e^{-kt}"},
{"description": "Substitute k", "expression": "C = C_0 e^{-k_{ref} e^{...} t}"}
],
title="Temperature-Corrected Elimination"
)
Markdown 報告
generate_derivation_report(
title="Temperature-Corrected Elimination",
given=["One-compartment model: $C = C_0 e^{-kt}$"],
steps=[{"description": "...", "expression": "..."}],
result="$C(t,T) = ...$",
assumptions=["First-order elimination"],
limitations=["Valid for 32-42°C"]
)
SymPy 腳本
generate_sympy_script(
expressions=[
{"name": "C_base", "expr": "C_0 * exp(-k*t)", "description": "One-compartment"}
],
operations=[
{"op": "substitute", "input": "C_base", "var": "k", "replacement": "k_arrhenius"}
]
)
先計算再生成
複雜情況先用 SymPy-MCP 計算(如 dsolve_ode),再用 NSForge 生成程式碼。
1---2name: nsforge-code-generation3description: 程式碼/報告生成。觸發詞:生成程式碼, Python 函數, LaTeX, 報告, export。4---5
6# 程式碼生成 Skill
7
8> **⚠️ 生成後必須向用戶展示結果!**
9> - 生成的 Python 函數要用程式碼區塊展示
10> - 生成的 LaTeX 要渲染給用戶看
11> - 生成 Markdown 報告後顯示完整內容
12
13## 工具速查
14
15| 輸出類型 | 工具 |
16|----------|------|
17| Python 函數 | `generate_python_function(name, description, parameters, steps, return_vars)` |
18| LaTeX 公式 | `generate_latex_derivation(steps, title?, include_preamble?)` |
19| Markdown 報告 | `generate_derivation_report(title, given, steps, result, assumptions?, limitations?)` |
20| SymPy 腳本 | `generate_sympy_script(expressions, operations)` |
21
22## 調用範例
23
24### Python 函數
25
26```python
27generate_python_function(
28 name="arrhenius_rate",
29 description="Calculate rate using Arrhenius equation",
30 parameters=[
31 {"name": "k_ref", "type": "float", "description": "Reference rate (1/s)"},
32 {"name": "E_a", "type": "float", "description": "Activation energy (J/mol)"},
33 {"name": "T", "type": "float", "description": "Temperature (K)"}
34 ],
35 steps=[
36 {"description": "Arrhenius equation", "expression": "k_ref * exp(E_a/R * (1/T_ref - 1/T))", "result_var": "k"}
37 ],
38 return_vars=["k"]
39)
40```
41
42### LaTeX
43
44```python
45generate_latex_derivation(
46 steps=[
47 {"description": "Base model", "expression": "C = C_0 e^{-kt}"},
48 {"description": "Substitute k", "expression": "C = C_0 e^{-k_{ref} e^{...} t}"}
49 ],
50 title="Temperature-Corrected Elimination"
51)
52```
53
54### Markdown 報告
55
56```python
57generate_derivation_report(
58 title="Temperature-Corrected Elimination",
59 given=["One-compartment model: $C = C_0 e^{-kt}$"],
60 steps=[{"description": "...", "expression": "..."}],
61 result="$C(t,T) = ...$",
62 assumptions=["First-order elimination"],
63 limitations=["Valid for 32-42°C"]
64)
65```
66
67### SymPy 腳本
68
69```python
70generate_sympy_script(
71 expressions=[
72 {"name": "C_base", "expr": "C_0 * exp(-k*t)", "description": "One-compartment"}
73 ],
74 operations=[
75 {"op": "substitute", "input": "C_base", "var": "k", "replacement": "k_arrhenius"}
76 ]
77)
78```
79
80## 先計算再生成
81
82複雜情況先用 SymPy-MCP 計算(如 `dsolve_ode`),再用 NSForge 生成程式碼。