本文根據 OpenAI 幫助中心《Working with writing blocks and code blocks in ChatGPT》《Data analysis with ChatGPT》《Connecting GitHub to ChatGPT》整理,資料核對於 2026-10-15。這幾篇官方文章沒有介面截圖,配圖為本站整理的示意圖。ChatGPT 的整體用法見 /guides/chatgpt-how-to-use-beginner,本文只講「寫代碼」這件事。
適用於誰
- 想讓 ChatGPT 幫忙寫腳本、網頁、小工具,但不知道代碼怎麼複製、怎麼跑起來的人;
- 看到別人的對話裏有「Preview」「Run」按鈕,自己這裏卻沒有的人;
- 分不清「在聊天裏寫代碼」「上載表格做數據分析」「用 Codex」該用哪個的人;
- 代碼運行報錯,不知道該怎麼讓 ChatGPT 接着改的人。
結論先說
- ChatGPT 通常把代碼放進「代碼塊」:官方說,代碼塊把代碼和回答的其餘部分分開,方便你讀、複製、編輯、預覽或運行。
- 代碼塊上能做什麼,因情況而異:官方列的是「可以」而不是「一定有」,包括複製代碼、看語言標籤(Python、JavaScript、HTML 等)、直接編輯、讓 ChatGPT 改、全屏打開、在 Code 和 Preview 之間切換、運行支持的 Python。具體有哪些,取決於代碼塊類型、裝置、套餐、工作區設定、模型和推送進度。
- 能預覽的有五類:HTML 頁面、React 組件、SVG 圖片、Mermaid 圖、Vega 或 Vega-Lite 圖表,點 Preview。沒出現 Preview,說明這個代碼塊不支持預覽。
- 能運行的是「支持的 Python」:點 Run,打開代碼工作區,在控制台看輸出或報錯,運行中的代碼可以停止。
- 預覽和運行都在沙盒裏:如果預覽需要外部資源,ChatGPT 會先徵求許可;工作區管理員也可以限制代碼執行和聯網。
- 要改整個項目、直接推送到 GitHub,用 Codex:官方說,ChatGPT 裏的 GitHub 應用只能讀取倉庫,生成、修改並直接推送代碼要用 Codex。

圖:本站根據 OpenAI 幫助中心:Working with writing blocks and code blocks in ChatGPT 整理的示意圖
一、先把需求說具體(本站建議)
官方文章講的是代碼塊怎麼用,沒有講怎麼提需求。下面是本站的使用建議,不是官方原文,但對結果影響很大:
- 說清語言和運行環境:比如「用 Python 3 寫」「只用標準庫」「做成一個單文件 HTML」。
- 給輸入輸出的樣例:「輸入是一個 CSV,第一列是日期,輸出按月彙總」,比「幫我處理數據」有用得多。
- 寫明限制條件:不能聯網、不能裝第三方庫、要兼容某個版本,一次寫清楚,省得來回改。
- 一次只要一件事:先讓它寫出能跑的最小版本,再一輪一輪加功能。
想要能直接看到效果的小東西(一個網頁、一張圖表),在需求裏明確說「做成 HTML」或「用 Mermaid 畫」,就更容易得到可以點 Preview 的代碼塊。
二、代碼塊上的按鈕怎麼用
官方列出的可用操作如下(再次強調,不一定每個都有):
| 你想做的事 | 官方說的操作 |
|---|---|
| 把代碼拿去用 | 點複製 |
| 看這是什麼語言 | 代碼塊上有語言標籤,如 Python、JavaScript、HTML |
| 改幾個地方 | 對支持的代碼塊,直接在塊裏編輯 |
| 讓它幫你改 | 告訴 ChatGPT 怎麼改,它來修改代碼 |
| 看得清楚些 | 對支持的代碼塊,全屏打開 |
| 看效果 | 對支持預覽的塊,在 Code 和 Preview 之間切換 |
| 跑一下 | 對支持的 Python 塊,點 Run,看控制台輸出 |
儲存編輯
官方說,對支持的代碼塊所做的編輯,會過一小會兒隨對話一起儲存,這樣你接着提問時,ChatGPT 能用你改過的最新版本。臨時對話(Temporary Chat)裏,對話結束後編輯可能不會保留,臨時對話的說明見 /guides/chatgpt-temporary-chat。
三、預覽:HTML、React、SVG、Mermaid、Vega 圖表
官方說,對支持的代碼塊點 Preview,結果就顯示在 ChatGPT 裏面。可能支持預覽的內容有:
- HTML 頁面;
- React 組件;
- SVG 圖片;
- Mermaid 圖(流程圖、思維導圖這類文本畫圖的寫法);
- Vega 或 Vega-Lite 圖表。
沒有 Preview 按鈕,就是這個代碼塊不支持預覽,比如一段普通的 Java 或 C 代碼。這時代碼仍然可以複製,拿到自己的電腦上運行。
想用文字生成流程圖、思維導圖,可以看 /guides/chatgpt-mind-map-mermaid 和 /guides/chatgpt-flowchart-charts-how-to。需要預覽裏加載外部資源時,官方說 ChatGPT 可能先問你的許可再連接。
四、運行:支持的 Python 代碼
官方說,對支持的 Python 代碼塊,點 Run 會打開一個代碼工作區,輸出和報錯都顯示在控制台裏;代碼還在運行時,你可以停止它。
幾點要留意:
- 只有「支持的」Python 塊有 Run。其他語言官方沒有說在聊天裏能運行,需要運行就複製出去自己跑。
- 沙盒環境:官方說代碼預覽和執行都在沙盒環境裏進行,管理員還可以控制工作區裏能不能執行代碼、能不能聯網。
- 上載文件做數據分析是另一條路:官方說對一些數據分析任務,ChatGPT 會在一個有狀態的 Jupyter 筆記本環境裏寫並運行 Python,可以用會話裏提供的文件,並在合適時把 pandas 表格顯示成可交互表格。這個環境不能發起外部網絡請求或 API 調用,要用外部數據,請先上載文件或連接可用的數據源。更多見 /guides/chatgpt-excel-data-analysis。
- 用到 Python 做分析時,要自己審查:官方說,依賴結果之前,先檢查生成的代碼、輸出和假設;結果取決於具體方法時,讓 ChatGPT 展示或調整那個方法。
五、報錯了怎麼辦
官方文章沒有專門寫調試流程,下面是本站的通用做法(本站建議):
- 把完整的報錯訊息原樣貼回去,而不是隻說「運行不了」。如果在 Run 的控制台裏出了錯,複製控制台裏的內容。
- 說明你是怎麼運行的:什麼系統、什麼版本、命令是什麼。
- 讓它在原來的代碼基礎上改,並說明哪些地方不要動,避免每次都重寫一遍。
- 改完再跑一遍,仍然出錯就再貼新的報錯,不要自己在幾個版本之間來回拼。
- 輸出結果和預期不一樣但沒有報錯,就給一個具體的反例:「輸入 A,我期望 B,實際得到 C」。
如果聊天越拉越長、回答變慢,可以新開一個對話,把當前最新的代碼貼進去再繼續,見 /guides/chatgpt-slow-laggy-stuck-long-chat。
六、幾種寫代碼的方式怎麼選

圖:本站根據 OpenAI 幫助中心:Working with writing blocks and code blocks in ChatGPT、Data analysis with ChatGPT 與 Connecting GitHub to ChatGPT 整理的示意圖
- 幾十行的小腳本、一個網頁、一張圖表:直接在聊天裏用代碼塊,複製、編輯、預覽,Python 可以點 Run。
- 手頭有表格,要計算或畫圖:上載文件,讓 ChatGPT 做數據分析,它會寫並運行 Python,你再審查代碼。
- 想讓它看你的 GitHub 倉庫:連接 GitHub 應用,只能讀取和分析,不能推送,步驟見 /guides/chatgpt-github-connect。
- 要改整個項目、跑測試、提交修改:用 Codex,官方說生成、修改並直接推送代碼要用它,入門見 /guides/codex-getting-started;它和 ChatGPT 工作模式的關係見 /guides/chatgpt-work-vs-codex。
七、為什麼我沒有 Preview 和 Run 按鈕
按官方的說法,可以逐項排查:
- 代碼塊類型不支持:只有 HTML、React、SVG、Mermaid、Vega 這幾類可能有 Preview;只有支持的 Python 才有 Run。
- 你的裝置、套餐或模型暫時沒有:官方說可用的操作隨套餐、裝置、模型和推送進度而不同。可以換網頁版或更新 App 再看,套餐區別見 /guides/chatgpt-plans-comparison。
- 工作區設定:工作區帳號裏,管理員可能關了代碼執行或聯網,去問管理員。
- 新功能還沒推到你的帳號:看一眼發佈說明,見 /guides/chatgpt-release-notes-latest-model。
常見問題
Q:ChatGPT 寫的代碼一定能直接運行嗎?
不一定。官方在數據分析文章裏就提醒:依賴結果前要審查生成的代碼、輸出和假設。重要的代碼自己看一遍、先在測試數據上跑。
Q:我在代碼塊裏直接改了代碼,ChatGPT 知道嗎?
官方說,對支持的代碼塊,編輯會過一小會兒隨對話儲存,之後你追問時 ChatGPT 能用最新版本。臨時對話裏可能不保留。
Q:Run 能聯網下載東西嗎?
官方說預覽和執行在沙盒裏,需要外部資源時 ChatGPT 可能先問你許可,管理員也能限制聯網;對數據分析環境,官方明確說不能發起外部網絡請求。需要外部數據就先上載。
Q:寫代碼要用哪個模型?
本文不推薦具體模型。可選的模型和思考檔位見 /guides/chatgpt-model-picker-thinking,Codex 的用量見 /guides/codex-usage-limits。
Q:Canvas 和代碼塊是一回事嗎?
官方的發佈說明裏提到過 canvas 與代碼塊相關的調整,但兩者的關係本文沒有逐條核對,Canvas 本身的用法見 /guides/chatgpt-canvas。
Q:免費帳號能用嗎?
官方只說可用操作因套餐而異,沒有逐個套餐列出。免費版的限制見 /guides/chatgpt-free-plan-limits;想開通 ChatGPT Plus,可以看 /chongzhi/chatgpt-plus。
參考資料
- OpenAI 幫助中心:Working with writing blocks and code blocks in ChatGPT — https://help.openai.com/en/articles/20001246-working-with-writing-blocks-and-code-blocks-in-chatgpt
- OpenAI 幫助中心:Data analysis with ChatGPT — https://help.openai.com/en/articles/8437071-data-analysis-with-chatgpt
- OpenAI 幫助中心:Connecting GitHub to ChatGPT — https://help.openai.com/en/articles/11145903-connecting-github-to-chatgpt
0 條評論
還沒有評論,來搶沙發~