[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-prompt-engineering-agents-structured-outputs-zh":3,"tags-prompt-engineering-agents-structured-outputs-zh":33,"related-lang-prompt-engineering-agents-structured-outputs-zh":49,"related-posts-prompt-engineering-agents-structured-outputs-zh":53,"series-ai-agent-f8c44ca5-e1b5-4b51-a7e5-61cdf8fa5ab9":90},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":21,"translated_content":10,"views":22,"is_premium":23,"created_at":24,"updated_at":24,"cover_image":11,"published_at":25,"rewrite_status":26,"rewrite_error":10,"rewritten_from_id":27,"slug":28,"category":29,"related_article_id":30,"status":31,"google_indexed_at":32,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":23},"f8c44ca5-e1b5-4b51-a7e5-61cdf8fa5ab9","Agent 與結構化輸出提示詞實戰","\u003Cp>現在的 LLM 很會聊。\u003Ca href=\"https:\u002F\u002Fopenai.com\" target=\"_blank\" rel=\"noopener\">OpenAI\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\" target=\"_blank\" rel=\"noopener\">Anthropic\u003C\u002Fa> 這類模型，已經能吃下 128k、200k，甚至 1M tokens 的上下文。聽起來很猛，但真的上線後，你會發現它們一樣會亂跑。\u003C\u002Fp>\u003Cp>說白了，提示詞工程到了生產環境，就不是作文比賽。它更像控制系統。你要管推理、記憶、輸出格式，還要管 agent 會不會自己繞圈圈。\u003C\u002Fp>\u003Cp>這篇主題很對味。\u003Ca href=\"https:\u002F\u002Fcodefinity.com\u002Fblog\u002FAdvanced-Prompt-Engineering-for-Agents,-Reasoning-and-Structured-Outputs\" target=\"_blank\" rel=\"noopener\">Codefinity 的文章\u003C\u002Fa>把重點講清楚了。難的不是把 prompt 寫長，而是讓它撐得住工具呼叫、長歷史紀錄，還有機器對機器交接。\u003C\u002Fp>\u003Ch2>Prompt 不是文案，是介面契約\u003C\u002Fh2>\u003Cp>很多團隊一開始都會犯同一個錯。把 prompt 當成「再多講一點」就會變好。實際上，prompt 比較像 API 規格。它定義角色、邊界、輸出形狀，還有出錯時怎麼收斂。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775164928194-j63i.png\" alt=\"Agent 與結構化輸出提示詞實戰\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>你在 notebook 裡測得很順，不代表進到產品還能活。聊天紀錄一長，指令就被淹掉。工具回傳一亂，模型就開始瞎補。JSON 格式看起來像樣，解析時卻整包炸掉。\u003C\u002Fp>\u003Cp>講白了，這不是模型不聰明。是你沒有把失敗模式先想好。做 LLM 系統，prompt 要先想成合約，再想成指令。\u003C\u002Fp>\u003Cul>\u003Cli>長上下文會稀釋指令權重\u003C\u002Fli>\u003Cli>推理需要明確流程，不是空話\u003C\u002Fli>\u003Cli>結構化輸出要有 schema\u003C\u002Fli>\u003Cli>Agent 要有停止條件\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡的核心思路很實用。你要先定義輸入，再定義輸出。中間要有錯誤處理。這很像寫後端 API，只是呼叫方變成模型。\u003C\u002Fp>\u003Cp>如果你做過資料管線，就會懂這種痛。上游一個欄位歪掉，下游整串報錯。\u003Ca href=\"\u002Fnews\u002Fprompt-engineering-explained-without-the-hype-zh\">Prom\u003C\u002Fa>pt 也是一樣。你不把邊界寫清楚，模型就會用自己的方式補洞。\u003C\u002Fp>\u003Ch2>推理要有骨架，不能只靠感覺\u003C\u002Fh2>\u003Cp>推理提示詞最常被提到的，就是 chain-of-thought。2022 年那篇 \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11903\" target=\"_blank\" rel=\"noopener\">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models\u003C\u002Fa> 很有名。它證明一件事。模型在多步驟任務上，先想再答，通常比較穩。\u003C\u002Fp>\u003Cp>但「Let's think step by step」不是萬靈丹。這句話對簡單算術有用。可是一到產品環境，就太鬆了。你不能只叫模型想清楚，還要告訴它怎麼想、想完怎麼收、哪些內容不能直接吐給使用者。\u003C\u002Fp>\u003Cp>所以實務上會分成幾種做法。零樣本 CoT、少樣本 CoT、scratchpad 分離、self-consistency。它們不是互斥，而是不同風險等級的工具。\u003C\u002Fp>\u003Cblockquote>“Let’s think step by step.” — \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11903\" target=\"_blank\" rel=\"noopener\">Chain-of-Thought Prompting Elicits Reasoning in Large Language Models\u003C\u002Fa>\u003C\u002Fblockquote>\u003Cp>這句話紅，不是因為它神奇。是因為它很直白。它把模型從直接回答，拉到先分解問題。可是如果你把思考過程原封不動丟給使用者，常常會出現自我打架，或是把半成品答案直接吐出來。\u003C\u002Fp>\u003Cp>Self-consistency 就更像工程手法。你不是只問一次，而是抽 3 到 5 次。再看哪個答案出現最多。成本會上升，但在高風險任務上，這筆錢通常比錯答案便宜。\u003C\u002Fp>\u003Cul>\u003Cli>零樣本 CoT 常用「一步一步想」當觸發詞\u003C\u002Fli>\u003Cli>少樣本 CoT 會放範例，通常更穩\u003C\u002Fli>\u003Cli>scratchpad 可把推理和最終輸出分開\u003C\u002Fli>\u003Cli>self-consistency 常抽 3 到 5 次\u003C\u002Fli>\u003C\u002Ful>\u003Cp>我覺得這裡最重要的，不是技巧名稱。是你要知道任務風險。算帳、分類、資料抽取、客服回覆，對推理的要求都不同。不要用同一種 prompt 打天下。\u003C\u002Fp>\u003Cp>如果任務錯一次就很痛，像金流、法務、醫療摘要，那就別省。多做一步驗證。多跑一次 sampling。這種成本，通常比事後補救低很多。\u003C\u002Fp>\u003Ch2>長上下文很大，不代表很穩\u003C\u002Fh2>\u003Cp>現在很多模型都能吃超長上下文。可是容量大，不等於記得牢。研究常提到「lost in the middle」效應。意思是模型對開頭和結尾比較敏感，中間那段容易被忽略。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775164927479-wtv7.png\" alt=\"Agent 與結構化輸出提示詞實戰\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這件事很煩。因為很多團隊以為塞進 100k tokens 就萬事 OK。其實不是。你只是把問題從「放不下」變成「放進去卻看不見」。\u003C\u002Fp>\u003Cp>所以 prompt 排版很重要。關鍵指令不要只放最前面。最好在結尾再重複一次。段落標記也很有用。模型需要清楚知道，哪些是規則，哪些是資料，哪些是當前任務。\u003C\u002Fp>\u003Cp>另一個實用招式是漸進摘要。不要每輪都把整段對話重塞。把已完成的內容壓成摘要，只保留最近幾輪完整歷史。這樣比較省 Token，也比較不會把模型搞混。\u003C\u002Fp>\u003Cp>還有一個老問題，現在還是很常見：prompt injection。你從文件、網頁、工具回傳抓到的內容，可能藏了指令。模型如果沒被明確提醒，就可能把那些內容當成你的要求。\u003C\u002Fp>\u003Cul>\u003Cli>關鍵指令要在開頭和結尾都出現\u003C\u002Fli>\u003Cli>文件和工具輸出要用明確分隔符\u003C\u002Fli>\u003Cli>歷史紀錄要做 rolling summary\u003C\u002Fli>\u003Cli>外部內容要標成資料，不是指令\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡很像資安問題。你不能假設外部資料是乾淨的。尤其是 \u003Ca href=\"\u002Fnews\u002Fwhat-openrag-does-for-enterprise-ai-zh\">RAG\u003C\u002Fa>、agent、browser tool 這些場景，模型看到的每段文字都可能是風險點。\u003C\u002Fp>\u003Cp>如果你有做過客服知識庫或內部搜尋，就知道這坑很深。資料來源越多，錯誤注入的機會越高。Prompt 不是保護罩，但它至少能把邊界畫清楚。\u003C\u002Fp>\u003Ch2>結構化輸出是合約，不是願望\u003C\u002Fh2>\u003Cp>很多人會直接跟模型說「請回 JSON」。然後就開始祈禱。這種做法很危險。因為 downstream 系統要的是可解析物件，不是「看起來像 JSON」的文字。\u003C\u002Fp>\u003Cp>比較好的方法，是 schema-first。先告訴模型欄位名稱、型別、允許值、空值規則，再讓它生成。這樣模型比較不會自己加欄位，也比較不會跑去寫散文。\u003C\u002Fp>\u003Cp>工具也越來越成熟。像 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdottxt-ai\u002Foutlines\" target=\"_blank\" rel=\"noopener\">Outlines\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Finstructor-ai\u002Finstructor\" target=\"_blank\" rel=\"noopener\">Instructor\u003C\u002Fa>，都在做受限生成。\u003Ca href=\"https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fstructured-outputs\" target=\"_blank\" rel=\"noopener\">OpenAI Structured Outputs\u003C\u002Fa> 也把這件事往 API 層推進。這些做法的共同目標很簡單：不要等輸出錯了才補救，而是直接減少錯輸出的機會。\u003C\u002Fp>\u003Cp>對抽取流程來說，這差很多。你只要遇到一次壞掉的 JSON，整批 ing\u003Ca href=\"\u002Fnews\u002Ffive-ai-infra-frontiers-bessemer-2026-zh\">es\u003C\u002Fa>tion 就可能卡住。那不是「小 bug」。那是排程、重試、告警一起炸。\u003C\u002Fp>\u003Cp>還有一個常被忽略的點，是空值處理。模型很愛亂猜。當欄位不知道時，請明說用 \u003Ccode>null\u003C\u002Fcode>。不要叫它硬填。猜錯的資料，比空值更難清。\u003C\u002Fp>\u003Cul>\u003Cli>Schema-first 先定欄位，再做生成\u003C\u002Fli>\u003Cli>受限生成能降低 parse failure\u003C\u002Fli>\u003Cli>未知值用 \u003Ccode>null\u003C\u002Fcode> 比亂猜安全\u003C\u002Fli>\u003Cli>複雜巢狀結構可分階段生成\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果要比競品思路，差別也很明顯。純 prompt 派靠文字約束。框架派靠 wrapper 和 validator。API 原生方案則把格式約束下沉到模型介面。後兩者通常更穩，但也更綁平台。\u003C\u002Fp>\u003Cp>所以選法很現實。你如果在乎可攜性，就多用 schema 與後處理。你如果在乎成功率，就看平台原生支援到什麼程度。沒有哪個方案永遠最好，只有哪個比較適合你的風險。\u003C\u002Fp>\u003Ch2>Agent 需要邊界，也需要停損\u003C\u002Fh2>\u003Cp>Agent prompt 跟單輪 prompt 差很多。單輪只要回答一次。Agent 則要面對工具呼叫、部分失敗、目標變動，還有重試循環。這種場景下，prompt 不只是說明書，還是操作規則。\u003C\u002Fp>\u003Cp>系統 prompt 最好先定義三件事。角色是什麼。可以用哪些工具。什麼情況下要停。少了這些，agent 很容易一直重試同一個壞步驟。你看 log 會很想罵人。\u003C\u002Fp>\u003Cp>如果你用過 \u003Ca href=\"https:\u002F\u002Fwww.langchain.com\" target=\"_blank\" rel=\"noopener\">LangChain\u003C\u002Fa> 或 \u003Ca href=\"https:\u002F\u002Fwww.llamaindex.ai\" target=\"_blank\" rel=\"noopener\">LlamaIndex\u003C\u002Fa>，大概懂我在說什麼。工具鏈一長，錯誤就會開始連鎖。沒有 termination logic，agent 會像卡住的客服，永遠說「我再試一次」。\u003C\u002Fp>\u003Cp>比較合理的做法，是定義 done 的條件，限制 retry 次數，還有明確要求每一步只拿目前需要的資料。這樣 agent 才不會為了看起來很忙，亂抓一堆不相關資訊。\u003C\u002Fp>\u003Cp>你可以把常見 prompt 類型分開看。這樣比較不會混用。\u003C\u002Fp>\u003Cul>\u003Cli>單輪 prompt：追求一次輸出\u003C\u002Fli>\u003Cli>推理 prompt：追求多步驗證\u003C\u002Fli>\u003Cli>Agent prompt：追求工具操作與停止\u003C\u002Fli>\u003Cli>結構化輸出 prompt：追求可解析格式\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這個分類很實際。因為很多失敗，不是模型太差，而是你把不同任務混成同一種 prompt。叫它既要推理、又要聊天、又要吐 JSON、還要自己收尾。這種要求，連人都會當機。\u003C\u002Fp>\u003Cp>所以我會建議，先把任務拆乾淨。每一類 prompt 都有自己的目標。不要幻想一份萬用 prompt 可以通吃所有場景。\u003C\u002Fp>\u003Ch2>背後其實是整個產品設計問題\u003C\u002Fh2>\u003Cp>Prompt engineering 會變難，不是因為大家突然不會寫字。是因為 LLM 已經進到產品核心。以前你只要做 demo。現在你要面對資料品質、成本、延遲、解析失敗，還有安全問題。\u003C\u002Fp>\u003Cp>這也解釋了為什麼很多團隊最後會走向流程化。先做分類，再做抽取，再做驗證，再做回寫。每一段都要有清楚的輸入和輸出。這種設計，看起來很土，但通常更穩。\u003C\u002Fp>\u003Cp>本地模型也會遇到同樣問題。像 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm\" target=\"_blank\" rel=\"noopener\">vLLM\u003C\u002Fa> 這類推理服務，把吞吐量和部署彈性拉高了，但 prompt 的規格感一樣不能少。模型換了，工程問題還在。\u003C\u002Fp>\u003Cp>如果你是開發者，我覺得現在最值得做的，不是再追新 prompt 技巧。是回頭檢查你現有系統。你的 prompt 有沒有明確角色？有沒有輸出 schema？有沒有 stop rule？有沒有把外部資料當成不可信內容？\u003C\u002Fp>\u003Cp>很多時候，答案會很尷尬。因為真正脆弱的地方，往往不是模型，而是你沒寫清楚的那幾行字。\u003C\u002Fp>\u003Ch2>先把一個高價值 prompt 修好\u003C\u002Fh2>\u003Cp>如果只能做一件事，我會先審一個高價值 prompt。看它有沒有推理結構，有沒有上下文策略，有沒有輸出合約，也有沒有停損條件。少一項，都可能在上線後放大成事故。\u003C\u002Fp>\u003Cp>我也會建議團隊，把 prompt 當成版本化資產管理。別只丟在前端字串裡。要能 review，要能測試，要能回滾。這樣才像工程，不像賭博。\u003C\u002Fp>\u003Cp>接下來幾個月，真正拉開差距的，應該不是誰會寫更長的 prompt。而是誰能把 prompt、schema、工具呼叫和驗證流程串成一套穩定系統。你如果現在還在手動祈禱 JSON 不會壞，老實說，是時候補課了。\u003C\u002Fp>","LLM 進到生產環境後，提示詞不再是寫得漂亮就好。這篇拆解推理、長上下文、JSON 合約與 agent 迴圈，講清楚怎麼把 GPT、Claude 和本地模型用得更穩。","codefinity.com","https:\u002F\u002Fcodefinity.com\u002Fblog\u002FAdvanced-Prompt-Engineering-for-Agents,-Reasoning-and-Structured-Outputs",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775164928194-j63i.png",[13,14,15,16,17,18,19,20],"prompt engineering","agents","structured outputs","JSON schema","chain of thought","LLM","long context","tool calling","zh",0,false,"2026-04-02T21:21:45.59991+00:00","2026-04-02T21:21:45.548+00:00","done","946f29fe-1c4e-4a64-a76b-add1694278f3","prompt-engineering-agents-structured-outputs-zh","ai-agent","28a1b97c-06c1-4112-8fb5-a9ff8e58fcd9","published","2026-04-08T09:00:48.33+00:00",[34,36,37,39,41,43,45,47],{"name":13,"slug":35},"prompt-engineering",{"name":14,"slug":14},{"name":20,"slug":38},"tool-calling",{"name":18,"slug":40},"llm",{"name":19,"slug":42},"long-context",{"name":16,"slug":44},"json-schema",{"name":46,"slug":46},"chain-of-thought",{"name":15,"slug":48},"structured-outputs",{"id":30,"slug":50,"title":51,"language":52},"prompt-engineering-agents-structured-outputs-en","Prompt Engineering for Agents and Structured Outputs","en",[54,60,66,72,78,84],{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":29},"e7874ed9-592f-4e06-b7b7-ab733fe779db","claude-agent-dreaming-outcomes-multiagent-zh","Claude 幫 Agent 加了做夢功能","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778868642412-7woy.png","2026-05-15T18:10:24.427608+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":29},"38406a12-f833-4c69-ae22-99c31f03dd52","switch-ai-outputs-markdown-to-html-zh","怎麼把 AI 輸出改成 HTML","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778743243861-8901.png","2026-05-14T07:20:21.545364+00:00",{"id":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":29},"c7c69fe4-97e3-4edf-a9d6-a79d0c4495b4","anthropic-cat-wu-proactive-ai-assistants-zh","Cat Wu 談 Claude 的主動式 AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778735455993-gnw7.png","2026-05-14T05:10:30.453046+00:00",{"id":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":29},"e1d6acda-fa49-4514-aa75-709504be9f93","how-to-run-hermes-agent-on-discord-zh","如何在 Discord 執行 Hermes Agent","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778724655796-cjul.png","2026-05-14T02:10:34.362605+00:00",{"id":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":29},"4104fa5f-d95f-45c5-9032-99416cf0365c","why-ragflow-is-the-right-open-source-rag-engine-to-self-host-zh","為什麼 RAGFlow 是最適合自架的開源 RAG 引擎","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778674262278-1630.png","2026-05-13T12:10:23.762632+00:00",{"id":85,"slug":86,"title":87,"cover_image":88,"image_url":88,"created_at":89,"category":29},"7095f05c-34f5-469f-a044-2525d2010ce9","how-to-add-temporal-rag-in-production-zh","如何在正式環境加入 Temporal RAG","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778667053844-osvs.png","2026-05-13T10:10:30.930982+00:00",[91,96,101,106,111,116,121,126,131,136],{"id":92,"slug":93,"title":94,"created_at":95},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"5bede67f-e21c-413d-9ab8-54a3c3d26227","googles-2026-ai-agent-report-decoded-zh","Google 2026 AI Agent 報告解讀","2026-03-26T11:15:22.651956+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"2987d097-563f-46c7-b76f-b558d8ef7c2b","kimi-k25-review-stronger-still-not-legend-zh","Kimi K2.5 評測：更強，但還不是神作","2026-03-27T07:15:55.277513+00:00",{"id":107,"slug":108,"title":109,"created_at":110},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"1c8afc56-253f-47a2-979f-1065ff072f2a","openai-backs-isara-agent-swarm-bet-zh","OpenAI 挺 Isara 的 agent swarm …","2026-03-28T03:15:27.513155+00:00",{"id":122,"slug":123,"title":124,"created_at":125},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":127,"slug":128,"title":129,"created_at":130},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":132,"slug":133,"title":134,"created_at":135},"e41546b8-ba9e-455f-9159-88d4614ad711","openai-codex-plugin-claude-code-zh","OpenAI 把 Codex 放進 Claude Code","2026-04-01T09:21:54.687617+00:00",{"id":137,"slug":138,"title":139,"created_at":140},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00"]