自2022年11月30日ChatGPT问世以来,58同城TEG-AI Lab紧跟大语言模型技术发展步伐,以Model as a Service(MaaS)为理念打造了大语言模型平台,平台于2023年5月上线,支持大语言模型训练、推理等功能,是面向内部开发者推出的一站式大模型开发及服务运行平台。基于58同城生活服务领域业务特性,我们在开源通用大语言模型的基础上,使用58同城生活服务领域数据继续训练,打造了垂类大语言模型——灵犀大模型。目前大语言模型MaaS平台中灵犀大模型已接入内部数百个业务场景,日推理流量达到数千万,25年底相比年初提升近5倍。
代码索引是为了帮助我们提高代码搜索和导航效率的技术。常见的使用场景:IDE 中代码跳转,当点击跳转到实现时,IDE 会在索引中找到对应变量类的对应文件和行数,执行跳转动作。开发者可能想询问代码中某个具体的业务实现代码在哪个模块/文件中。非开发者:如产品/技术支持等同学可能希望在不借助开发者中介的情况下,对代码的某块业务实现有较准确的了解。在AI编码工具普及的今天,"代码索引"已成为支撑研发流程的核心能力。无论是IDE中的快速跳转,还是AI助手的精准问答,都离不开高效的代码索引技术。本文将结合团队近半年的项目实践,探讨从语义检索到结构化分析的技术路径。
近年来,大语言模型(LLM)的能力边界不断拓展:从检索增强生成(RAG),为大模型接上了外部知识库,让它能给出更可靠的答案;到引入思维链(COT)机制,通过显式地生成思考过程,增强了模型的逻辑分析与复杂问题拆解能力;再到如今的工具调用(Tool Use),模型真正被赋予了像人类专家一样的能力,主动思考、规划、并利用工具去解决未知复杂问题。这标志着模型正从“被动响应者”向“主动智能体”演进,让模型在复杂问题解决、响应鲁棒性和生成的透明度上发生质的飞跃。然而,“巧妇难为无米之炊”,要训练出这样的智能体,光有算法远远不够,数据才是真正的燃料。DeepSeek的研究工作确立了当前大模型训练的主流范式,即先是高质量数据驱动的冷启动阶段,再是基于强化学习的优化阶段。但Tool Use的冷启数据难以获取,通用模型通常在海量纯文本上预训练,再通过人工标注的指令数据微调,但这些数据几乎不包含“如何分步调用工具,分析工具返回结果,做出决策”的完整轨迹。人工标注不仅成本高昂、效率低下,还难以覆盖复杂场景的多样性。而特有业务场景的Tool Use数据更加稀缺。因此,合成数据成为破局关键。
某次Code Review时发现一段逻辑明显写错了位置,询问作者为何如此实现,得到的回答让人无奈:"我知道应该加在哪里,但那个文件已经几千行,几十个if-else嵌套在一起,需求排期很紧,评估了一下,要看懂那部分代码至少需要大半天,还不确定改完会不会影响其他逻辑,所以就先这样了。而且还有几个需求因为代码过于复杂,一直没能上线。" 回顾最近代码提交记录,类似的"绕道实现"出现了十余次。这种妥协正在形成恶性循环:每一次绕道都让原本该修改的模块更加复杂,下一个开发者面对同样需求时会发现理解成本更高,于是选择继续绕道。到了不得不改变的时候了,几个月前,我开始重构推荐系统粗排服务。
大模型的成功并非偶然——从早期符号主义AI的失败,到深度学习的崛起,再到Transformer的成功,每一次进化都是从无数被淘汰的算法、模型中艰难诞生。在这艰难曲折的探索中,人类智慧的金块无疑是AI头上的一盏明灯。反过来,大模型的进化经验,能否成为我们人类认知进化的营养?由此,我们破茧成蝶,与AI时代同频共振,开启认知与智慧的跃迁。
随着公司业务的快速发展,前端平台作为研发职能部门,在高效支撑业务迭代的同时,前端新建的应用不断增加,截止到2023年5月在Uraya平台统计的各业务域的应用(B端+C端)总数已经达到170多个,发布流程中出现问题的风险逐步显现,稳定性问题逐步突出。为了更好的维护应用的代码,解决潜在的稳定性问题风险,2023年6月做了前端大仓的技术调研并在7月开始试行前端大仓的研发模式,在2024年年初开始对前端大仓应用的稳定性进行体系化治理,近2年时间的治理,前端大仓的应用无论在代码质量还是流程统一上都达到了一定的稳定程度,应用稳定性的治理达到了不错的效果,从未出现因大仓稳定性治理导致的线上问题。
本文从“道、法、术”三个层面对比AI工程与传统软件工程的异同,指出AI工程并非推倒重来,而是在传统工程坚实基础上,为应对大模型带来的不确定性(如概率性输出、幻觉、高延迟等)所进行的架构升级:在“道”上,从追求绝对正确转向管理概率预期;在“法”上,延续分层解耦、高可用等原则,但建模重心转向上下文工程与不确定性边界控制;在“术”上,融合传统工程基本功与AI新工具(如Context Engineering、轨迹可视化、多维评估体系),最终以确定性架构驾驭不确定性智能,实现可靠价值交付。
本文从原理到实践系统地分享了如何高效使用AI编程工具。涵盖其底层机制(如Token计算、工具调用、Codebase索引与Merkle Tree)、提升对话质量的方法(如规则设置、渐进式开发)、实际应用场景(如代码检索、绘图生成、问题排查),并推荐了结合AI的编码最佳实践,包括文档、注释、命名规范和安全合规,旨在帮助不同经验水平的开发者真正把AI工具用好。