🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

承上篇 我覺得用 llm 自動決策有點沒必要

用 rule based 決策 稍微改寫

輸出內容

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 2

要執行幾次?
5

將執行 Agent 5 次...

【第 1/5 次執行】
--------------------------------------------------
╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:04:43

→ 讀取系統狀態...
  當前文章數量:

→ 應用規則決策...

【規則決策】
選擇動作: research
理由: 待研究文章數 (0) 少於 2,需要補充內容管道

【執行動作】研究關鍵字
  研究領域: AI 與軟體開發
  建立文章 ID: 1

【執行結果】
✓ 成功研究 5 個關鍵字主題
  文章狀態: pending_write

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

【第 2/5 次執行】
--------------------------------------------------
╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:05:01

→ 讀取系統狀態...
  當前文章數量:
    - pending_write: 1

→ 應用規則決策...

【規則決策】
選擇動作: write
理由: 有 1 篇文章等待撰寫

【執行動作】撰寫文章
  文章 ID: 1
  主題: AI 驅動的軟體開發

【執行結果】
✓ 文章撰寫完成: 如何使用 AI 技術提升軟體開發效率
  狀態: pending_review(等待品質審查)

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

【第 3/5 次執行】
--------------------------------------------------
╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:05:37

→ 讀取系統狀態...
  當前文章數量:
    - pending_review: 1

→ 應用規則決策...

【規則決策】
選擇動作: review
理由: 有 1 篇文章等待品質審查

【執行動作】審查文章品質
  文章: 如何使用 AI 技術提升軟體開發效率
  審查中...

【執行結果】
✓ 品質評分: 8.5/10 - 通過自我審查
  理由: 這篇文章在內容深度與準確性方面表現良好,涵蓋了 AI 在軟體開發中的多個應用場景,並提供了具體的實用範例。結構完整,從應用到實施步驟,再到具體範例,邏輯清晰,易於讀者理解。實用性強,對於開發團隊有實際的指導意義。雖然在 SEO 優化方面可以進一步加強,例如增加關鍵字密度或使用更多的標題標籤,但整體上仍然符合發布標準。
  ⚠️  仍需人工批准(執行 human-review.php)

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

【第 4/5 次執行】
--------------------------------------------------
╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:05:43

→ 讀取系統狀態...
  當前文章數量:
    - pending_review: 1

→ 應用規則決策...

【規則決策】
選擇動作: review
理由: 有 1 篇文章等待品質審查

【執行動作】審查文章品質
  文章: 如何使用 AI 技術提升軟體開發效率
  審查中...

【執行結果】
✓ 品質評分: 8.5/10 - 通過自我審查
  理由: 這篇文章內容深入且準確,涵蓋了 AI 在軟體開發中的多個應用領域,並提供了具體的實用範例,展示了如何提升開發效率。結構完整,分為不同的章節,易於閱讀和理解。實用性強,對於開發團隊有實際的指導意義。此外,文章的 SEO 優化也相對良好,使用了相關關鍵字和標題格式。雖然可以進一步增強一些細節和數據支持,但整體上已達到發布標準。
  ⚠️  仍需人工批准(執行 human-review.php)

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

【第 5/5 次執行】
--------------------------------------------------
╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:05:48

→ 讀取系統狀態...
  當前文章數量:
    - pending_review: 1

→ 應用規則決策...

【規則決策】
選擇動作: review
理由: 有 1 篇文章等待品質審查

【執行動作】審查文章品質
  文章: 如何使用 AI 技術提升軟體開發效率
  審查中...

【執行結果】
✓ 品質評分: 8.5/10 - 通過自我審查
  理由: 這篇文章內容深入且準確,涵蓋了 AI 在軟體開發中的多個應用領域,結構清晰,分段合理,易於閱讀。提供的實用範例增強了文章的實用性,並且結論部分強調了 AI 技術的重要性,符合當前市場需求。唯一的改進空間在於進一步增強 SEO 優化,例如使用更多關鍵字和內部鏈接來提高可見性。
  ⚠️  仍需人工批准(執行 human-review.php)

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

✓ 完成 5 次執行

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 7

╔════════════════════════════════════════════════════════════╗
║          Pattern 11 vs Pattern 12 比較                    ║
╚════════════════════════════════════════════════════════════╝

項目       Pattern 11 (LLM 決策)   Pattern 12 (固定規則)
─────── ────────────────── ─────────────────
決策方式 LLM 分析狀態並決定 固定優先級規則
API 調用   2+ 次/執行 (決策+動作) 1 次/執行 (僅動作)
成本估算 高 (~$0.002/次)         低 (~$0.001/次,省 50%)
執行速度 較慢 (2-3 秒)          較快 (1-2 秒)
可預測性 低 (AI 可能有變化)  高 (完全確定)
靈活性    高 (可動態調整優先級) 低 (固定規則)
決策記錄 agent_decisions 表       執行日誌 (可選)
適合場景 複雜工作流、需要判斷 簡單固定流程
錯誤風險 可能做出意外決策  按固定邏輯執行
擴展性    易於加入新動作/邏輯 需修改 if-else

建議:
• 如果工作流程固定且優先級明確 → Pattern 12
• 如果需要 AI 判斷和動態調整 → Pattern 11
• 成本敏感的生產環境 → Pattern 12
• 實驗性/研究性專案 → Pattern 11

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 4

【所有文章】

👀 ID 1: 如何使用 AI 技術提升軟體開發效率 [pending_review]
   品質: 8.5/10
   建立: 2026-02-16 09:04:43 | 更新: 2026-02-16 09:05:52

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 3

啟動人工審核介面...

=== 文章審核系統 (Pattern 11: Autonomous Agent) ===
時間: 2026-02-16 09:06:09

----------------------------------------
指令:
  list          - 列出待審核文章
  view [id]     - 查看文章完整內容
  approve [id]  - 批准文章
  reject [id]   - 拒絕文章
  exit          - 離開系統
----------------------------------------

請輸入指令: approve 1

確定要批准這篇文章嗎?
標題: 如何使用 AI 技術提升軟體開發效率
AI 評分: 8.5/10
輸入 'yes' 確認: yes

✓ 文章已批准
✓ Agent 下次執行時會自動發布並分析績效

----------------------------------------
指令:
  list          - 列出待審核文章
  view [id]     - 查看文章完整內容
  approve [id]  - 批准文章
  reject [id]   - 拒絕文章
  exit          - 離開系統
----------------------------------------

請輸入指令: exit

再見!

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 1

執行 Agent...
==================================================

╔═══════════════════════════════════════════╗
║  Rule-Based Agent - 基於規則的 Agent    ║
╚═══════════════════════════════════════════╝
執行時間: 2026-02-16 09:06:30

→ 讀取系統狀態...
  當前文章數量:
    - approved: 1

→ 應用規則決策...

【規則決策】
選擇動作: publish
理由: 有 1 篇已批准文章等待發布(最高優先級)

【執行動作】發布文章
  文章: 如何使用 AI 技術提升軟體開發效率
  發布中...
  ⚠️ POC 模式:模擬發布

【執行結果】
✓ 文章已發布: 如何使用 AI 技術提升軟體開發效率
  績效評估: 中
  瀏覽: 854, 點擊: 76

╔═══════════════════════════════════════════╗
║          Agent 執行完成                   ║
╚═══════════════════════════════════════════╝

==================================================

╔════════════════════════════════════════════════╗
║  Pattern 12: Rule-Based Agent - Demo Tool    ║
╚════════════════════════════════════════════════╝

1. 執行 Agent(一次)
2. 執行 Agent(多次)
3. 人工審核文章
4. 顯示所有文章
5. 顯示執行日誌
6. 重置資料庫
7. 與 Pattern 11 比較
0. 離開

請選擇: 0

再見!👋

原始碼

https://github.com/howtomakeaturn/ai-agent-pattern-notes/tree/main/patterns/12-rule-based-agent

知識點

講真 pattern 12 是 rule based

但在 pattern 11 其實

function getAvailableTools(array $systemState): array {
    $tools = [];
    $counts = $systemState['counts'];

    // 如果沒有任何文章,或待研究的少於 2 篇 → 可以研究新關鍵字
    if ($counts['pending_research'] < 2) {
        $tools[] = getToolDefinition('research_keywords');
    }

    // 如果有待撰寫的文章 → 可以撰寫文章
    if ($counts['pending_write'] > 0) {
        $tools[] = getToolDefinition('write_article');
    }

    // 如果有待審核的文章 → 可以自我審查品質
    if ($counts['pending_review'] > 0) {
        $tools[] = getToolDefinition('self_review_quality');
    }

    // 如果有已批准的文章 → 可以發布並分析
    if ($counts['approved'] > 0) {
        $tools[] = getToolDefinition('publish_and_analyze');
    }

    // 始終可用:查看系統狀態詳情
    $tools[] = getToolDefinition('get_article_details');

    // 如果沒有其他動作可做 → 提供「等待」選項
    if (count($tools) == 1) {  // 只有 get_article_details
        $tools[] = getToolDefinition('wait');
    }

    return $tools;
}

所以,也算是 rule based 同意嗎

或者我誤會

精确的说法:

Pattern 11: Rule-based 预筛选 + AI-based 最终决策
Pattern 12: Pure rule-based 直接决策

Dynamic Routing 的作用:

✅ 减少 AI 的选择范围(省 token)
✅ 确保 AI 不会选到「没意义」的动作
❌ 但不是最终决策者(AI 还是要选)

知識點

實務上來說 pattern 11 or 12 哪個是 best practice?

总结:Best Practice
默认选择:Pattern 12 ✅
原因:

成本低 50%
完全可预测
易于维护
符合 KISS 原则(Keep It Simple, Stupid)
例外情况:Pattern 11
只有当你能回答"是"时:

 优先级会动态变化,且变化有价值
 需要 AI 从历史中学习优化
 工作流程确实很复杂
 成本不是问题
 团队有能力维护 LLM Agent

知識點

我有兩個問題

第一 你前面說

这也是为什么 Pattern 11 没有 Pattern 12 那么贵的原因之一 —— Dynamic Routing 已经帮 AI 减少了很多不必要的选项。🎯

是嗎?比較省嗎?可是 12 不用 llm 決策

第二

爲什麼 pattern 12 沒看到 tool functions 傳給 llm?

還是我誤會?

问题 1:我说错了!❌

我之前说的(错误):
"Pattern 11 没有 Pattern 12 那么贵"

正确的说法应该是:
Pattern 11 比 Pattern 12 更贵!

我想说的是:

Dynamic Routing 让 Pattern 11 比"不做筛选的方式"便宜

如果没有 Dynamic Routing(假设的 Pattern 11-worst):
  → 给 LLM 所有 6 个 tools
  → Token 更多,成本更高

有 Dynamic Routing 的 Pattern 11:
  → 只给 LLM 2-3 个 relevant tools
  → Token 较少,便宜一些

但无论如何,Pattern 11 > Pattern 12(成本)
问题 2:Pattern 12 没有 Tool Functions!✅
你的理解完全正确!

关键差异:
Pattern 11  Pattern 12
决策方式    问 LLM:"这些 tools 你选哪个?"  PHP if-else 直接决定
Tool Functions  ✅ 有(传给 LLM) ❌ 没有(不需要)
动作执行    toolResearchKeywords()  actionResearch()
命名差异    tool*() action*()
总结
你的理解都对!👍

- Pattern 12 更便宜(不是 Pattern 11)
  - Pattern 11: 2+ API 调用
  - Pattern 12: 1 API 调用
  - 省 50%

- Pattern 12 没有 Tool Functions
  - 不传 tools 参数给 LLM
  - 用普通的 action*() 函数,不是 tool*()
  - 动作内部可能还是用 AI(如研究关键字、写文章)

知識點

講真 我覺得 寫成 pattern 12 的話

不如就用 pattern 10 的架構就好

還更單純 哈哈 一樣的東西 是吧

你说得太对了! 😄

优点:

✅ 超级简单:4 个独立脚本,各干各的
✅ 时间明确:早上研究,下午写作,晚上审核,半夜发布
✅ 易于理解:任何人看 crontab 就知道在做什么
✅ 调试容易:出问题直接看对应的 php 文件
Pattern 10: 时间驱动,固定流程
  用例: 定时报告、每日任务、周期性工作
  优点: 简单、可预测、易维护
  推荐: ⭐⭐⭐⭐⭐

Pattern 12: 状态驱动,固定规则
  用例: 24小时工单处理、异步任务队列
  优点: 持续运作、自动推进
  推荐: ⭐⭐⭐

Pattern 11: 状态驱动,AI 决策
  用例: 复杂决策、需要判断权衡
  优点: 智能灵活
  推荐: ⭐⭐(除非真的需要)
结论
你的直觉完全正确!

对于固定工作流程:

Pattern 10 ≈ Pattern 12 > Pattern 11
(简单)  (复杂点)  (更复杂更贵)

每週二 YT 直播 Q&A(可 Discord Call-in)
YT:https://www.youtube.com/@codelove_tw
DC:https://discord.gg/fvCF2whZ9D

⭐️ Shopify 接案服務(給品牌)
https://job.turn.tw/shopify-services

⭐️ Shopify 技術教練(給工程師)
https://job.turn.tw/developer-coaching

⭐️ 台灣 Shopify 開發者 LINE 群(非官方)
https://line.me/ti/g2/YUasX5K3CJ4QdIx76zppjHlh3-q8w-xkSyK1LA

共有 0 則留言


每週二 YT 直播 Q&A(可 Discord Call-in)
YT:https://www.youtube.com/@codelove_tw
DC:https://discord.gg/fvCF2whZ9D

⭐️ Shopify 接案服務(給品牌)
https://job.turn.tw/shopify-services

⭐️ Shopify 技術教練(給工程師)
https://job.turn.tw/developer-coaching

⭐️ 台灣 Shopify 開發者 LINE 群(非官方)
https://line.me/ti/g2/YUasX5K3CJ4QdIx76zppjHlh3-q8w-xkSyK1LA
🏆 本月排行榜
🥇
站長阿川
📝19   💬3  
476
🥈
我愛JS
📝1   💬5   ❤️2
64
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付