AI Agent 介紹
就是把軟體工程的整套流程,用在管理 Agent 的產出上
Agentic Engineering
2025 年 2 月 Andrej Karpathy 提出 Vibe Coding
- 就是講幾句話,看看 AI 能夠吐出什麼東西
同年 Simon Willison 提出對照概念 Agentic Engineering
- 審查並測試程式碼來把關品質
- 能夠對程式碼負責任
就是把軟體工程的整套流程,用在管理 Agent 的產出上
Agent 是什麼?
Agent 有許多定義, Anthropic 在 2024 年底的解釋:
- 相對於固定的 Workflow 而言
Agent 會動態調整工作流程
與使用工具的時機來完成任務
可以看到 LLM 多了很多隻手可以跟外界互動
Agentic loop
Context window
每次對話都會變成下一次的輸入
前面的回答就會一直疊加
回答速度就會越來越慢
比較早的對話會開始被稀釋
Context 滿了就會壓縮對話
2025 年中發現,如果提供更完整的背景知識
Agent 可以更了解怎麼完成工作
所以大家就開始對話中塞入更多的資料
Context 裡面有什麼?
大致上分五大類:
- System Prompt
- Tools Definition
- Memories
- Messages
- Tools Results
Prompt Caching
模型會快取對話
- 通常會被保存 5 分鐘 ( 免費 )
到 1 小時 ( 付費 )
官方針對 Cache 建議:
- 用對話去改檔案
- 不建議 session 中途換模型
- 不建議 session 中換 tools
https://claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything
Attention 架構
Attention Is All You Need (Vaswani. et al., 2017)
Attention Head 重要的參數
- Query :搜尋值
- Key :索引值
- Value :內容值
Prefill / Decode 與 KV cache
生成每個新的字前,要先有 QKV 大矩陣
但 Key 跟 Value 不會因為字變多而改變
所以可以快取 (Cache) 下來
下一個字生成時就可以只算新增的部分
這讓模型分成兩個階段:
Prefill 是第一次算整個 QKV 矩陣
( 計算速度為主 )
Decode 利用 KV Cache 加速輸出
( 記憶體頻寬為主 )
Agentic Coding
先用輕鬆的方式來寫程式
Explore
Plan
Implement
Commit
Coding 的 Prompt 需要多詳細?
怎麼寫出有結構的 Prompt ?
Explore 階段
- 相關資料
- 討論方向與需求
Plan 階段
- 拆解複雜問題,排序優先級
- 變成具體可以驗收的任務
詳細如何引導,會留到軟體工程章節