4 借助 AI 写代码
4.1 AI 工具
- 通用工具
- ChatGPT - 由 OpenAI 开发的聊天机器人,基于 GPT-3.5 架构。可以用于编写代码、回答问题、生成文本等。
- ChatGPT Plus - 付费版本的 ChatGPT,提供更快的响应时间和更高的可用性。
- DeepSeek - 国内访问顺畅,整体表现不错,但结果的稳定性欠佳。
- 豆包 - 更适合文字编排、翻译等。
- kimi - 与豆包相当。
- 编程工具 (这些都是 VScode 中的插件)
- GitHub Copilot: VScode 插件,可以在编写代码时提供实时建议和补全。首月免费,后续 $10/月。
- Tabnine: 代码补全工具,支持多种编程语言。
- clint: 代码补全工具,支持多种编程语言。
- Codeium: 代码补全工具,支持多种编程语言。
4.2 理念
自然语言编程 vs. 传统编程
- 「自然语言编程」与 Python、C++ 等传统编程本质上都是向计算机发出指令,要求其执行特定操作
- 区别在于:
- 传统编程语言(如 Python、C++)有严格的语法和结构
- 自然语言编程则用人类语言(如中文、英文)描述操作
思维方式与沟通能力
- 初学时,自然语言编程似乎更简单
- 真正发挥其潜力,关键在于思维方式和沟通方式(如何提问)
- 学习曲线很陡峭:
- 知识广度:你要知道很多东西以及他们的关联,才能提出好的问题
- 知识深度:基本概念、核心理论、核心算法
- 逻辑思维:界定问题、拆解问题、追问(横向 v.s. 纵向)
- 语言表达:简洁、准确、清晰
最核心的理念转变
- 提示词 = 自然语言的”代码”
- 写好提示词,就像写好 Python/C++ 代码一样重要
- 许多高校已开设「提示词工程」课程,「Prompt 工程师」将成为热门职业
推荐学习资料
4.3 提示词
Tips
- 先粗后细 e.g. 生成讲义 v.s 先细后粗
- 顺藤摸瓜-迁移 e.g. 各种抽样方法
- 虚构角色 e.g. 你是一个资深的英文经济学期刊的编辑 → 推文
收集整理自己的提示词
4.4 我的使用经验
我常用的提示词
借助 AI 找 IV:连玉君的实战经验
4.4.1 实例:使用 AI 写一篇完整的论文推介
核心提示词: 参见 连玉君的 Prompts
提示词
Prompt 1:
{先上传论文的 PDF 版本给 ChatGPT,然后输入以下提示词:}
“写一篇论文推介,介绍附件中的论文。先列个提纲给我。”
Prompt 2:
分批次输出吧:
- 计量模型的证明和详细推导过程可以省略,但要补充简单直白的语言来解释模型和参数的经济含义
- 把数学符号和公式都采用 Latex 格式来写,以保证输出美观
- 行内公式采用
$f=x$
格式,单行公式采用$$f=x$$
格式 - 所有括号都用半角模式,中英文混排注意加空格
- 不要添加任何表情符号
- 按 ‘## 1. xxx’,‘### 1.1 xxx’,‘#### xxx’(不编号) 的格式来分 Section, Subsection, Subsubsection
- 参考文献格式:
- xxx, xxx, xxx. (2023). xxx. Journal of xxx, 1(1), 1-10.
[Link](https://doi.org/{DOI}), [-PDF-](http://sci-hub.ren/{DOI}), [Google](<https://scholar.google.com/scholar?q={Title of the Paper}>).
- xxx, xxx, xxx. (2023). xxx. Journal of xxx, 1(1), 1-10.
- 注意:每次生成答案时,都在首行按如下格式添加 label,以便我追问时定位:‘mylabel-01’,‘mylabel-02’,……
Prompt 3:
连续输出,中间无需停顿
Prompt 4:
详细介绍一下 4.4 模型四:部分线性函数系数面板模型(PLFC)中的模型设定和估计方法
Prompt 5:
补充一个 Subsection,添加如下内容: - 为没有任何非参数估计基础的读者解释一下样条基函数(Sieve Estimation) - 再补充一个 subsection,解释一下边际效应的置信区间是如何计算的