LLM in very daily life? Enjoy Claude Code and Gemini-cli's super power!


不到两个月过去,很多国内国外的LLM Agentic CLI陆续出现了(QWen Code,Trae Agent, etc.). 我就不做比较和更新了,毕竟简单的日常任务也不是很能体现模型能力。ZZW过去两个月每天都在用这个激励系统,可视化了一下得分:

这篇文章记录了我用LLM agents开发一个极简应用(甚至谈不上应用,只是一个简单的程序),用来激励女票的考公复习。因为考公这个事也非常中国特色,代码也都是中文,所以这个blog也就不用翻译成英文了。

当前效果:github.com/uv-xiao/cse-incentive-agent

LLM Agents

使用LLM agents (Claude CodeGemini CLI)做科研(写代码、写论文)是非常方便且生产力爆炸的实践。我会写另一篇blog来描述我最近用他们做科研代码开发的经历。

背景:考公激励

前几天女票发我了一个小红书笔记:笔记链接

我寻思这要是我自己天天帮她记录也怪麻烦的,而且也不能提供足够的情绪价值。于是我决定用LLM agents来实现这个功能,并且要求它们提供充分的情绪价值嘿嘿

实现

安装Claude Code和Gemini CLI

首先就是要setup一些LLM agents。去各自的网站下载安装,发挥梯子的本事和蹭别人会员(Claude Code Max要200刀一个月wtf)的脸皮。我是二者混合使用的(Claude Code写代码和维护项目,生成的代码调用Gemini CLI实现文字类功能),但只用Gemini CLI好像也没问题,毕竟就是写点小Python,也不太需要调工具调试。

初始化项目

最开始我创建的文件结构:

cse_incentive/
├── .claude/
├──── settings.local.json
├── resources/
├──── red_notebook_image.jpg
├── README.md

也就是把那个小红书图片放进resources文件夹,在.claude文件夹里粘贴一个settings.local.json(设置"permissions""defaultMode""bypassPermissions"),然后写一个README.md

README.md的内容:

# ZZW考公Agent

ZZW考公需要好好学习,因此需要激励和监督。

本项目作为ZZW考公的Agent,使用Claude Code驱动,实现考公学习期间的情感支持和进度跟进。

## 资源

`resources/red_black_list.jpg`是一张图片,是网上找的,内容是对不同考公学习期间的行为的加分/扣分,以及基于积分的鼓励。

可以在网上检索更多相关的考公相关的事件、安排、激励、惩罚等,添加到`resources`目录,作为参考。

## 功能

**每日问卷**:生成每日问卷,交给ZZW填写,根据问卷内容生成每日总结。
- 问卷形式应该减少ZZW填写的难度,以选择填空为主。
- 问卷内容是对当天考公内容学习时长、做题情况、情绪状态、身体状态、学习计划完成情况等。
- 问卷应该提供充足的情绪价值,以鼓励ZZW继续学习。

**每日总结**:根据每日问卷内容,生成每日总结报告。
- 总结内容应剖析ZZW的学习、做题、情绪、身体状态,并给出改进建议。
- 总结内容应提供充足的情绪价值,以鼓励ZZW继续学习。
- 报告应为pdf格式,包括emoji和图片等元素,呈现丰富多彩的视觉效果。

**积分奖励/惩罚**: 根据每日问卷内容,生成积分奖励/惩罚。
- 积分奖励/惩罚应根据问卷内容,给出相应的奖励/惩罚。
- 需要在"每日总结"中描述积分奖励/惩罚的原因。
- 积分表需要有积分变化曲线,以直观展示ZZW的积分变化。
- 积分表存储为本地文件,并提供程序编辑和可视化。

## 技术栈

- Claude Code
  - 实现所需的文件结构和代码
  - 每日根据"question", "answer:<answer from zzw>", 生成报告,并调用程序更新积分表。
  - 报告生成过程也可以查看积分表。

- Gemini-cli
  - 由于gemini-cli有更好的语言理解能力和图片生成能力,因此生成报告时,调用gemini-cli实现问卷解析、报告生成、图片生成。

- 代码
  - 使用python实现积分表的存储、更新、可视化。

让LLM开干

/init

初始化Claude Code,生成CLAUDE.md,里面包含Claude Code自己分析设计的项目结构和功能:

# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

This is a Civil Service Exam Study Agent (考公Agent) designed to support ZZW in their civil service exam preparation journey. The system provides daily questionnaires, generates encouraging summary reports, and maintains a points-based reward/punishment system to gamify the study process.

## Development Commands

Since this is a Python project in early development, common commands will include:

python -m venv venv
source venv/bin/activate  # On Linux/Mac

pip install -r requirements.txt

python main.py

pytest tests/


## Architecture & Core Components

The system consists of three main functional modules:

### 1. Daily Questionnaire Module
...

### 2. Summary Report Generator
...

### 3. Points Management System
...

## Important Implementation Notes

1. **Scoring Rules**: The red_black_list.jpg contains detailed scoring criteria that must be implemented exactly as shown, including...

2. **Data Persistence**: Implement a simple file-based storage system (JSON or SQLite) to maintain...

3. **Report Generation**: Use gemini-cli for creating visually appealing PDF reports with...

4. **User Experience**: Keep the questionnaire simple and quick to complete to ensure daily compliance.

## External Tool Integration

- **gemini-cli**: Used for generating summary reports and creating visual content
- **Claude Code**: Primary development environment for implementation

## File Structure (Planned)

diary/
├── main.py                 # Entry point
├── modules/
│   ├── questionnaire.py    # Daily questionnaire generation
│   ├── scoring.py          # Points calculation logic
│   ├── report_generator.py # PDF report creation
│   └── data_manager.py     # Data persistence
├── data/                   # Store user responses and points
├── reports/                # Generated PDF reports
└── resources/              # Static resources including red_black_list.jpg

看起来已经不错了,初具雏形!但我比较喜欢用pixi来管理项目,于是我让Claude Code使用它:

update CLAUDE.md with pixi-based python management.

接下来就让Claude Code完成代码实现。

read @README.md carefully, know what i want, and search things online (use builtin tools and gemini) to collect more resources. Then implement the required codebase. Also update CLAUDE.md to make the claude code to serve well / be qualified for the described job. Also generate a USAGE.md to instruct the subsequent colaboration between I and claude code.

这一个指令就能让Claude Code完成项目初始化、代码实现、文档撰写等所有工作。

可以查看下生成的USAGE.md中关于使用方法的说明:

### 每日学习流程
1. **早晨规划**
   - 打开系统,查看昨日报告和积分
   - 制定今日学习计划
2. **晚上总结**
   - 运行程序:`pixi run python main.py`
   - 选择 "1. 填写今日问卷"
   - 认真回答14个问题(约2-3分钟)
   - 查看生成的报告和获得的积分
3. **查看进度**
   - 选择 "3. 查看积分历史" 查看最近记录
   - 选择 "6. 可视化进度" 生成进度图表

这里有个问题,因为我这个工具是需要使用Claude Code做更新并使用Gemini CLI生成报告的,这俩工具都能跑的环境其实是我在学校的服务器,而不是ZZW的电脑!(而且也不打算教会ZZW使用命令行和Python这些东西)。总而言之,我才是这个工具的直接用户,总不能每天把生成的问卷一个题一个题微信给ZZW吧!所以我觉得应该让这个工具支持Excel格式的问卷导出和导入。

由于ZZW不会使用python,每日运行main.py时,应该生成需要回答的问题的文本格式(比如excel),我会发送给zzw进行回答;然后python程序应该能识别回答后的文件,提取其中的答案,并完成报告生成和积分更新。此外,不但需要等级系统,还需要积分兑换系统(根据resources/red_black_list.jpg)和网上资源,查找可以兑换的奖励;claude也需要支持更新奖励列表。完成上述更新后,更新USAGE.md和README.md以保持最新。

好了!我们已经得到了这个工具的初步版本(也是github repo的第一个commit),可以让ZZW试用了哈哈

改进

执行pixi run python main.py,得到:

欢迎使用 ZZW考公学习日记系统!

这是你的专属学习伙伴,我会陪伴你走过考公之路。
让我们一起努力,向着目标前进!💪

🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟
============================================================
🎯 ZZW考公学习日记系统
============================================================


📋 主菜单:
💰 当前积分: 0分
----------------------------------------
1. 📤 导出今日问卷 (Excel)
2. 📥 导入问卷答案 (Excel)
3. 🎁 查看积分商城
4. 🛒 兑换奖励
5. 📄 查看今日报告
6. 📊 查看积分历史
7. 📈 查看学习统计
8. 📅 生成周总结
9. 📉 可视化进度
10. 💾 导出数据
0. 退出系统

啧啧这情绪价值拉满!

我把生成的问卷发给了ZZW,有一些修改的意见,我直接发给Claude Code,让他调整:

删除小额奖励和中等奖励

我希望删除的不是积分奖励,而是积分兑换系统里的小额奖励和中等奖励

ZZW提出了如下反馈:学习时间和练习题的选项数值都太低了,她每天都是远超问卷选项中的数量,需要大幅提高;除了做题之外,ZZW还同时需要写她的毕业论文,需要添加对应的积分奖励(比如与每日创作多少字数关联);ZZW还会背诵考公需要的知识,或者看网课学习,请上网查找相关信息,并添加积分奖励。请根据上述反馈更新工具。

目前积分奖励和惩罚的积分数值差别很大,请适当提高积分惩罚以示警戒

这些就不太重要了!

结论

也没啥结论可下,总之就是在把LLM当问答助手之外,可以尝试用它来实现一些日常生活中的小工具,比如这个考公激励工具。但这也确实需要写门槛,至少得能访问现在这几个比较猛的LLM Agents(希望国内的公司加加油,来点deepseek code, qwen-cli, doubao之类的),还要有一点代码开发基础(至少能调这些cli或者运行生成的程序?好吧,可能也不需要,如果LLM直接搞出来个什么网页、小程序之类的)。