将人工专业知识与LLM辅助相结合来简化编码

Vibe 编码和 AI 辅助开发的 3 种方式是两件不同的事情 Vibe 编码和 AI 辅助开发是当今技术术语中的两个时尚术语。虽然两者都是指涉及自动化、AI 驱动建议和改进开发人员体验的现代编码实践,但在为您的项目选择最合适的方法时,重要的是要考虑它们之间的细微差别。利用先进的自然语言处理和 AI 生成的代码来实现快速原型设计和创造性探索,使个人能够自由试验并快速将想法转化为工作原型。这种方法强调试错思维方式,其中直观的提示会导致迭代改进,使其特别适用于教育项目和低风险实验。相比之下,AI 辅助开发通过整合智能代码建议和系统审查流程,建立在传统编码实践的基础上。 阅读详情

这箱装满待邮寄信件的盒子是我的问题,而右上角的清单则是解决方案。作为一名热情的 Vote Forward 志愿者,我无法跟踪哪些捆绑包由我的团队中的哪些助手完成。我需要一段 JavaScript 代码来制作一个清单,以便我可以跟踪我们的进度。以下是如何我的 AI 助手 帮助我编写它的。

Vote Forward 仪表盘上提供了所有制作清单所需的信息,该仪表盘为未完成和已完成的捆绑包提供信息卡列。

当我有可以用来推动交互的知识和经验,以及当我将问题分解成易于测试的小块时,我才能获得最佳结果。

但是,没有简单的方法可以将这些数字信息卡上的捆绑包 ID 与我准备邮寄的信件箱中累积的捆绑包封面上的相同 ID 相匹配。我的 LLM 助手帮助我制作了一个清单来弥合这一信息差距。这项任务不可否认是枯燥的,但许多信息处理工作也是如此。浪费在它们身上的周期越少越好。

以下是仪表盘在网站上的外观。

如果您不熟悉 LLM 辅助编码,您可能会想象这样的提示。

阅读此 HTML 页面并制作一个已准备和未准备捆绑包 ID 的排序列表。ID 是五个字符的字母数字字符串。

但事实并非如此——至少对我来说,现在还没有。当我有可以用来推动交互的知识和经验,以及当我将问题分解成易于测试的小块时,我才能获得最佳结果。首要任务是在页面上找到信息卡,并从中提取两项内容:捆绑包 ID 和状态(未准备或已准备)。这并不难,但这是一项繁琐的任务,我很乐意委托他人完成。

让我们看看 ChatGPT 和 Claude 如何处理此提示。

查找捆绑包 ID 和状态

我们在页面中寻找这些元素。

代码语言:javascript

复制

<li class=”bundle-list-item individual” data-testid=”bundle-0-UNPREPPED”><div class=”row”><div class=”fill-auto campaign-labels-1″><h4 class=”fill-row”>Pennsylvania Voter Turnout</h4></div><div class=”col-auto”><div class=”campaign-labels”><figure class=”campaign-bubble social” title=”social”><span>S</span><div class=”campaign-label fs-8 fw-bold me-2 px-2 text-uppercase rounded-pill social campaign-bubble-label”>Social</div></figure></div></div></div><div class=”row”><div class=”col fill-row”><span class=”adopted-on”>ID: <span class=”font-monospace”> mmorg</span> | Adopted: 9/29 at 11:30am</span></div></div><div class=”row”><div class=”col fill-row fw-bold mail-by-message”><div class=”mail-by-bubble”><span><i class=”fa fa-envelope-o”></i><strong> Send by Oct 29</strong></span></div><div class=”mail-by-label rounded-pill mail-by-bubble-label text-gray”><p><span class=”text-danger”> <span class=”fw-bold”>Send</span> as soon as Sat, Oct 5 but no later than Tue, Oct 29</span></p></div></div></div><div><div class=”row flex-nowrap unprepared”><div class=”col”><div class=”row px-2″><button class=”btn-bundle-status btn-primary-v2 rounded-pill”><i class=”fa fa-arrow-circle-down”></i><span class=”download-message “>Download</span></button></div></div><div class=”col”><button class=”btn-bundle-status btn-secondary-v2 rounded-pill w-100 status-secondary” title=”Mark Prepared from Unprepared”><span class=”bundle-status-message “>Mark Prepared</span><i class=”fa fa-chevron-right”></i></button></div></div><div class=”row”><input class=”slide-out-toggle” id=”toggle-mmorg-UNPREPPED” type=”checkbox”><label class=”letter-info” for=”toggle-mmorg-UNPREPPED”><span class=”text-gray”>View 20/20 unprepared letters</span><i class=”fa fa-chevron-down slide-out-arrow”></i><i class=”fa fa-chevron-up slide-out-arrow”></i></label><div class=”slide-out-list”></div></div></div></li>

输出类似下面的样子。

代码语言:javascript

复制

mmorg UNPREPPED
wLMPw PREPPEDGive me JavaScript code to produce that output.

这种事情对这两个 LLM 来说都是微不足道的。

代码语言:javascript

复制

// claude
function parseHTML() {
    const items = document.querySelectorAll('li.bundle-list-item');
    const results = [];
    items.forEach(item => {
        const idSpan = item.querySelector('span.font-monospace');
        if (idSpan) {
            const id = idSpan.textContent.trim();
            const status = item.getAttribute('data-testid').split('-').pop();
            results.push(`${id} ${status}`);
        }
    });
    return results;
}
function displayResults(results) {
console.log(results.join('\n'));
}


const parsedResults = parseHTML();
displayResults(parsedResults);

此外,在浏览器的控制台中测试这些代码片段也很容易。

查找所有捆绑包 ID 和状态

不过,我们还没有完成。这两个代码片段都返回了相同的不完整结果集。这是因为该网站将两个列表打包在仅部分显示它们的元素中;您必须滚动才能看到超过几个信息卡。以下是一种几乎肯定会失败的方法。

这些列表是不完整的,因为它们出现在滚动元素中。我的展示了整个 HTML 页面,我们如何收集已准备就绪的和还没有准备好的捆绑软件的完整列表?

代码语言:javascript

复制

// claude
async function gatherBundles() {
    // Function to scroll the page to the bottom to trigger loading of new content
    function scrollPage() {
        return new Promise((resolve) => {
            let lastScrollTop = window.scrollY;
            const interval = setInterval(() => {
                window.scrollBy(0, 1000); // Scroll down by 1000px
                if (window.scrollY === lastScrollTop) {
                    clearInterval(interval);
                    resolve(); // Resolving the promise when no further scrolling happens
                }
                lastScrollTop = window.scrollY;
            }, 500); // Adjust scrolling speed if necessary
        });
    }
// Scroll the page to load all bundles
await scrollPage();

// After scrolling, collect the bundles
const bundles = document.querySelectorAll('li.bundle-list-item');
const results = [];

bundles.forEach(bundle => {
    // Extract user ID
    const userId = bundle.querySelector('span.font-monospace').textContent.trim();

    // Extract status from "data-testid" attribute
    const dataTestId = bundle.getAttribute('data-testid');
    const status = dataTestId.split('-').pop();

    // Push the result in the desired format
    results.push(`${userId} ${status}`);
});

// Output the gathered results
console.log(results.join('\n'));

}


// Run the function to gather and log the bundles
gatherBundles();

果然,这两个解决方案都失败了。当我要求两个 LLM 采用不同的方法时,它们就偏离了轨道。回想起来,我可以看到我的语言是如何误导它们的。最初,我也想象了一个需要滚动的解决方案。

幸运的是,我带来了知识和经验。经过反思,我意识到,通过增加列的高度,我可以将所有信息卡暴露给我的脚本。检查页面后,我发现两列捆绑包被包装在使用相对位置和动态计算高度的 div 元素中。这些就是我一直在寻找的东西。为了验证我是否可以找到它们并调整它们的高度以消除滚动条,我要求助手提供另一个我不愿意编写的代码片段。

代码语言:javascript

复制

document.querySelectorAll('div[style]').forEach(div =&gt; {
  let inlineStyle = div.getAttribute('style');
  if (inlineStyle.includes('position: relative')) {
    div.style.height = '20000px';
  }
});

对输出进行排序

现在我可以找到所有捆绑包了,我想要对输出进行两级排序:首先按状态(降序),然后按 ID(升序)。以下是我再也不会从头开始编写的代码。

代码语言:javascript

复制

dataList.sort((a, b) =&gt; {
    if (a.dataTestId.includes("PREPPED") &amp;&amp; b.dataTestId.includes("UNPREPPED")) {
        return 1;  // UNPREPPED comes before PREPPED
    } else if (a.dataTestId.includes("UNPREPPED") &amp;&amp; b.dataTestId.includes("PREPPED")) {
        return -1;
    }
    // Sort by ID if they belong to the same category
    return a.id.localeCompare(b.id);
});

我已经无数次使用过这种习惯用法,在 JavaScript、Python 和其他语言中,但这不是我经常做的事情——所以每次重新获取这种方法都会减慢我的速度。我很乐意将这种琐事委托给助手,它会给我一个解决方案,同样,这个解决方案很容易验证。

打包结果以方便使用

当我问 ChatGPT 和 Claude 如何将这段代码提供给其他 Vote Forward 网站用户时,他们都建议将其制作成书签。虽然这种古老的技术仍然可以工作,简直是奇迹,但我自己的知识和经验告诉我,这不是正确的答案。在各种浏览器中解释如何“安装”书签变得越来越困难。而浏览器扩展则过于复杂。遗憾的是,我的结论是,对于像这样的小事,现在你可能只能教人们如何打开浏览器控制台并粘贴代码。

这仍然需要说明,而编写说明又是另一项需要外包的任务。你可以在 这篇博文 中看到 Claude 编写的说明。完全公开:我只在 Chromium 和 Firefox 上测试过,因为我没有 Safari,但这里风险很低,我认为节省时间和精力是值得的。

调整时间

还有一个最后的问题。脚本仍然没有找到页面上的所有信息卡。这又是一个我的知识和经验胜出的案例。当被问及这个问题时,ChatGPT 和 Claude 开始喷出越来越复杂的脚本变体,这些变体无法解决核心问题:时间。我需要另一种古老的技术来克服 JavaScript 的异步性:延迟,让高度调整完成后再处理项目。一旦我意识到这一点,我就可以将脚本交给助手来实现该方法,因为,同样,像 setTimeout 这样的习惯用法是我不常使用的东西,因此我总是需要重新熟悉。

新的成本效益比

当遇到像这样平凡的信息处理工作时,我总是要权衡自动化带来的好处与实现自动化的成本。在这种情况下,我们谈论的是在仪表板上手动搜索捆绑 ID 并将其与盒子中的字母捆绑匹配所需的时间。

如果我完全坦诚地说,我不确定制作清单所需的时间加上使用清单所需的时间是否少于手动完成这项工作所需的时间。但毫无疑问,自动化比以前更快地实现了。此外,它还可以供其他人使用,因此这是一个无法量化的额外好处。无论在这种情况下计算结果如何,很明显,以前不具有成本效益的许多自动化都可以借助这些助手变得具有成本效益。

但这并非必然。有很多方法可以无效地使用 LLM。为了获得最佳效果,请依靠你自己的智慧、经验和创造力。将无聊和例行的工作委托给受严格监督的助手,你可以轻松检查他们的工作。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

什么是LLM Agent? LLM Agent 已经成为大语言模型中最有价值的探索方向,也更趋于最前沿的通用人工智能。构建企业自己的 LLM Agent 有助于企业在最前沿的人工智能领域探索具有完全自主性的智能化能力,包括基于企业知识库、企业工具 API(如:会议、审核、报表等)实现完全智能化的操作能力的探索。 阅读详情

相关推荐

LLM驱动UEFI固件漏洞智能分析:构建AI辅助安全研究新范式

在软件安全领域,静态代码分析与漏洞挖掘是保障系统韧性的基础技术。其核心原理是通过对程序二进制或源代码的结构化解析,识别潜在的攻击面与异常模式。随着大语言模型(LLM)在代码理解与逻辑推理方面展现出强大能力,其技术价值正逐步渗透至安全工程实践,为高门槛的深度分析任务提供了智能化辅助。特别是在固件安全这类涉及底层硬件交互、代码结构复杂的场景中,传统分析工具依赖人工经验,效率瓶颈突出。应用LLM技术,结合检索增强生成(RAG)与提示词工程,能够构建一个理解领域知识的智能分析框架。该框架可将固件镜像预处理后的代码语

weixin_33806914的博客 320

Video-ChatGPT核心架构解密:LLM与时空视觉编码器的完美融合方案

Video-ChatGPT是一款革命性的视频对话模型,它巧妙地将大型语言模型(LLM)的强大语言理解与生成能力,与专为时空视频表示优化的预训练视觉编码器相结合,实现了对视频内容的深度理解和有意义对话生成。本文将深入剖析Video-ChatGPT的核心架构,揭示其如何实现LLM与视觉编码器的完美融合。 ## 🌟 Video-ChatGPT的核心优势 Video-ChatGPT作为一款先进的视频

gitblog_00011的博客 458

基于LLM的医疗AI智能体:如何构建会追问的辅助问诊系统

大语言模型(LLM)通过其强大的上下文理解和逻辑推理能力,正在重塑人机交互的范式。其核心原理在于对海量文本数据的学习,使其能够生成连贯、相关的语言序列。这一技术价值在专业领域尤为凸显,例如医疗健康场景,传统静态问答工具难以满足动态、深度的信息收集需求。通过将LLM与领域知识结合,可以构建出能够进行逻辑推理和规划行动的智能体(AI Agent),实现从通用对话到专业辅助的跨越。这类智能体在医疗问诊、客户服务、教育辅导等场景具有广泛应用潜力,能够通过多轮、有针对性的交互,引导用户提供更全面、准确的信息。本文以医

weixin_33842304的博客 359

LLM生成代码的语义级安全盲区与增强审查实战指南

静态应用安全测试(SAST)和软件成分分析(SCA)是保障软件供应链安全的核心技术,它们通过预定义的规则库和漏洞数据库,对代码语法和已知依赖风险进行自动化扫描。然而,随着大语言模型(LLM)生成的代码日益普及,其基于深层语义和上下文逻辑的复杂风险,开始挑战传统工具的检测边界。这些工具擅长识别‘代码写了什么’,但在理解‘代码想干什么以及干得对不对’上存在天然短板,形成了语义级审查盲区。例如,LLM可能生成语法正确但缺失关键权限检查的业务逻辑,或引入传统SAST难以追踪的间接调用与数据流混淆,其引入的第三方依赖

weixin_34186128的博客 431

MemMA:多智能体协同与自演化的LLM记忆管理架构解析

在构建复杂的大语言模型应用时,有效的记忆管理是核心挑战之一。记忆系统负责存储、检索和更新智能体在交互中产生的关键信息,其设计直接影响系统的上下文理解能力和任务完成质量。从技术原理上看,一个健壮的记忆架构需要解决多源信息的结构化、高效检索与一致性维护等问题,其技术价值在于支撑智能体进行连贯的多轮对话和复杂的协同任务。在实际应用场景中,如客服系统、虚拟助手和多智能体协作平台,记忆系统需要协调多个专门化的智能体,例如记忆编码、存储索引和冲突消解智能体,共同维护一个动态、可推理的记忆生态。MemMA项目正是基于多智

weixin_30684743的博客 476

LLM与GNN结合的学术引用错误检测技术LAGMiD解析

在自然语言处理与图神经网络领域,知识蒸馏技术通过将大语言模型(LLM)的语义理解能力迁移到图神经网络(GNN),实现了高效的知识表示学习。这种技术组合特别适用于处理结构化数据与文本的混合场景,如学术引用网络分析。LAGMiD框架创新性地融合LLM的深度语义分析和GNN的拓扑结构学习,通过证据链推理机制实现多跳引用验证。该技术在学术搜索引擎优化、期刊审稿等场景展现出重要价值,能有效识别概念混淆、结论夸大等典型错误引用模式,为科研诚信建设提供技术支撑。

abtmh02622的专栏 527

[论文阅读] 人工智能 + 软件工程 | LLM编码工具如何重塑软件工程?从效率革命到安全治理的深度解析

本文深度解析了LLM编码工具在软件工程领域引发的效率革命与安全挑战。通过76%开发者使用AI助手的行业现状,揭示42%代码漏洞率与10%数据泄露风险的现实矛盾。创新性提出包含来源标记、私有部署、法规合规等在内的"五位一体"治理框架,用实证数据证明该框架可使许可证违规减少25%、数据泄露风险降低92%。为企业在AI编码时代平衡效率与安全提供了可落地的操作指南。

张较瘦 1494

Nature: LLM变得越来越像大脑

F(s,u) = - log(p(s|m)) + Dkl [ q(Φ|u) || p(Φ|s,m) ] ,式中,m 代表外部客观世界,u 是大脑内部建构的世界模型,s 是感官输入,Φ是m的参数,也是大脑需要推测的导致s 的原因,F 是这一感知过程的自由能。意味着在语言处理过程中,在连续的大脑区域中提取的信息量和类型,与性能最高的 LLM 的连续层提取的信息比低性能的 LLM 更一致。随后,通过从单词嵌入来预测脑神经对单词的反应,这个词嵌入中预测大脑反应的能力,可用来估计LLM与大脑的相似性。

AI生成曾小健3 899

AI辅助代码安全审计:从原理到实践的可复现工作流

静态代码分析(SAST)作为软件安全的基础技术,通过预定义规则集自动化检测代码中的已知漏洞模式,如SQL注入和跨站脚本。其核心原理是基于抽象语法树和数据流分析进行模式匹配。随着大型语言模型(LLM)的发展,AI为代码安全领域带来了语义理解能力,能够推断代码意图和复杂逻辑流,从而辅助识别传统工具难以发现的逻辑漏洞和业务上下文风险。这种技术融合的价值在于显著提升审计效率与广度,尤其在处理新型攻击手法和复杂业务逻辑时展现出潜力。在应用场景上,AI辅助审计可集成于开发阶段的IDE插件、CI/CD流水线以及专项安全评

weixin_33694620的博客 518

LLM与传统AI的融合:新时代的智能革命

Large Language Model (LLM), Transformer, Deep Learning, Artificial Intelligence (AI), Natural Language Processing (NLP), Hybrid AI 1. 背景介绍

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 808

语言与智能的融合之路:LLM驱动单智能体系统智能化发展

语言与智能的融合之路:LLM驱动单智能体系统智能化发展 1.背景介绍 1.1 人工智能的发展历程 人工智能(Artificial Intelligence, AI)是当代科技发展的重要领域,自20世纪50年代诞生以来,

AI天才研究院 1405

LLM4Hint:大语言模型与轻量级模型结合的数据库查询优化方案

数据库查询优化是提升数据库性能的关键技术,传统方法依赖人工规则或机器学习模型,但各有局限。大语言模型(LLM)凭借强大的语义理解能力,为查询优化带来新思路。LLM4Hint创新性地结合LLM的语义分析与轻量级模型的数值特征处理,通过三阶段流水线实现智能优化:SQL语义增强层将查询转换为自然语言描述,执行计划编码器数字化处理树形结构,模型对齐策略确保不同模型输出的兼容性。这种混合架构在TPC-H基准测试中显著提升优化准确率,特别适用于数据仓库、周期性报表等场景,实测在某电商平台将查询性能提升74%,同时降低资

weixin_30319153的博客 511

图灵完备LLM:通向AGI的关键一步

图灵完备性,LLM,AGI,通用人工智能,自然语言处理,深度学习,Transformer模型,知识表示,推理能力 1. 背景介绍 人工智能(AI)的发展日新月异,近年来,深度学习技术的突破,特别是Transformer模型的出现,使得自然语言处理(NLP)领域取得了显著进展。大型语言

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1190

告别硬编码规则:看KernelGPT如何用LLM“读懂”Linux驱动代码,实现更智能的Fuzzing

本文介绍了KernelGPT如何利用大语言模型(LLM)技术革新Linux内核模糊测试(Fuzzing),通过智能解析驱动代码自动生成系统调用规约,显著提升漏洞挖掘效率和覆盖率。相比传统硬编码规则,KernelGPT能准确识别非常规代码模式,在测试中新增129个规约并发现8个新漏洞,为内核安全测试带来突破性进展。

weixin_30430169的博客 319

LLM运维助手:降本增效的利器

LLM运维助手:降本增效的利器 1.背景介绍 1.1 运维挑战与需求 在当今快节奏的数字化时代,IT运维工作变得越来越复杂和具有挑战性。随着基础设施和应用程序的不断扩展和更新,运维团队面临着管理大量异构系统、应对不断变化的需求、确保系统可靠性和

AI天才研究院 956

戴尔PowerEdge服务器R450 RAID配置步骤

戴尔PowerEdge服务器R450 RAID配置步骤

且听风呤tmj的博客 6911

LLM4SR:关于科学研究的大语言模型综述

25年1月来自 Texas Dallas 分校的论文“LLM4SR: A Survey on Large Language Models for Scientific Research”。 近年来,大语言模型 (LLM) 的快速发展改变科学研究的格局,为研究周期的各个阶段提供支持。本文系统地探讨 LLM 如何彻底改变科学研究过程。LLM 在研究的四个关键阶段发挥独特作用:假设发现、实验规划和实施、科学写作和同行评审

yorkhunter的博客 1645

【NTN 卫星通信】Starlink 星链卫星有多大?详解尺寸与技术参数

SpaceX的星链项目正在重塑全球互联网连接,尤其是在服务不足的地区。但星链卫星的实际尺寸有多大?

weixin_43603524的博客 1万+
上一篇: 斯坦福大学人工智能图书馆收藏的这本大模型黑书到底有何魔力?
下一篇: AI 模型战局渐定,下一波红利在哪?
AI程序猿人
博客等级 码龄3年 6517粉丝 561原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值