作者:一位Android开发工程师 | 2026年6月6日
系列:第一阶段收官,把前6天学的全部串起来


前言

前6天我把 LLM API 调用的所有参数拆了一遍:model、temperature、system prompt、messages 数组、Few-shot、CoT。今天把这些技能融进一个真正能用的工具——Kotlin 代码审查命令行工具


需求

输入一段有问题的 Kotlin 代码,输出结构化的审查报告。故意埋了两个坑:

fun getUserName(user: User): String {
    return user.name.toString()    // 问题1:toString() 多余
}

fun processList(list: ArrayList<String>) {
    for (i in 0..list.size) {      // 问题2:数组越界
        println(list.get(i))
    }
}

核心代码

response = client.chat.completions.create(
    model="turing/gpt-4o-mini",
    messages=[
        {
            "role": "system",
            "content": """你是Kotlin 代码审查专家,按照以下格式输出:
【问题等级】🔴严重 / 🟡建议 / 🟢优化
【问题代码】代码片段
【说明】为什么不好
【建议】怎么改""",
        },
        {
            "role": "user",
            "content": "审查这一段代码:\n" + code,
        },
    ],
    temperature=0.3,
)
print(response.choices[0].message.content)

关键设计:

  • system prompt 控制输出格式(第3天学的)
  • temperature=0.3 保证审查结果稳定(第2天学的)
  • messages 数组结构(第1天学的)

运行结果

【问题等级】🔴严重
【问题代码】for (i in 0..list.size) { println(list.get(i)) }
【说明】0..list.size 会导致数组越界异常,索引应该从0到size-1
【建议】改为 for (i in 0 until list.size)

【问题等级】🟡建议
【问题代码】return user.name.toString()
【说明】user.name 已经是 String 类型,调用 toString() 是多余的
【建议】直接返回 user.name

【问题等级】🟢优化
【问题代码】fun processList(list: ArrayList<String>)
【说明】ArrayList 限制了函数通用性,Kotlin 提供了更通用的 List 接口
【建议】改为 List<String>

三个问题全部命中,等级划分准确。


这比用豆包/ChatGPT强在哪

聊天工具 自己写的代码
一次审查 1段代码(手动粘贴) 可遍历整个 src 目录批量审查
结果存储 聊天框,复制粘贴 存入 JSON 文件,接入 CI 流水线
自动化 不能 Git Hook 自动触发
可定制 不能 system prompt 任意调整审查规则

区别:聊天工具是"用 AI",自己写代码是"做 AI 应用"。


第一阶段总结

7天学完,一次 LLM API 调用的全部要素已经齐了:

response = client.chat.completions.create(
    model="...",           # 第1天:模型选择
    messages=[             # 第1天:消息数组
        {"role": "system", "content": "..."},   # 第3天:人设/格式
        {"role": "user", "content": "..."},     # 第1天:提问
        {"role": "assistant", "content": "..."},# 第4天:历史对话
    ],
    temperature=0.3,       # 第2天:创造力控制
    max_tokens=250,        # 第2天:长度限制
)

下一阶段:RAG(检索增强生成)——让 LLM 能回答"知识库以外"的问题。


本系列记录一位Android开发者转行AI Agent的完整学习过程,欢迎关注交流。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐