Kira:基于Claude的上下文感知AI编程助手,提升开发效率
在软件开发领域,大型语言模型(LLM)正通过代码生成与理解能力改变传统编程方式。其核心原理是利用海量代码数据训练,通过Transformer架构实现语义理解和模式识别。这项技术的价值在于将开发者从重复性编码任务中解放,提升开发效率与代码质量。典型应用场景包括代码补全、文档生成、错误调试和代码重构。本文聚焦的Kira项目,正是这一趋势下的工程实践典范,它通过深度集成Claude模型与智能上下文管理,
1. 项目概述:当AI助手化身全能代码伙伴
最近在开发者圈子里,一个名为“Kira”的项目开始被频繁提及。乍一看,这个名字可能让人联想到某个动漫角色,但在技术语境下,它代表的是一个由 aibenyclaude-coder 团队推出的、旨在深度整合大型语言模型(特别是 Claude)能力到代码编写全流程中的开源工具。简单来说,Kira 不是一个独立的 AI 模型,而是一个功能强大的“桥梁”或“工作台”,它能让开发者以更自然、更高效的方式与 Claude 这样的 AI 助手协作,共同完成从代码生成、解释、重构到调试的复杂任务。
如果你是一名日常与代码打交道的开发者,无论是前端、后端还是全栈,你肯定经历过这样的场景:面对一个模糊的需求,你需要反复构思函数结构;遇到一段遗留的、注释稀少的“祖传代码”,你需要花费大量时间理解其逻辑;或者在优化性能时,你希望有一个伙伴能帮你审视代码,提出重构建议。传统的 IDE 插件或简单的代码补全工具,往往只能提供片段式的帮助。而 Kira 的野心更大,它试图将 AI 的理解、推理和生成能力,无缝嵌入到你本地或云端的开发环境中,让 AI 成为你真正的“结对编程”伙伴,理解你的上下文,并基于整个项目给出有建设性的意见。
这个项目的核心价值在于“深度集成”与“上下文感知”。它不仅仅是调用 Claude 的 API 来生成几行代码那么简单。通过精心的架构设计,Kira 能够收集并组织你当前的工作区信息、打开的文件、终端输出、甚至版本控制系统的变更历史,将这些丰富的上下文信息结构化后喂给 AI,从而获得针对性极强、准确度更高的反馈。这解决了当前 AI 编程助手普遍存在的“上下文碎片化”问题——AI 不再只盯着你光标前的那几行字,而是能看到你正在解决的“整个问题”。接下来,我将从设计思路、核心功能、实操部署以及我踩过的一些坑,来全面拆解这个能让开发效率倍增的神器。
2. 核心架构与设计哲学解析
2.1 为何是“桥梁”而非“模型”?
理解 Kira 的第一步,是明确它的定位。市面上已经有很多基于 GPT 或 Claude 的代码生成工具,那 Kira 的独特性在哪里?其设计哲学的核心在于: 不重复造轮子,而是最大化现有顶级模型的能力 。aibenyclaude-coder 团队认识到,像 Claude-3 系列这样的模型,其代码理解和生成能力已经非常强大,瓶颈往往在于我们如何有效地与之“对话”。
普通的聊天界面或简单的 API 调用,提供给模型的上下文是贫乏且割裂的。你可能需要手动复制粘贴大量代码文件、错误日志和需求描述,这个过程既低效又容易遗漏关键信息。Kira 的架构就是为了自动化并优化这一“信息供给”流程。它充当一个智能的“上下文管理器”和“请求路由器”,其设计目标可以概括为三点:
- 全量上下文收集 :自动扫描项目结构,读取相关文件,监听开发环境状态(如当前焦点文件、选区内容、终端命令与输出),构建一个动态的、多维度的项目快照。
- 智能请求构造 :将开发者的自然语言指令(如“为这个函数添加错误处理”)与收集到的上下文结合,构造出对 AI 模型最友好、信息量最丰富的提示词(Prompt)。这包括过滤无关信息、突出关键代码段、结构化描述依赖关系等。
- 无缝结果集成 :将 AI 返回的代码、建议或解释,以便捷的方式集成回开发环境。这可能是在编辑器中直接插入代码块、在侧边栏显示分析报告、或者一键应用重构建议。
这种设计意味着 Kira 的性能上限与它所集成的 AI 模型(如 Claude)直接相关,同时其用户体验和效率提升则取决于其上下文管理算法的优劣。它是一个“力量倍增器”,将原始模型的能力更精准、更强大地释放到具体的开发任务中。
2.2 核心组件与工作流拆解
虽然我没有看到 Kira 的全部源码,但根据其公开描述和同类工具的设计模式,我们可以推断其核心组件通常包括以下几个部分:
- 客户端插件/扩展 :这是与开发者直接交互的部分,很可能以 VS Code、JetBrains IDE 插件或独立桌面应用的形式存在。它负责捕获用户指令(通过快捷键、命令面板或右键菜单)、收集本地编辑器状态,并将处理后的结果渲染回来。
- 上下文引擎 :这是 Kira 的“大脑”。它定义了一套规则和策略,来决定对于一个给定的任务,需要收集哪些信息。例如:
- 当用户请求“解释这个函数”时,引擎会定位该函数所在文件,并收集其直接调用的其他函数或类作为上下文。
- 当用户请求“为这个模块编写单元测试”时,引擎会分析模块的导出接口和依赖,并参考项目中已有的测试文件结构来构造请求。
- 它可能集成文件监听器,在项目文件变化时更新上下文索引。
- 提示词工程模块 :这是将原始指令和原始上下文转化为高质量 Prompt 的关键。它不是一个简单的拼接,而是包含了一系列模板和策略。例如,它会用特定的标记(如
<file_path>、<code>)来分隔不同来源的代码,在 Prompt 中明确指令格式(“请你只输出修改后的完整函数代码”),并可能包含“少说废话,直接给代码”这样的风格化指令来优化输出。 - 模型通信层 :负责与后端的 AI 模型 API(如 Anthropic 的 Claude API)进行安全、稳定的通信。处理认证、请求发送、响应接收、流式输出以及错误重试。
- 后处理与集成器 :对 AI 返回的原始文本进行解析。例如,从 Markdown 代码块中提取代码,解析建议列表,然后将这些结构化数据反馈给客户端插件,以便进行代码插入、显示浮动提示或生成预览差异对比。
其典型的工作流如下:开发者选中一段代码 -> 通过快捷键唤起 Kira -> 输入自然语言指令(如“优化性能”)-> Kira 客户端收集当前文件、选区、项目根目录信息 -> 上下文引擎根据指令类型决定还需要收集哪些相关文件(如导入的模块、配置文件)-> 提示词模块将所有信息组装成结构化 Prompt -> 通过通信层发送给 Claude API -> 收到响应后,后处理模块提取核心代码或建议 -> 集成器在编辑器中展示差异,供用户确认后应用。
注意 :在实际使用中,上下文的长度是有限的(受模型 Token 数限制)。优秀的上下文引擎必须具备优先级排序和智能裁剪能力,确保最重要的信息被优先送入模型,这对于大型项目尤为重要。
3. 核心功能场景与实战演示
Kira 宣称的能力覆盖了编码的核心环节。下面,我将结合假设的实操场景,详细拆解几个关键功能是如何工作的,并分享一些让效果最大化的技巧。
3.1 场景一:深度代码理解与解释
痛点 :接手一个缺乏文档的老项目,或者 review 同事写的复杂算法函数,光靠人肉阅读效率低下,容易误解。
Kira 如何做 :你可以直接选中令人困惑的代码段,向 Kira 提问:“解释这段代码的逻辑,特别是循环边界条件和异常处理部分。” Kira 的上下文引擎会做两件事:第一,它不仅发送你选中的代码,还会自动查找并包含该函数/类定义所在的整个文件,让你了解其完整结构;第二,它可能会扫描该文件的导入语句,如果引用了项目内的其他关键模块,也会将其摘要或相关部分作为背景信息加入。
实操示例与心得 : 假设我们有一段看似复杂的 Python 数据处理函数:
def process_batch(data_list, threshold=0.5, max_retries=3):
results = []
for idx, item in enumerate(data_list):
for attempt in range(max_retries):
try:
transformed = _complex_transform(item, threshold)
results.append((idx, transformed, attempt))
break
except ValueError as e:
if attempt == max_retries - 1:
results.append((idx, None, str(e)))
continue
return pd.DataFrame(results, columns=['index', 'result', 'info'])
向 Kira 提问后,你可能会得到如下结构的分析(这是模拟的理想输出):
- 功能总结 :此函数用于批量处理数据列表。它对列表中的每个元素尝试进行最多
max_retries次转换,成功则记录结果和尝试次数,失败则记录错误信息,最后将所有结果组装成一个 Pandas DataFrame。 - 关键逻辑拆解 :
- 双层循环 :外层遍历数据,内层处理重试。这种结构确保了每个数据项的独立重试。
- 错误处理 :捕获
ValueError。仅在最后一次重试失败时,才将错误信息存入结果。这避免了部分失败导致整个批次中断。 - 输出结构 :每个结果是一个三元组
(原始索引, 转换结果或None, 尝试次数或错误信息),最终转换为 DataFrame,便于后续分析。
- 潜在问题提示 :函数依赖未显示的
_complex_transform和pd(Pandas)。如果threshold参数在_complex_transform中意义不明确,可能影响理解。此外,错误类型仅捕获ValueError,可能遗漏其他异常。
我的心得 :让 AI 解释代码时,问题要具体。不要只问“解释一下”,而是像问一个同事一样,指出你的困惑点,比如“为什么这里要用 enumerate ?” 或“这个异常处理的逻辑是否意味着静默忽略除最后一次外的错误?”。Kira 结合了具体上下文,其回答会比通用聊天机器人准确得多。
3.2 场景二:上下文感知的代码生成与补全
痛点 :需要编写一个符合现有项目规范和模式的新功能,但记不清工具函数的具体签名,或者不想手动编写重复性高的样板代码。
Kira 如何做 :这是 Kira 的强项。假设你在一个使用 FastAPI 和 Pydantic 的 Web 服务项目中,想在 routers/ 目录下创建一个新的用户信息查询端点。你可以在新文件中,直接向 Kira 描述:“基于本项目现有的模式,创建一个 FastAPI 路由,GET 方法,路径为 /users/{user_id} ,使用 Pydantic 模型 UserResponse 作为响应模型,并集成已有的 get_user_from_db 服务函数。”
Kira 的上下文引擎会立刻行动:
- 识别你正在
routers目录下工作。 - 扫描项目,找到其他路由文件(如
routers/auth.py),学习其导入风格(是from ..services import xxx还是import services?)、路由装饰器用法(@router.get)和依赖注入模式。 - 定位
UserResponse模型的定义位置和get_user_from_db函数的签名。 - 将所有信息打包,请求 AI 生成一段风格一致、可直接运行的代码。
生成的代码可能如下 :
from fastapi import APIRouter, Depends, HTTPException
from typing import Any
from ..services.user_service import get_user_from_db
from ..schemas.user_schema import UserResponse
router = APIRouter(prefix="/users", tags=["users"])
@router.get("/{user_id}", response_model=UserResponse)
async def get_user(
user_id: int,
) -> Any:
"""
根据用户ID获取用户信息。
"""
user = await get_user_from_db(user_id)
if not user:
raise HTTPException(status_code=404, detail="User not found")
return user
我的心得 :在请求生成代码时,尽量使用项目内的“行话”。提到已有的模型名、函数名、类名,Kira 就能精准定位。生成的代码一定要 review!AI 可能犯一些细微的错误,比如异步函数 async def 的用法是否一致,或者异常类型是否匹配项目习惯。但它能完成 80%-90% 的机械性工作,极大地节省了查阅和复制粘贴的时间。
3.3 场景三:智能重构与代码优化建议
痛点 :感觉一段代码写得不够“优雅”,或有性能瓶颈,但自己一下看不出优化方向,或者不确定重构是否会影响其他部分。
Kira 如何做 :选中目标代码,发出指令如:“评估这段代码的性能和可读性,并提出具体的重构建议。” Kira 会分析代码的复杂度(如嵌套循环、重复查询),并结合项目上下文(例如,如果项目中有通用的工具函数或缓存模块),提出有建设性的建议。
例如,对于一段重复数据库查询的代码 ,Kira 可能建议:
- 问题识别 :在循环内执行相同的数据库查询,导致 N+1 查询问题,性能低下。
- 重构建议 :改为先批量获取所有必要数据(如使用
user_id in (…)一次查询),在内存中构建映射字典,然后在循环中从字典获取。这通常能将时间复杂度从 O(N) 降低到 O(1)。 - 提供参考代码 :它会直接生成重构后的代码片段,甚至提示你项目中可能已有的批量查询函数供参考。
- 风险提示 :它会提醒你,如果数据量极大,批量查询可能导致内存压力,并提供替代思路(如分页批量处理)。
我的心得 :将 Kira 用于重构时,最好分步骤进行。先让它“分析问题”,认同其诊断后,再让它“生成重构后的代码”。对于复杂的重构,可以请求它“生成一个前后对比的 diff 视图”,这样更直观。 绝对不要 在不运行测试的情况下直接应用大规模重构。AI 的建议是逻辑上的,但可能破坏一些隐含的依赖或边界条件。
3.4 场景四:交互式调试与根因分析
痛点 :遇到一个晦涩的错误日志或异常,传统搜索可能找不到项目特定上下文下的解决方案。
Kira 如何做 :将终端里的错误堆栈信息复制给 Kira,并提问:“结合我的项目代码,分析这个异常的根本原因是什么?如何修复?” Kira 的强大之处在于,它能将错误堆栈中的文件名和行号,与你项目中的实际代码对应起来。它会读取出错位置的源代码,分析调用链,并结合项目依赖(如通过 requirements.txt 或 package.json )来推断可能的原因。
例如,一个常见的 Python AttributeError ,AI 可能不仅告诉你某个对象没有某个属性,还会进一步分析:这个对象是在哪里创建的?它的类型预期是什么?是不是某个导入的模块版本不兼容导致了类定义变化?它会根据你的项目文件,给出具体的修复步骤,比如“请检查 services/data_fetcher.py 第 45 行, api_client 变量在初始化时可能为 None ”,或者“你的 requirements.txt 中库 A 是 1.2 版,但当前错误提示的特性在 1.4 版中才引入,建议升级或修改用法。”
我的心得 :提供错误信息时,尽量完整。包括完整的 Traceback、错误消息、以及你正在执行的操作。Kira 的上下文让它能进行“现场诊断”,这比把错误信息丢到一个通用的编程问答网站要高效和精准得多。
4. 环境配置、部署与集成实战
要让 Kira 发挥威力,你需要将其部署到你的开发环境中。以下是一个基于常见开源项目模式的通用部署指南和避坑要点。
4.1 前期准备与依赖检查
首先,你需要准备几样东西:
- AI 模型 API 密钥 :Kira 的核心是 Claude,因此你需要一个 Anthropic API 密钥。前往 Anthropic 官网注册并获取。 请妥善保管此密钥,切勿提交到代码仓库。
- 开发环境 :主流的代码编辑器或 IDE。Kira 很可能优先支持 VS Code,这是目前生态最丰富的编辑器。
- Node.js/Python 环境 :根据 Kira 项目的技术栈(通常是 TypeScript/Node.js 或 Python),确保本地安装了相应版本的运行环境。查看项目
README.md中的要求。 - Git :用于克隆代码仓库。
4.2 部署流程详解
步骤 1:获取项目代码
git clone https://github.com/aibenyclaude-coder/Kira.git
cd Kira
步骤 2:安装项目依赖 仔细阅读项目根目录下的 package.json 或 requirements.txt 。通常安装命令如下:
# 如果是 Node.js 项目
npm install
# 或
yarn install
# 如果是 Python 项目
pip install -r requirements.txt
注意 :这里最容易出问题的是 依赖版本冲突 。如果安装失败,查看错误信息,通常是某个原生模块编译失败或版本不兼容。尝试使用更精确的版本号,或根据项目 issue 中的提示解决。
步骤 3:配置 API 密钥与环境变量 项目通常会提供一个配置文件模板(如 .env.example 或 config.example.yaml )。复制一份并重命名为正式配置文件名(如 .env 或 config.yaml )。
cp .env.example .env
然后编辑这个文件,填入你的 Anthropic API 密钥:
ANTHROPIC_API_KEY=your_actual_api_key_here
此外,可能还需要配置:
- 模型版本 :例如
CLAUDE_MODEL=claude-3-sonnet-20240229。 - 上下文长度限制 :根据你的需求调整。
- 代理设置 (如果需要):如果你的网络环境需要,配置 HTTP 代理。
- 工作区根目录 :指定 Kira 扫描项目的默认路径。
步骤 4:构建与运行
- 对于 VS Code 插件 :通常需要在项目内运行
npm run compile或yarn build进行编译,然后在 VS Code 中按F5启动一个扩展开发主机来调试。更常见的发布使用方式是,开发者将插件打包成.vsix文件,然后直接在 VS Code 中“从 VSIX 安装”。 - 对于独立桌面应用 :可能会使用 Electron 等框架打包。运行
npm run make或类似命令进行打包,生成可执行文件。 - 对于 CLI 工具 :运行
npm link或pip install -e .将工具安装到本地环境,然后就可以在终端使用kira命令了。
步骤 5:IDE 集成 安装成功后,在你的 VS Code 中,你应该能看到一个新的 Kira 图标或活动栏项。通常你需要:
- 在设置中,指向你配置好的
.env文件或手动填入 API 密钥。 - 重启 VS Code。
- 打开一个项目,尝试选中代码,右键查看是否有 Kira 的相关命令,或者使用命令面板(
Ctrl+Shift+P/Cmd+Shift+P)搜索 “Kira”。
4.3 关键配置项解析与调优
要让 Kira 更顺手,你需要关注几个关键配置:
| 配置项 | 说明与建议 | 影响 |
|---|---|---|
| API 密钥与模型 | 确保密钥有效,模型选择平衡速度与智能(如 claude-3-haiku 快但简略, claude-3-opus 强但慢且贵)。 |
决定核心能力与响应速度。 |
| 上下文窗口大小 | 默认可能为 4K 或 8K Token。对于大型项目,可尝试调大,但注意成本增加和响应变慢。 | 影响 AI 能“看到”多少项目代码。 |
| 自动上下文收集规则 | 可以配置哪些文件类型被忽略(如 *.log , *.min.js ),哪些目录被排除(如 node_modules , .git )。 |
提升效率,避免无用信息污染上下文。 |
| 温度参数 | 控制 AI 输出的随机性。编程任务建议设为较低值(如 0.1-0.3),以保证代码的确定性和准确性。 | 值越高,输出越多样但可能不稳定。 |
| 最大输出 Token | 限制单次响应的长度。对于生成大段代码,需要设置较高值。 | 防止响应被截断。 |
| 自定义指令 | 可以预设一些全局指令,如“始终使用 TypeScript 严格模式”、“代码风格遵循 Airbnb 规范”。 | 让生成的代码更符合团队规范。 |
我的踩坑记录 :
- 权限问题 :在首次运行时,Kira 可能需要访问文件系统来建立索引。如果遇到权限错误,请检查你的 IDE 或终端是否以足够的权限运行。
- 网络超时 :与 API 通信时可能因网络不稳定超时。在配置中适当增加超时时间,或配置重试机制。
- 索引卡住 :对于超大型项目,初始上下文索引可能耗时很长甚至卡住。务必在配置中正确排除无关目录。一个好的做法是,先在一个子目录或特定模块中使用 Kira。
- 成本失控 :如果不加限制地使用,特别是频繁处理大型文件,API 调用成本可能快速上升。关注用量,并考虑在配置中设置每日或每月限额提醒。
5. 效能边界、局限性与最佳实践
尽管 Kira 非常强大,但它并非银弹。理解其局限性,并采用正确的工作方式,才能最大化其价值。
5.1 当前能力的边界在哪里?
- 对业务逻辑的深层理解有限 :AI 擅长处理语法、模式、算法和代码结构,但对于“为什么这个业务规则是这样”的领域知识,它只能从现有代码中推断。对于全新的、未在代码中体现的业务决策,它无法理解。
- 复杂系统架构设计能力不足 :虽然它能基于现有模式生成代码,但让它从头设计一个微服务划分、数据库分片策略或消息队列选型,结果可能流于表面,缺乏对非功能性需求(如可维护性、扩展性成本)的深度考量。
- 代码安全性与合规性盲区 :AI 生成的代码可能包含安全漏洞(如 SQL 注入、硬编码密钥)或使用有许可证风险的代码片段。它不会主动进行安全审计或合规检查。
- “幻觉”问题 :在上下文信息不足或问题过于模糊时,AI 可能生成看似合理但完全错误的代码,或引用不存在的项目文件、函数。 必须人工严格审查 。
- 对实时系统状态的感知为零 :Kira 看到的只是代码文本快照。它不知道程序运行时的真实数据状态、外部 API 的当前可用性、数据库的实际负载。因此,它无法调试仅在生产环境出现的、与数据或状态相关的偶发 Bug。
5.2 让 Kira 成为高效伙伴的最佳实践
基于数月的使用经验,我总结了以下“人机协作”的最佳实践:
- 分而治之,明确指令 :不要给一个庞大而模糊的任务(如“优化整个项目”)。将任务拆解成具体、原子化的指令,例如:“为
UserService类的update_profile方法添加输入验证”、“将config.py中的硬编码常量提取到环境变量中”。 - 提供高质量上下文 :在提问前,确保相关的文件已经打开并保存。如果任务涉及特定模块,可以先在聊天中提供简要介绍,例如:“接下来我们要修改的是订单处理模块,它主要包含
Order模型、OrderProcessor服务和payment_router。” - 扮演代码审查者角色 :把 Kira 的产出当作一位资深同事提交的 PR。仔细 Review 每一行生成的代码,思考其逻辑是否正确、是否有性能隐患、是否符合项目规范。运行相关的单元测试。
- 迭代式改进 :如果第一次生成的结果不完美,不要放弃。基于它的输出进行追问,例如:“这个函数没有处理网络超时,请加上重试逻辑。” 或者“这个样式组件的命名不符合我们的 BEM 规范,请调整。”
- 将其用于知识检索和探索 :遇到不熟悉的库或框架,可以用 Kira 快速生成示例代码或解释核心概念,这比阅读冗长的官方文档入门更快。例如:“用 PyTorch 写一个简单的线性回归训练循环示例。”
- 严格管理成本与隐私 :对于公司项目,确保 API 调用符合公司的数据安全和合规政策。敏感代码不应发送到云端 AI。考虑使用本地部署的大模型(如果 Kira 支持)或严格评估风险。
5.3 常见问题与故障排查速查表
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| 插件无响应/命令找不到 | 1. 插件未正确安装或启用。 2. API 密钥未配置或无效。 3. 依赖未安装完全。 |
1. 检查 VS Code 扩展列表,确保 Kira 已启用。 2. 检查设置中的 API 密钥,或在终端测试 echo $ANTHROPIC_API_KEY 。 3. 查看开发者控制台(Help -> Toggle Developer Tools)是否有错误日志。 |
| AI 响应慢或超时 | 1. 网络连接问题。 2. 请求的上下文过长(Token 太多)。 3. AI 服务端负载高。 |
1. 检查网络,尝试 ping API 端点。 2. 在配置中减少上下文窗口大小,或排除更多无关文件。 3. 稍后重试,或切换至更快的模型(如 Haiku)。 |
| 生成的代码有错误或无法运行 | 1. AI “幻觉”。 2. 提供的上下文不完整或有误导性。 3. 项目环境(依赖版本)与 AI 训练数据有差异。 |
1. 人工审查是必须的 。将错误信息反馈给 AI,让它修正。 2. 提供更精确的指令和相关文件。 3. 明确指定依赖版本,或让 AI 基于你项目内的现有代码风格生成。 |
| 无法识别项目中的特定文件或函数 | 1. 文件未被索引(可能在排除目录中)。 2. 上下文窗口已满,部分文件被截断。 3. 文件路径引用方式不对。 |
1. 检查配置文件中的排除规则。 2. 尝试缩小问题范围,只提供最相关的几个文件。 3. 在指令中明确使用文件的相对路径。 |
| API 调用返回权限或额度错误 | 1. API 密钥无效或已撤销。 2. 账户额度用尽。 3. 请求频率超限。 |
1. 在 Anthropic 控制台验证密钥状态并重置。 2. 检查用量和账单,充值或升级计划。 3. 在代码中增加请求间隔,或联系 API 提供商。 |
Kira 这类工具的出现,标志着软件开发正从“纯手工”向“人机协同”的新范式演进。它不会取代开发者,但会深刻改变我们的工作方式。善于利用它的开发者,能将精力从繁琐的语法记忆和样板代码编写中解放出来,更聚焦于架构设计、复杂问题解决和创造性工作。开始使用它的最佳方式,就是选择一个你熟悉的、正在进行的项目中的一个小任务,亲手尝试一下,感受它如何理解你的上下文,并给出那个“啊哈,这正是我想写的”代码瞬间。
更多推荐



所有评论(0)