📗 第 8 章 · Features of the AI
所属课程:课程 004 Building with the the AI API
官方章节名:Features of the AI
课时数:9
CCAR-F 主命中领域:D5 15% + D3
归档日期:2026-10-15
📋 本章课时清单
| 本章序 | 全课序 | 类型 | 课时 | lesson ID | 直链 | 精译 |
|---|---|---|---|---|---|---|
| 1 | 51 | 🎬 视频 | Extended thinking | 287773 |
直链 | ✅ |
| 2 | 52 | 🎬 视频 | Image support | 287778 |
直链 | ✅ |
| 3 | 53 | 🎬 视频 | PDF support | 287768 |
直链 | ✅ |
| 4 | 54 | 🎬 视频 | Citations | 287771 |
直链 | ✅ |
| 5 | 55 | 🎬 视频 | Prompt caching | 287772 |
直链 | ✅ |
| 6 | 56 | 🎬 视频 | Rules of prompt caching | 287770 |
直链 | ✅ |
| 7 | 57 | 🎬 视频 | Prompt caching in action | 287774 |
直链 | ✅ |
| 8 | 58 | 🎬 视频 | Code execution and the Files API | 287777 |
直链 | ✅ |
| 9 | 59 | 📝 测验 | Quiz on features of the AI | 289124 |
直链 | ⬜ 待补 |
🎯 本章考点提示
D5(15%)+ D3,9 课时。extended thinking、图像、PDF、citations、prompt caching(3 课时)、代码执行与 Files API。
考场辨析(据精译反推,待官方 Quiz 验证):
- 何时开启扩展思考:先用提示评估优化提示词;只有准确率仍不达标时才开启,并接受额外成本与延迟。
- 缓存何时命中:断点之前(含断点)的内容必须完全一致;哪怕改动一个词,缓存都会失效。
- 缓存何时有收益:同一内容被反复发送时才有收益;只发送一次的内容放进缓存没有意义。
- Files API 与代码执行:容器没有网络,数据进出都要经由 Files API;生成的文件通过
code_execution_output块中的文件 ID 下载。⭐ Prompt caching 三连(Prompt caching / Rules of prompt caching / Prompt caching in action)是 D5 降本降延迟的正面考点,对应官方 What You'll Learn 第 9 条("Implement prompt caching strategies to optimize API usage and reduce latency")。 ⭐ 第 8 条("Utilize the AI's extended features including extended thinking mode, image analysis, PDF processing, and citation generation")覆盖本章前四课:扩展思考、图片、PDF、引用。
📖 逐课精译
课时 1 · Extended thinking
🎯 本课学习目标(据精译反推)
- 能说出扩展思考(extended thinking)的定义:模型在作答前先做推理,推理过程以思考块的形式返回。
- 能说出开启的代价(思考 token 计费、延迟增加、响应处理更复杂)与"先优化提示、再开启思考"的使用顺序。
- 能说出签名(signature)与脱敏块(redacted)的作用,并知道
thinking_budget与max_tokens的约束关系。
类型:🎬 视频 | lesson ID:
287773| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- Extended thinking is the AI's advanced reasoning feature that gives the model time to work through complex problems before generating a final response.
- Think of it as the AI's "scratch paper" - you can see the reasoning process that leads to the answer, which helps with transparency and often results in better quality responses.
- Important Note: Extended Thinking is not compatible with some other features, notable message pre-filling and temperature.
- The decision is straightforward: use your prompt evaluations. Run your prompts without thinking first, and if the accuracy isn't meeting your requirements after you've already optimized your prompt, then consider enabling extended thinking.
- The signature is a cryptographic token that ensures you haven't modified the thinking text.
- 精译:
- 是什么:扩展思考(Extended thinking)是 the AI 的高级推理功能,让模型在生成最终回答之前有时间逐步处理复杂问题。可以把它理解为 AI 的"草稿纸":你能看到得出答案的推理过程,这既有助于透明度,也常让回答质量更高。
- 响应结构:启用后,回复从单一文本块变为结构化的两部分:推理过程(思考块)与最终答案。
- 优点:复杂任务的推理能力更强;难题上的准确率更高;推理过程更透明。
- 代价:成本更高(思考 token 同样计费);延迟增加(思考需要时间);代码中的响应处理更复杂。
- 使用时机(考点):先用提示词评估来决定是否开启。先关闭思考运行提示词;只有在提示词已充分优化、准确率仍不达标时,才考虑开启。它是标准提示工程不够用时的工具,不是默认配置。
- 签名(signature):思考块附带一个密码学令牌,用来确认思考文本没有被修改。这防止开发者篡改 AI 的推理过程,而篡改可能把模型引向不安全的方向。
- 脱敏思考(redacted thinking):通常发生在思考过程被内部安全系统标记时,你收到的是脱敏块而不是可读文本。脱敏内容以加密形式保存了真实思考;你可以把完整消息原样传回给模型,后续对话不会丢失上下文。
- 实现要点:聊天函数增加两个参数,
thinking(布尔值,默认False)和thinking_budget(默认1024)。thinking_budget是模型用于推理的 token 上限,最小值 1024,且max_tokens必须大于该预算。开启时在请求参数中加入thinking配置,调用方式为chat(messages, thinking=True)。 - 测试脱敏响应:可以用一个特定触发字符串强制模型返回脱敏块,验证应用能否优雅地处理它而不崩溃。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 1,8 条) - 考点映射:映射表把本课标为 D1 1.1(思考作为 Orient/Plan 环节)⭐,次命中 D3。
- ⚠️ 核对项:讲稿示例把预算参数写作
budget,而我所知的官方 Messages API 字段名是budget_tokens。实际编码前需以官方文档为准。 - ⚠️ 限制:启用思考与修改
temperature、消息预填(pre-filling)不兼容,完整清单见讲稿中的兼容性链接。
课时 2 · Image support
🎯 本课学习目标(据精译反推)
- 能说出单次请求的图片限制:数量、单图大小、像素上限(单图 8000px,多图 2000px)与 token 公式。
- 能写出图片块与文本块并列的消息结构,并说出 base64 与 URL 两种传入方式。
- 能用分步分析、单样本示例改进简单提问的准确率。
类型:🎬 视频 | lesson ID:
287778| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- the AI's vision capabilities let you include images in your messages and ask the AI to analyze them in countless ways.
- Each image counts as tokens based on its dimensions:
tokens = (width px × height px) / 750 - Simple prompts often lead to poor results. For example, asking "How many marbles are in this image?" might return an incorrect count.
- Using one-shot or multi-shot examples
- Rather than a simple prompt like "provide a fire risk score," a well-structured prompt breaks down the analysis into specific steps.
- 精译:
- 能力:视觉能力让你可在消息中附带图片,要求 AI 以多种方式分析:描述内容、比较多张图、计数,或做复杂的视觉分析。
- 限制(考点):单个请求中所有消息合计最多 100 张图;单图最大 5MB;单张图高宽上限 8000px,多张图时上限 2000px;图片可用 base64 编码或 URL 传入;图片 token 数按公式计算:
tokens = (宽 px × 高 px) / 750。 - 消息结构:用户消息中,图片块(
type: image,source为 base64,带media_type)与文本块并列。图片块在前、文本块在后是示例写法,不是强制顺序。 - 消息流:与纯文本一样,服务端发送含图片块与文本块的用户消息,模型以文本块回复分析结果。
- 提示技巧(核心):图像任务同样适用文本的提示工程方法。简单提问容易出错(例:问"这张图里有几颗弹珠"可能数错),常用手段有三类:提供详细的指导与分析步骤;使用单样本或多样本示例;把复杂任务拆成小步骤。
- 分步分析:把问题改为方法论,例如先逐个识别并编号,再从左下角开始逐行左到右复核,最后给出经验证的确切数字。
- 单样本示例:在消息里先放一张已知答案的图和正确答案,再放目标图片,为模型提供分析类型的参照。
- 实战案例(火灾风险评估):保险公司用卫星图评估住宅火灾风险,而不是派人逐户勘察。好的提示词把任务拆成五步:先定位主住宅(最大的有顶结构、车道连接、与车库/棚屋/泳池区分);再检查树冠对屋顶的覆盖比例(0–25%、25–50%、50–75%、75%+);评估火灾脆弱点(余烬着落点、连续燃料路径、烟囱和通风口的邻近度);检查防御空间(树冠是否连成一片、是否存在燃料梯);最后按 1–4 级评级。每一步写一句结论,最终回复只给数字评级。
- 要点:同样的提示技巧适用于文本与图片。想要可靠结果,就写结构化的详细提示,而不是依赖简单提问。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 2,见下方统计) - 考点映射:映射表标 D3 支撑(多模态输入处理);本课与 D3 3.1(结构化提示)的分步写法直接相关。
- ⚠️ 核对项:讲稿中的
add_user_message与chat是课程示例的自定义辅助函数,不是官方 SDK 的函数名,实际编码时以官方 SDK 为准。 - ⚠️ 核对项:讲稿给出的图片限制(100 张、5MB、8000px / 2000px、
/750计算公式)来自课程原文,实际使用前请以官方文档为准,因为这些数字可能随版本变化。
课时 3 · PDF support
🎯 本课学习目标(据精译反推)
- 能说出从图片代码改为 PDF 代码需要改的四处:扩展名、变量名、内容块类型、媒体类型。
- 能说出 PDF 处理能覆盖的内容:文字、图表、表格与文档结构。
类型:🎬 视频 | lesson ID:
287768| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- the AI can read and analyze PDF files directly, making it a powerful tool for document processing.
- This capability works similarly to image processing, but with a few key differences in how you structure your code.
- the AI's PDF processing capabilities go beyond simple text extraction.
- Text content throughout the document / Images and charts embedded in the PDF / Tables and their data relationships / Document structure and formatting
- 精译:
- 能力:模型可以直接读取并分析 PDF 文件,是文档处理的有力工具。它的用法与图片处理相似,区别在于代码结构上的几处细节。
- 代码改动(核心):在图片代码的基础上做四处修改。文件扩展名由
.png改为.pdf;变量名由image_bytes改为file_bytes,以求清晰;内容块类型由"image"改为"document";媒体类型由"image/png"改为"application/pdf"。 - 消息结构:用户消息中,文档块(
type: document,source为 base64,media_type为application/pdf)与文本块并列,示例文本为"用一句话总结这份文档"。 - 能力范围:不止于抽取纯文本。模型可以理解整份文档的文字内容、嵌入的图片与图表、表格及其数据关系,以及文档结构与排版。
- 适用场景:摘要、数据分析、特定内容抽取,都可以用同一套方法完成。
- 示例:讲稿演示的是把一篇维基百科"地球"条目存成 PDF 后,用一句话完成总结。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 3,见下方统计) - 考点映射:映射表标 D3 支撑(多模态输入处理);本课与第 2 课图片的消息结构相同,是同一类多模态输入。
- ⚠️ 核对项:讲稿中的
add_user_message与chat仍是课程示例的自定义辅助函数,不是官方 SDK 函数名,实际编码时以官方 SDK 为准。 - ⚠️ 核对项:讲稿说"Images and charts embedded in the PDF"与"Tables"等能力是课程的描述,PDF 的页数上限、体积上限等限制讲稿未提及,实际使用前请查官方文档。
课时 4 · Citations
🎯 本课学习目标(据精译反推)
- 能说出启用引用的两个字段(
title与citations.enabled),并说出引用的五项信息。 - 能区分 PDF 来源(按页码定位)与纯文本来源(按字符位置定位)。
类型:🎬 视频 | lesson ID:
287771| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- When the AI answers questions based on documents you provide, users might assume it's just drawing from its training data.
- Citations solve this transparency problem by creating a clear trail from the AI's response back to your source material.
- The
titlefield gives your document a readable name, whilecitations: {"enabled": True}tells the AI to track where it finds information. - With plain text sources, instead of page numbers, you'll get character positions that pinpoint exactly where in the text the AI found each piece of information.
- By implementing citations, you transform the AI from a "black box" that provides answers into a transparent research assistant that shows its work.
- 精译:
- 为什么需要:当 AI 基于你提供的文档回答时,用户可能以为它只是在调用训练数据。引用(citations)让 AI 指出每条信息具体来自原文的哪一部分,从而在回答与原始材料之间建立可追溯的证据链。
- 启用方式(核心):在文档块中增加两个字段。
title给文档一个可读的名字;citations: {"enabled": True}告诉模型记录每条信息的来源位置。 - 引用结构:启用后,回复从纯文本变为结构化数据,每条陈述附带引用信息。每条引用包含五项:
cited_text(支持该陈述的原文)、document_index(引用的是哪份文档,多文档时有用)、document_title(你设定的标题)、start_page_number(引文起始页)、end_page_number(引文结束页)。 - 界面价值:引用的真正价值在前端。用户可以把鼠标悬停在引用标记上,看到信息的确切出处。由此,用户能确认回答有据可依、核对原文,并了解每条事实的上下文。
- 纯文本来源:引用不限于 PDF。文本来源用
source.type: "text",media_type: "text/plain",同样设置title与citations。区别在于定位方式:纯文本没有页码,引用会给出字符位置,精确指出每条信息在文本中的位置。 - 适用场景:用户需要核对准确性;文档本身权威、用户需要引用它;应用对信息来源的透明度要求高;用户想进一步了解某个事实的背景。
- 意义:有了引用,AI 不再是"黑箱",而是能展示推理依据的研究助手。这既建立用户信任,也方便用户深入原始材料。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 4,见下方统计) - 考点映射:映射表标 D3 3.3(强制引用
<quotes>抗幻觉)⭐⭐,本课是这一条的主命中课时。 - ⚠️ 核对项:讲稿中的引用字段名(
cited_text、document_index、document_title、start_page_number、end_page_number)与纯文本的字符位置字段,实际 API 返回结构请以官方文档为准。 - ⚠️ 核对项:
True是 Python 写法;JSON 请求体中应为true。编码时以官方 SDK 与文档为准。
课时 5 · Prompt caching
🎯 本课学习目标(据精译反推)
- 能说出提示词缓存的定义:复用已做过的计算工作,降低成本与延迟。
- 能说出缓存的两个前提:内容重复出现,且在一小时的有效期内。
类型:🎬 视频 | lesson ID:
287772| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- Prompt caching is a feature that speeds up the AI's responses and reduces the cost of text generation by reusing computational work from previous requests.
- After sending you the response, the AI throws away all this computational work.
- The cache acts like a lookup table that says "If I ever see this message again, I'll reuse this work I already did."
- Cache duration: Cached content only lives for one hour.
- 精译:
- 定义:提示词缓存通过复用之前请求中的计算工作,加快响应并降低文本生成成本。与其每次请求后丢弃全部处理结果,模型可以在你再次发送相似内容时保存并复用它们。
- 不用缓存时的流程:模型收到输入后先做大量预处理(分词、为每个词元生成向量、结合上下文分析),然后才生成输出;回复发出后,这些预处理成果全部被丢弃。
- 问题所在:后续请求若包含同一段内容(例如反复润色同一篇长文的摘要),模型要把刚处理过的预处理再做一遍,效率低。
- 缓存的工作方式:首次请求时,模型照常预处理,但把结果存入缓存而非丢弃。缓存像一张查找表:如果再次遇到同一内容,就复用已做过的工作。
- 优势:响应更快(命中缓存的请求执行更快);成本更低(缓存部分按更低费用计);自动优化(首次请求写缓存,后续请求读缓存)。
- 限制(考点):缓存只保留一小时;只有在反复发送同一内容时才有收益;需要相同内容高频出现,效果才明显。
- 适用场景:对同一份大文档连续提问的文档分析工作流,或基础内容保持不变、只是反复调整局部的迭代编辑任务。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 5,见下方统计) - 考点映射:映射表标 D5 5.1(缓存机制)⭐⭐,本课是这一条的概念主课时;与第 6、7 课合成三连。
- ⚠️ 核对项:讲稿说缓存"只保留一小时"。我知道的官方文档对缓存生命周期的描述是每次命中会续期(约 5 分钟,可续期),两者不一致;实际使用前请以官方文档为准。
- ⚠️ 核对项:讲稿说"节省成本"但未给比例。我不在本文件里补充折扣数字,以官方定价页为准。
课时 6 · Rules of prompt caching
🎯 本课学习目标(据精译反推)
- 能说出缓存断点的放置方法:展开形式的文本块加
cache_control。 - 能说出缓存失效的条件(断点之前的内容任何改动)与断点数量上限(4 个)。
- 能说出 1024 token 的最小长度门槛,并知道它按所有缓存内容的总和计算。
类型:🎬 视频 | lesson ID:
287770| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- Caching isn't enabled automatically - you need to manually add cache breakpoints to specific blocks in your messages.
- To add a cache breakpoint, you need to use the longhand form for writing text blocks instead of the shorthand.
- Even small changes like adding the word "please" will invalidate the cache and force the AI to reprocess everything.
- You can add up to four cache breakpoints total.
- There's a minimum threshold for caching: content must be at least 1024 tokens long to be cached.
- 精译:
- 总规则:缓存的是消息中已做过的计算工作;它只在重复发送相同内容时有收益,且缓存只保留一小时。
- 不自动开启(核心):缓存不会自动生效,必须手动在特定块上加上缓存断点(cache breakpoint)。断点之前的全部计算工作会被缓存;后续请求只有在断点之前(含断点)的内容完全相同时,才能命中缓存。
- 写法:要加断点,文本块必须使用展开形式(longhand),不能用简写(shorthand),因为简写没有放置
cache_control字段的位置。展开形式中设置cache_control: {"type": "ephemeral"}。 - 敏感性:内容哪怕只多一个词(例如加上"please"),缓存都会失效,模型必须全部重算。
- 跨消息缓存:断点可以跨越多条消息与消息类型。把断点放在较后的消息上,之前的所有消息(用户、助手等)都会被包含在缓存中。这适合要缓存某个点之前全部上下文的对话。
- 可加断点的位置:系统提示、工具定义、图片块、工具调用与工具结果块。系统提示与工具定义很少在请求间变化,通常是收益最大的缓存对象。
- 处理顺序:模型按"工具 → 系统提示 → 消息"的顺序处理请求各部分。理解这个顺序,有助于放置断点。
- 数量上限:一次请求最多 4 个缓存断点。例如,可以先缓存工具,再在对话历史中途加一个断点,使不同部分变化时各自的缓存互不影响。
- 最小长度(考点):可缓存的内容至少 1024 个 token。这是你想缓存的所有消息与块的总和,而不是单个块的长度。"Hi there!" 这样的短消息达不到门槛;把内容重复 500 次,或使用真正的长提示,才能超过门槛。
- 核心:找出多次调用之间保持不变的部分,在合适的位置放断点,在最大化复用的同时尽量减少缓存失效。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 6,见下方统计) - 考点映射:映射表标 D5 5.1 的 ⭐⭐ 条目:前缀一致、1,024 token 门槛、断点位置;本课是 5.1 的规则主课时。
- ⚠️ 核对项:讲稿中的
cache_control: {"type": "ephemeral"}与"最多 4 个断点"是课程描述,实际 API 参数与上限以官方文档为准。 - ⚠️ 核对项:1024 token 门槛为讲稿所述,不同模型的最小长度可能不同,编码前请查官方文档。
课时 7 · Prompt caching in action
🎯 本课学习目标(据精译反推)
- 能写出在工具列表最后一个工具上加缓存字段的做法,并说出为何要复制而非直接修改。
- 能读懂
cache_creation_input_tokens与cache_read_input_tokens两个用量字段的含义。 - 能判断部分缓存命中的情形(只改系统提示时,工具命中、系统提示写入)。
类型:🎬 视频 | lesson ID:
287774| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- When you enable prompt caching, the first request writes content to a cache that lives for one hour.
- Large system prompts (like a 6K token coding assistant prompt) / Complex tool schemas (around 1.7K tokens for multiple tools)
- The cache is extremely sensitive - changing even a single character in your tools or system prompt invalidates the entire cache for that component.
- If you change your system prompt but keep the same tools, you'll see a partial cache read (for tools) and a cache write (for the new system prompt).
- 精译:
- 总述:开启缓存后,首次请求把内容写入缓存(有效期一小时),后续请求从缓存读取,不必重复处理相同内容。最适合反复发送的内容:大型系统提示(讲稿例:6K token 的编程助手提示)、复杂的工具模式(讲稿例:多个工具约 1.7K token)、重复出现的消息内容。
- 工具模式缓存(代码要点):在工具列表的最后一个工具上加
cache_control: {"type": "ephemeral"}。讲稿的写法是先复制工具列表与最后一个工具,再在副本上加字段,而不是直接修改原定义,这样之后调整工具顺序时不会出问题。 - 系统提示缓存(代码要点):系统提示要从纯字符串改写为文本块列表,并在该文本块上设置
cache_control。 - 用量字段(考点):首次请求返回
cache_creation_input_tokens(写入缓存的 token 数,讲稿例 1772);后续请求返回cache_read_input_tokens(从缓存读取的 token 数);内容变化时会出现新的写入量。 - 极度敏感:工具或系统提示中哪怕改一个字符,该部分的整个缓存都会失效。
- 分段命中:若只改系统提示、工具不变,则工具部分命中读取、新系统提示部分写入。缓存是分段的,只为真正变化的部分付费。
- 断点顺序:可以在一次请求中设置多个断点,顺序为:工具(若有)→ 系统提示(若有)→ 消息。
- 适用条件:工具模式跨请求保持一致、系统提示稳定、请求频繁且上下文相似。缓存只保留一小时,适合调用频繁的应用,而不是长期存储。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 7,见下方统计) - 考点映射:映射表标 D5 5.1(成本与延迟收益)⭐;本课是缓存三连的实操课时,对应用量字段与分段命中。
- ⚠️ 核对项:讲稿的代码通过
params["tools"]、params["system"]组装请求,这是课程自己的辅助结构,不是官方 SDK 的参数名,编码时以官方 SDK 为准。 - ⚠️ 核对项:
cache_creation_input_tokens与cache_read_input_tokens是讲稿所示的用量字段名,实际返回结构请以官方文档为准。 - ⚠️ 核对项:讲稿说"一小时"有效期,与第 5 课的"只保留一小时"一致,但与我知道的"命中时续期、约 5 分钟"的官方描述不一致,请以官方文档为准。
课时 8 · Code execution and the Files API
🎯 本课学习目标(据精译反推)
- 能说出 Files API 与 base64 直接内嵌的区别,以及何时选用文件 ID 引用。
- 能说出代码执行工具的三个特点:服务端运行、Docker 隔离、无网络访问。
- 能说出响应中三种块(文本、服务端工具调用、代码执行结果)各自的作用,并知道如何找到生成文件的 ID。
类型:🎬 视频 | lesson ID:
287777| 官方直链
- 精译状态:✅ 已精译(2026-10-27,用户粘贴讲稿)
- 官方原句:
- The Files API provides an alternative way to handle file uploads.
- Code execution is a server-based tool that doesn't require you to provide an implementation.
- the AI can optionally execute Python code in an isolated Docker container.
- Since the Docker containers have no network access, the Files API becomes the primary way to get data in and out of the execution environment.
- Look for blocks with
type: "code_execution_output"in the response - these contain file IDs for generated content. - 精译:
- Files API:另一种处理文件上传的方式。不再把图片或 PDF 以 base64 直接塞进消息,而是先单独调用接口上传,拿到含唯一文件 ID 的元数据对象,之后在消息里引用该 ID。适合同一文件被多次引用,或文件较大、每次都内嵌很麻烦的场景。
- 代码执行工具(核心):服务端工具,无需你提供实现。请求中只需包含预定义的工具模式,模型就可以在隔离的 Docker 容器中执行 Python 代码(可选)。特点:容器隔离;无网络访问(不能发起外部 API 调用);同一会话中可多次执行;执行结果由模型读取并用于最终回答。
- 两者结合:因为容器没有网络,Files API 成为把数据送入、送出执行环境的主要通道。
- 典型流程:① 用 Files API 上传数据文件(如 CSV);② 在消息中加入
container_upload块并附上文件 ID;③ 让模型分析;④ 模型编写并执行代码处理文件;⑤ 模型生成的输出(如图表)可以下载。 - 案例:流媒体用户数据 CSV,包含订阅等级、观看习惯,以及是否流失(取消订阅)。任务是找出流失的主要驱动因素,并至少生成一张详细图表。
- 响应结构(考点):使用代码执行时,回复包含多种块:文本块(分析与解释);服务端工具调用块(
server_tool_use,即模型决定运行的代码);代码执行工具结果块(代码的输出)。模型可能在一次回复中多次执行,逐步积累分析,每一轮包含代码与结果。 - 下载生成文件:模型生成的图表或报告会存入容器,可通过 Files API 下载。在响应中查找
type: "code_execution_output"的块,其中包含生成内容的文件 ID。 - 更广的用途:图片处理与操作、文档解析与转换、数学计算与建模、带自定义格式的报告生成。
- 核心理念:把复杂的计算任务交给模型,同时通过 Files API 掌控输入与输出。模型因此成为能真正执行并迭代方案的编程助手。
- 本章新生词:已回灌
30-单词表/04-第 8 章速查分组(课时 8,见下方统计) - 考点映射:映射表标 D4 4.3(代码执行与 Files API 的工具边界)⭐,次命中 D1 1.1(执行-观察循环)。
- ⚠️ 核对项:讲稿中的
code_execution_20250522是版本化的工具类型名,实际以官方文档当前版本为准,版本号会变化。 - ⚠️ 核对项:讲稿中的
upload(...)、download_file(...)、add_user_message、chat是课程示例辅助函数,不是官方 SDK 函数名。 - ⚠️ 核对项:讲稿说容器"无网络访问",实际的网络与运行时限制请以官方文档为准。
课时 9 · Quiz on features of the AI
类型:📝 测验 | lesson ID:
289124| 官方直链
- 精译状态:⬜ 待补(讲稿待贴;本课为测验,题目需登录态)
- 官方原句:待补
- 精译:待补
- 本章新生词:待补(讲稿贴入后回灌
30-单词表/04-)
📝 本章小结
本章 9 个课时里,前 8 课是功能讲解,第 9 课是测验。可以按三组来记:
- 多模态输入(课时 2–3):图片与 PDF 都以内容块的形式放进用户消息,与文本块并列;差别在于块类型、媒体类型和限制。
- 可追溯输出(课时 4):引用让回答可以指回原文,这是 D3 3.3 抗幻觉的落地方式。
- 成本与延迟(课时 5–7):提示词缓存靠断点、前缀一致与最小长度三条规则生效,用量字段可以验证命中情况;工具与系统提示是收益最大的缓存对象。
- 执行与文件(课时 1、8):扩展思考让模型先推理再作答;代码执行在无网络的容器中运行,数据经由 Files API 进出。
⚠️ 本章核对项汇总
以下各项在对应课时中已有标注,集中列在这里便于统一核对。
- 示例辅助函数:
add_user_message、chat、upload、download_file、params["tools"]、params["system"]都是课程示例的自定义函数或结构,不是官方 SDK 的名字,编码时以官方 SDK 为准。 - 参数与字段名:
budget与官方字段budget_tokens的差异(课时 1);引用的五项字段与纯文本的字符位置(课时 4);cache_creation_input_tokens与cache_read_input_tokens(课时 7);code_execution_20250522的版本化名称(课时 8)。 - 数值与限制:图片的 100 张、5MB、8000px / 2000px 与
/750公式(课时 2);PDF 的页数与体积上限,讲稿未提及(课时 3);cache_control与最多 4 个断点、1024 token 门槛(课时 6)。 - 缓存有效期:讲稿说一小时(课时 5、7),与我知道的“命中时续期、约 5 分钟”的官方描述不一致,需以官方文档为准。
- 容器网络:讲稿说无网络访问(课时 8),实际运行限制以官方文档为准。
- 布尔值写法:
True是 Python 写法,JSON 请求体中是true(课时 4)。
✅ 本章进度
- [x] 抓取本章讲稿/字幕(课时 1–8 用户粘贴;课时 9 测验讲稿待贴)
- [x] 逐课精译(8/9 课时,课时 9 为测验,见下)
- [x] 生词回灌
30-单词表/04-(第 8 章速查分组,课时 1–8) - [ ] 章节测验(课时 9,待讲稿)
🔗 关联
- 上级:
课程 004 README - 导读:
01-课程导读与大纲全景 - 生词表:
30-单词表/04-(已建 · 第 8 章分组 课时 1–8) - 登录 SOP:
40-认证事务/08-Partner SSO