資訊技術 python 入門

ChatGPT Prompt 模板引擎 - 依部門自動生成提示詞

適用場景:各部門上班族快速生成專業 ChatGPT Prompt,無需學習 Prompt 工程

## 功能說明

這個 Python Script 是一個 **Prompt 模板引擎**,你可以:

1. 預先定義各部門的常用 Prompt 結構
2. 輸入部門名稱和任務描述
3. 自動組合出最適合的 Prompt,直接貼到 ChatGPT 使用

## 使用方式

```bash
pip install jinja2
python prompt_engine.py
```

## 適用場景

- HR 生成面試題 Prompt
- 財務生成對帳分析 Prompt
- 業務生成報價建議 Prompt
python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
AI智慧職場 - Prompt 模板引擎
可依部門與任務自動生成最佳 ChatGPT Prompt
"""

from jinja2 import Template

# ===== 各部門 Prompt 模板 =====
TEMPLATES = {
    "hr": Template("""
你是一位擁有 {{ years }} 年經驗的人力資源專家,熟悉台灣勞動法規。

任務:{{ task }}

請用繁體中文回覆,並注意:
1. 符合台灣《勞動基準法》相關規定
2. 提供具體可行的步驟
3. 如有法規引用,請標明條文
"""),
    "finance": Template("""
你是一位資深財務長(CFO),熟悉台灣財務報告準則(IFRS)。

任務:{{ task }}

請用繁體中文回覆,並注意:
1. 符合台灣會計準則
2. 提供試算表可直接套用的公式
3. 標明風險提示點
"""),
    "sales": Template("""
你是一位頂尖業務顧問,擅長 B2B 銷售策略。

任務:{{ task }}

請用繁體中文回覆,並提供:
1. 具體話術範例
2. 應對客戶反對意見的方式
3. 成交的關鍵觸發點
"""),
    "it": Template("""
你是一位資深系統架構師,熟悉 PHP、Python、MySQL 和企業 ERP 系統。

任務:{{ task }}

請用繁體中文回覆,提供:
1. 完整可執行的程式碼
2. 詳細的安裝/執行步驟
3. 常見錯誤與解決方式
"""),
    "general": Template("""
你是一位企業 AI 導入顧問,擁有豐富的各產業實戰經驗。

任務:{{ task }}

請用讓一般上班族也能看懂的語氣回覆,並:
1. 提供步驟化的操作說明
2. 舉出真實的工作場景例子
3. 說明預期可以節省多少時間
""")
}

def generate_prompt(department: str, task: str, years: int = 15) -> str:
    """
    生成最適合該部門的 ChatGPT Prompt
    
    Args:
        department: 部門代碼 (hr/finance/sales/it/general)
        task: 你想完成的任務描述
        years: 假設 AI 扮演的專家年資
    
    Returns:
        完整的 Prompt 字串
    """
    template = TEMPLATES.get(department, TEMPLATES["general"])
    return template.render(task=task, years=years).strip()


def main():
    print("=" * 50)
    print("  AI智慧職場 - Prompt 模板引擎")
    print("=" * 50)
    
    departments = {
        "1": ("hr",      "人力資源"),
        "2": ("finance", "財務會計"),
        "3": ("sales",   "業務行銷"),
        "4": ("it",      "資訊技術"),
        "5": ("general", "通用/其他"),
    }
    
    print("
請選擇你的部門:")
    for key, (code, name) in departments.items():
        print(f"  {key}. {name}")
    
    choice = input("
輸入數字 (1-5): ").strip()
    dept_code, dept_name = departments.get(choice, ("general", "通用"))
    
    print(f"
你選擇了:{dept_name}")
    task = input("請描述你想完成的任務:
> ").strip()
    
    if not task:
        print("❌ 任務描述不能為空!")
        return
    
    prompt = generate_prompt(dept_code, task)
    
    print("
" + "=" * 50)
    print("✅ 你的專屬 Prompt(請複製後貼到 ChatGPT):")
    print("=" * 50)
    print(prompt)
    print("=" * 50)


if __name__ == "__main__":
    main()