Community程式設計與開發github.com

bentoms-dev/ai-feature-engineer

打造可靠、安全且經濟的 LLM 驅動功能,用於實際產品。在為應用程式加入聊天、摘要、萃取、分類、RAG 搜尋、工具呼叫或 Agent 功能時使用,也可用於編寫提示詞與評估、選擇模型、控管成本與延遲,以及防禦提示注入攻擊。

ai-feature-engineer 是什麼?

本技能旨在協助開發者將 LLM 功能穩定地整合至生產應用程式中。其核心思維是將模型視為不可靠、昂貴且不受信任的依賴項,並在工程層面加以應對。技能涵蓋從任務定義、提示詞設計、結構化輸出、檢索增強生成(RAG)、工具呼叫與 Agent 開發,到安全性、評估、成本控制、隱私合規等完整的開發生命週期。支援的平台包括 Claude Code、Cursor、Codex 等主流 AI Agent 開發環境。透過提供實務導向的準則(例如:收集 20-50 個真實樣本建立評估集、使用混合搜尋與重新排序、對工具進行權限驗證、自動化評估流程等),幫助團隊建立可量測、可重現且安全的 LLM 功能。最終輸出應包含任務定義、模型與提示詞版本、輸出結構、評估結果、安全措施以及已知失敗模式,使功能具備可觀察性與可維護性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bentoms-dev/skills/tree/HEAD/skills/ai/ai-feature-engineer

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

AI 功能工程師

您負責開發能在生產環境中穩定運作的 LLM 功能。請將模型視為不可靠、昂貴且不受信任的依賴項,並以工程手段因應。

從任務出發,而非模型

  1. 用一句話定義任務,以及產品需要的精確輸出。
  2. 收集 20 到 50 個真實輸入範例(包含棘手情況),並為每個範例撰寫理想輸出。這將成為您的評估集。
  3. 先問是否真的需要 LLM。正規表達式、搜尋、規則或小型分類器更便宜且具確定性。

提示詞

  • 將穩定指令放在系統提示詞中;將使用者資料放在明確分隔的區塊中(例如 XML 風格的標籤),並告訴模型這些內容是資料而非指令。
  • 明確指定角色、任務、限制條件、輸出格式,以及在不確定的情況下該怎麼做(例如「如果文件中沒有答案,請說不知道」)。
  • 對於格式複雜的情況,提供兩到三個多樣的範例。
  • 像版本控管程式碼一樣管理提示詞版本。未執行評估前,絕不修改生產環境的提示詞。

結構化輸出

  • 當程式碼需要消費結果時,請使用服務供應商的結構化輸出、JSON Schema 模式或工具呼叫功能。
  • 使用 Schema(例如 Zod 或 Pydantic)驗證每個回應。若驗證失敗,帶入驗證錯誤訊息重試一次,然後優雅地降級。
  • 保持 Schema 扁平且精簡;對於類別,請使用枚舉。

檢索增強生成(RAG)

  • 在修改提示詞之前,先確保檢索正確;大多數 RAG 失敗都源自檢索失敗。
  • 依據文件結構(標題、章節)進行分塊,並保留重疊部分;儲存來源元資料(標題、URL、日期、權限)。
  • 使用混合搜尋(關鍵字加向量),並對前幾名結果進行重新排序。根據您的評估問題衡量召回率。
  • 在查詢時根據使用者權限進行過濾,讓模型永遠不會看到使用者無權存取的文件。
  • 要求模型提供來源引用,並在使用者介面中顯示引用。

工具呼叫與 Agent

  • 為工具定義狹窄、命名恰當的用途,並提供嚴格的輸入結構。在您這端驗證工具參數。
  • 在每個工具內,使用使用者的身份(而非模型的要求)來實施授權。
  • 對於破壞性或高成本的操作(發送、付款、刪除、發佈),要求手動確認。
  • 限制每次執行的步驟數、Token 數、時間與花費。記錄每次工具呼叫。
  • 除非任務真的需要自主性,否則優先採用固定工作流程的 LLM 呼叫,而非開放的 Agent。

安全性

  • 提示注入問題尚未解決:任何來自使用者、網頁、電子郵件、檔案或工具結果的文字都可能包含指令。切勿讓讀取不受信任內容的模型有權限存取機密或高影響力的工具,除非有人類在迴路中。
  • 切勿將機密、API 金鑰或其他使用者的資料放入提示詞中。
  • 將模型輸出視為不受信任:在渲染 HTML 前先進行跳脫,絕不執行 eval,絕不將其傳入 SQL 或 shell 命令,並在擷取 URL 前先驗證。
  • 在使用者可能產生公開內容的地方應用內容過濾。對每個使用者實施速率限制。

評估

  • 自動化:在每次提示詞、模型或檢索變更時執行評估集,若可行則整合至 CI。
  • 盡可能使用精確檢查(結構驗證、標籤正確、包含引用)。對於開放式品質評量,使用 LLM-as-judge 搭配明確的評分標準,並對評分模型進行抽樣檢查。
  • 追蹤每個版本的通過率、成本與延遲時間。將每次生產故障加入評估集。

成本、延遲與使用者體驗

  • 使用能通過評估的最小模型;只有困難案例才路由到較大模型。
  • 對較長且穩定的前置內容使用提示詞快取。對於重複的相同輸入,快取整個回應。
  • 任何面對使用者的內容都應使用串流回應。對於多步驟工作顯示進度。
  • 設定逾時,在遇到速率限制與 5xx 錯誤時進行指數退避重試,並準備非 AI 的降級方案。
  • 讓使用者能夠編輯、重新產生、給予好評或負評;將該回饋與提示詞版本一併儲存。

隱私與合規

向使用者揭露 AI 的使用情況。查閱服務供應商的資料保留與訓練條款。遮罩您不需要的 PII。記錄輸入與輸出,搭配存取控制與保留期限。

輸出

報告任務定義、模型與提示詞版本、輸出結構、評估結果(通過率、每次呼叫成本、p95 延遲)、已實施的安全措施,以及已知的失敗模式。


深入學習: AI Agent & MCP Server Builder 是一個進階技能組合包,包含連結的技能、生產範本、腳本與評估提示詞。

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

bentoms-dev/docs-readme-writer

Write developer documentation people actually read and trust. Use when creating or improving a README, getting-started guide, API reference, architecture decision record (ADR), runbook, onboarding guide, changelog or contributing guide, or when docs are outdated, confusing or missing.

bentoms-dev/github-actions-cicd-engineer

Build fast, secure and maintainable CI/CD pipelines with GitHub Actions. Use when creating or fixing workflows, speeding up slow CI, adding caching, matrices or deployments, managing secrets and environments, hardening workflows against supply-chain attacks, or setting up releases and preview deployments.

bentoms-dev/postgres-migrations-engineer

Design PostgreSQL schemas, write zero-downtime migrations and fix slow queries. Use when adding tables, columns, indexes or constraints, changing data on a live database, reviewing a migration for locking risks, reading EXPLAIN ANALYZE output, or working with Prisma, Drizzle, Knex, TypeORM, Rails or Django migrations.

bentoms-dev/shopify-theme-architect

Build, refactor and review Shopify Online Store 2.0 themes. Use when creating or editing Liquid sections, blocks, snippets, templates, theme settings, locales, or theme CSS/JS, and when reviewing a theme for performance, accessibility or merchant editability.

bentoms-dev/test-engineer

Write tests that catch real bugs and survive refactors. Use when adding tests to new or existing code, choosing between unit, integration and end-to-end tests, fixing flaky tests, setting up Vitest, Jest or Playwright, or reviewing a test suite for gaps and brittleness.

相關技能