提示工程 vs 循環工程 vs 圖形工程:各層級有何不同
重點摘要
三個術語現正競爭AI工程職位描述中的同一行地位。提示工程是既有的主流。循環工程於2025年底進入AI詞彙,並主導了截至2026年6月的開發者討論。圖形工程則大約在六週後跟進。三者常被混用。但這合理嗎?它們並非互斥的技術,而是三個不同層級的管控單位,層層堆疊。提示控制單一模型回應,循環控制單一代理的行為週期,圖形則控制多個代理的組織架構。每一層級都保留其下層的基礎:提示不會因為被循環包覆就消失,只是不再由人工手動輸入。本文釐清三者差異:各層級設計什麼、公開論述如何區分、以及每個層級改變了什麼。
Three terms now compete for the same line in AI engineering job descriptions. Prompt engineering is the established one. Loop engineering entered the AI vocabulary in late 2025 and dominated developer discussion through June 2026. Graph engineering followed roughly six weeks later. They get used interchangeably. Should they be? The three are not competing techniques. They are three different units of control, stacked. A prompt controls one model response. A loop controls one agent’s behavior cycle. A graph controls the organization of many agents. Each layer preserves the layer beneath it. A prompt does not disappear once a loop is built around it. it stops being the thing typed by hand. This article separates the three: what gets designed at each layer, what the published claim says about when the higher layers pay for themselves, and where the skepticism is warranted. One task, three layers :root{ --bg:#0B1E1E; --panel:#122C2C; --line:#274B4B; --ink:#E8F5F1; --muted:#8FB3AC; --prompt:#9BD7FF; --loop:#F2B705; --graph:#3FD9A8; --human:#FF9E7D; --mono:ui-monospace,SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace; --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif; } *{box-sizing:border-box} html,body{margin:0;padding:0;background:transparent} #plg-app{background:var(--bg); color:var(--ink); font-family:var(--sans); border:1px solid var(--line); border-radius:14px; overflow:hidden; max-width:920px; margin:0 auto} .hd{padding:20px 22px 16px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#143333 0%,#0B1E1E 100%)} .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 8px} .hd h2{margin:0; font-size:clamp(19px,2.6vw,25px); line-height:1.2; letter-spacing:-.02em; font-weight:700} .hd p{margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.55; max-width:64ch} .taskbar{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 22px; background:#0E2525; border-bottom:1px solid var(--line)} .taskbar .tl{font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)} .taskbar .tv{font-size:14.5px; font-weight:600; flex:1; min-width:210px} .btn{appearance:none; cursor:pointer; border:1px solid var(--line); background:#0B1E1E; color:var(--ink); font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; padding:9px 15px; border-radius:7px; transition:border-color .18s, background .18s} .btn:hover{border-color:var(--graph); background:#123232} .btn:focus-visible{outline:2px solid var(--graph); outline-offset:2px} .btn.primary{border-color:var(--graph); color:var(--graph)} .btn[disabled]{opacity:.45; cursor:not-allowed} .lanes{display:grid; grid-template-columns:repeat(3,1fr); background:var(--panel)} .lane{padding:0 0 14px; border-right:1px solid var(--line)} .lane:last-child{border-right:0} .lh{padding:13px 15px 11px; border-bottom:1px solid var(--line)} .lh .k{font-family:var(--mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; margin:0 0 4px} .lane.p .lh .k{color:var(--prompt)} .lane.l .lh .k{color:var(--loop)} .lane.g .lh .k{color:var(--graph)} .lh h3{margin:0; font-size:15px; letter-spacing:-.01em; font-weight:650} .lh .sub{margin:4px 0 0; font-size:12px; line-height:1.45; color:var(--muted)} .steps{list-style:none; margin:0; padding:12px 15px 0; min-height:250px} .steps li{display:flex; gap:9px; align-items:flex-start; margin-bottom:9px; font-size:12.5px; line-height:1.45; opacity:0; transform:translateY(5px); transition:opacity .3s ease, transform .3s ease} .steps li.show{opacity:1; transform:none} .steps li .dot{flex:0 0 auto; width:7px; height:7px; border-radius:50%; margin-top:5px; background:var(--line)} .lane.p .steps li.show .dot{background:var(--prompt)} .lane.l .steps li.show .dot{background:var(--loop)} .lane.g .steps li.show .dot{background:var(--graph)} .steps li.hum .dot{background:var(--human) !important; box-shadow:0 0 0 3px rgba(255,158,125,.16)} .steps li .tx{color:var(--muted)} .steps li.hum .tx{color:var(--ink)} .steps li .tx b{color:var(--ink); font-weight:600} .steps li .tx em{font-style:normal; color:var(--human); font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; display:block; margin-top:2px} .lstat{margin:8px 15px 0; padding-top:11px; border-top:1px dashed var(--line); display:flex; gap:14px; flex-wrap:wrap; font-family:var(--mono); font-size:10.5px; color:var(--muted)} .lstat b{color:var(--ink)} .cmp{border-top:1px solid var(--line); background:#0E2525; padding:16px 22px 18px} .cmp h4{margin:0 0 11px; font-family:var(--mono); font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-weight:500} table{width:100%; border-collapse:collapse; font-size:13px} th,td{text-align:left; padding:9px 10px; vertical-align:top; line-height:1.45; border-bottom:1px solid #1c3a3a} thead th{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:500} tbody th{font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; color:var(--muted); font-weight:500; width:150px} td{color:var(--ink)} .c-p{color:var(--prompt)} .c-l{color:var(--loop)} .c-g{color:var(--graph)} tbody tr:last-child th, tbody tr:last-child td{border-bottom:0} .ft{padding:11px 22px; border-top:1px solid var(--line); background:#0E2525; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; color:var(--muted)} .ft b{color:var(--graph); font-weight:600} @media (max-width:760px){ .hd{padding:16px 15px 13px} .taskbar{padding:13px 15px} .lanes{grid-template-columns:1fr} .lane{border-right:0; border-bottom:1px solid var(--line)} .lane:last-child{border-bottom:0} .steps{min-height:0; padding-bottom:4px} .cmp{padding:14px 15px 16px; overflow-x:auto} table{min-width:520px} .ft{padding:10px 15px} } @media (prefers-reduced-motion:reduce){ .steps li{transition:none} } Interactive explainer · 01 One task, three layers — watch what changes The three terms are not competing techniques. They are three different units of control. Here is the same job handled at each layer, step by step. Orange dots mark the moments a human is required. Task Fix the failing tests in the auth module, then open a pull request. Run all three Reset Layer 1 Prompt engineering You control one model response. You are the loop. Your turns 0 · Model calls 0 Layer 2 Loop engineering You control one agent’s cycle. The loop does the prompting. Your turns 0 · Model calls 0 Layer 3 Graph engineering You control how many agents are organised. Your turns 0 · Nodes 0 · Parallel 0 What actually differs PromptLoopGraph Unit of control One model response One agent’s behaviour cycle An organisation of agents What you write Instructions, examples, output format Trigger, tools, stop condition, retry budget Nodes, edges, shared state, failure routes Who says “again?” A human, every turn A verifier the loop calls itself A routing rule written in advance Where it breaks Ambiguous or overstuffed instruction It cannot tell done from stuck Context never crossed an edge you forgot to draw Enough when One shot, a person reads the result Repetitive, machine-checkable, one domain Cross-domain work with parallel branches Illustrative walkthrough · step counts are not benchmarks Built by Marktechpost (function(){ var PROMPT = [ {h:1, t:"<b>You</b> write the prompt: fix the failing auth tests", tag:"you type"}, {h:0, t:"Model returns a patch for two files"}, {h:1, t:"<b>You</b> run pytest — two tests still fail", tag:"you verify"}, {h:1, t:"<b>You</b> paste the traceback back into the chat", tag:"you re-prompt"}, {h:0, t:"Model returns a revised patch"}, {h:1, t:"<b>You</b> run pytest — green — and open the PR", tag:"you finish"} ]; var LOOP = [ {h:0, t:"<b>Tr
Related
相關文章

谷歌旗下 Wiz 公佈漏洞挖掘系統 Atlas:利用多個 AI 智能體分工協作、已發現超 200 個漏洞
首頁 > 智能時代>人工智能 谷歌旗下 Wiz 公佈漏洞挖掘系統 Atlas:利用多個 AI 智能體分工協作、已發現超 200 個漏洞 2026/7/29 21:14:11 來源:IT之家 作者:漾仔 責編:漾仔 評論: IT之家 7 月 29 日消息,谷歌旗下網絡安全部門 Wiz 發文,宣佈推出一款能夠自主尋找漏洞的 AI 智能體漏洞挖掘系統 Atlas。

下半年,垂直Agent先下牌桌?
業界討論垂直Agent下半年可能先被淘汰,因其面臨通用型Agent競爭與客戶對精準度及成本的高期待。部分開發者開始轉向「通用底座+垂直數據微調」的混合模式以求生存,但在金融、醫療等專業領域仍具不可替代性。

支付寶升級“AI 支付開發者激勵計劃”,號稱“最高提供 5660 元詞元專項補貼”
首頁 > 智能時代>人工智能 支付寶升級“AI 支付開發者激勵計劃”,號稱“最高提供 5660 元詞元專項補貼” 2026/7/29 20:47:43 來源:IT之家 作者:漾仔 責編:漾仔 評論: IT之家 7 月 29 日消息,支付寶發文,宣佈升級“AI 支付開發者激勵計劃”,為 AI 開發者提供最高 5660 元的 Token(詞元)專項補貼,同時擴展激勵享受範圍,降低開發者的參與門檻。

Agent手機走向量產,先向 App 低頭
Agent手機正邁向量產階段,但為了相容現有應用生態,不得不先向傳統App靠攏。此消息聚焦於智慧型手機發展新趨勢,相關內容已移除不當文字,保留原始主題供讀者參考。
對話可達智靈張宇:團隊級ADE將成為企業研發AI轉型新範式
在AI浪潮席捲全球的今天,智能體正以顛覆性的姿態重構各行各業的生產力範式 。2026年被業界普遍視為智能體系統爆發的元年,全球人工智能產業的競爭日趨白熱化。在這場技術與市場的深刻變革中,作為國內首家工程級AI原生研發平臺的創造者和建設者,可達智靈(北京)有限公司(以下簡稱“可達智靈”)憑藉前瞻的戰略洞察與紮實的技術積累,為企業研發打造出了成熟的AI解決方案,填補了行業的空白。在十個月的時間裡,可達智靈已高效完成了三輪融資,其火熱的勢頭也展現了市場對其獨特商業價值的極高認可。

Opus 5遊戲提示詞爆火,24小時復刻3A鉅作
最近,一條名為「挑戰循環」(Challenge Loop)的提示詞在社交平台X上掀起旋風,讓Anthropic旗下的AI模型Opus 5展現出驚人的遊戲開發潛力。數百萬網友湧入圍觀,因為只要透過這段提示詞,AI就能在24小時內從無到有,打造出足以媲美3A等級的遊戲作品,過程幾乎不需要人工介入,瞬間引爆社群討論。 最受矚目的案例,來自一位名為Anshu的開發者。他隻身一人,利用這組提示詞在24小時內「肝」出一款名為《The Long Silence》的太空探索遊戲。