Skip to main content

Unattended AI Programming: My Experience Using GitHub Copilot Agent for Content Migration

· 7 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

Recently, I successfully used GitHub Copilot Agent to migrate all my archived markdown articles to this Docusaurus-based blog, and the experience was surprisingly smooth and efficient. What impressed me most wasn't just the AI's ability to handle repetitive tasks, but also how I could guide it to work autonomously while I focused on higher-level decisions. Even more fascinating was that I could review and guide the AI agent's work using my phone during commutes or breaks. This experience fundamentally changed my perspective on AI-assisted development workflows.

Here's a showcase of the bilingual blog after migration completion:

Figure 1: Migration results overview (Chinese)

Figure 2: Migration results overview (English)

Vercel AI SDK: A Complete Solution for Accelerating AI Application Development

· 16 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

As a developer, if you want to quickly build AI-driven applications, Vercel AI SDK is an ideal choice. It's an open-source TypeScript toolkit developed by the creators of Next.js, designed to simplify AI integration processes, allowing you to focus on business logic rather than underlying complexity. Through unified APIs, multi-provider support, and streaming responses, it significantly lowers development barriers, helping developers go from concept to production in a short time. In this technical blog post, I will argue from the perspectives of overview, core advantages, practical examples, comparisons with other tools, real-world application cases, community feedback, and potential challenges that we should leverage Vercel AI SDK to accelerate AI application development. Particularly noteworthy is its newly launched AI Elements component library, which serves as an out-of-the-box AI application UI framework, deeply integrated with the AI SDK, providing extremely high extensibility and customization capabilities, further enhancing development efficiency.

POML: The Rise of Structured Prompt Engineering and the Prospect of AI Application Architecture's 'New Trinity'

· 11 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

In today's rapidly advancing artificial intelligence (AI) landscape, prompt engineering is transforming from an intuition-based "art" into a systematic "engineering" practice. POML (Prompt Orchestration Markup Language), launched by Microsoft in 2025 as a structured markup language, injects new momentum into this transformation. POML not only addresses the chaos and inefficiency of traditional prompt engineering but also heralds the potential for AI application architecture to embrace a paradigm similar to web development's "HTML/CSS/JS trinity." Based on an in-depth research report, this article provides a detailed analysis of POML's core technology, analogies to web architecture, practical application scenarios, and future potential, offering actionable insights for developers and enterprises.

POML Ushers in a New Era of Prompt Engineering

POML, launched by Microsoft Research, draws inspiration from HTML and XML, aiming to decompose complex prompts into clear components through modular, semantic tags (such as <role>, <task>), solving the pain points of traditional "prompt spaghetti." It reshapes prompt engineering through the following features:

  • Semantic tags: Improve prompt readability, maintainability, and reusability.
  • Multimodal support: Seamlessly integrate text, tables, images, and other data.
  • Style system: Inspired by CSS, separate content from presentation, simplifying A/B testing.
  • Dynamic templates: Support variables, loops, and conditions for automation and personalization.

POML is not just a language but the structural layer of AI application architecture, forming the "new trinity" together with optimization tools (like PromptPerfect) and orchestration frameworks (like LangChain). This architecture highly aligns with the academically proposed "Prompt-Layered Architecture" (PLA) theory, elevating prompt management to "first-class citizen" status equivalent to traditional software development.

In the future, POML is expected to become the "communication protocol" and "configuration language" for multi-agent systems, laying the foundation for building scalable and auditable AI applications. While the community debates its complexity, its potential cannot be ignored. This article will provide practical advice to help enterprises embrace this transformation.

Stanford University Study Reveals Real Impact of AI on Developer Productivity: Not a Silver Bullet

· 8 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

This article is based on a presentation by Stanford University researcher Yegor Denisov-Blanch at the AIEWF 2025 conference, which analyzed real data from nearly 100,000 developers across hundreds of companies. Those interested and able can watch the full presentation on YouTube.

Recently, claims that "AI will replace software engineers" have been gaining momentum. Meta's Mark Zuckerberg even stated earlier this year that he plans to replace all mid-level engineers in the company with AI by the end of the year. While this vision is undoubtedly inspiring, it also puts pressure on technology decision-makers worldwide: "How far are we from replacing all developers with AI?"

The latest findings from Stanford University's software engineering productivity research team provide a more realistic and nuanced answer to this question. After in-depth analysis of nearly 100,000 software engineers, over 600 companies, tens of millions of commits, and billions of lines of private codebase data, this large-scale study shows that: Artificial intelligence does indeed improve developer productivity, but it's far from a "one-size-fits-all" universal solution, and its impact is highly contextual and nuanced. While average productivity increased by about 20%, in some cases, AI can even be counterproductive, reducing productivity.

DeepSeek: Pioneer of Technology Democratization or Disruptor?

· 9 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

"The best way to predict the future is to create it." —— Peter Drucker

In 2022, OpenAI's ChatGPT burst onto the scene with unprecedented intelligence levels, instantly igniting global enthusiasm for artificial intelligence technology. This technological wave triggered by large language models (LLMs) was like a "technological explosion," not only amazing the public with AI's potential but also profoundly changing our understanding of future technological development directions. Since then, tech giants have joined the battle, competing to launch more powerful and economical AI models, trying to occupy leading positions in this race. The continuous reduction of costs and constant improvement of performance seemed to herald an accessible AI era within reach.

However, when we focus on the core of this technological feast—large language models themselves—we discover an interesting phenomenon: although there are many participants, only DeepSeek seems to truly deserve the title "phenomenal." This company, dubbed the "AI world's Pinduoduo," has rapidly sparked global discussion with its astonishing low costs and open-source strategy, even being viewed by some as a pioneer of "technology democratization." So, is DeepSeek's explosive popularity merely due to price advantages? Can it really shake the existing AI landscape and become a representative of disruptive innovation? Or is it merely a disruptor in the competitive landscape of tech giants? This article will delve into the deep reasons behind the DeepSeek phenomenon, analyze the real drivers of its rapid rise in the global AI field, and the insights it brings to the entire industry.

Can Large Language Models (LLMs) Lead a New Industrial Revolution?

· 16 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

"If our era is the next industrial revolution, as many claim, artificial intelligence is surely one of its driving forces." - Fei-Fei Li, New York Times

Nearly two years have passed since OpenAI's groundbreaking AI product, ChatGPT, was unveiled in late 2022. This powerful language model not only sparked widespread public interest in artificial intelligence but also ignited boundless imagination in the industry about the potential applications of AI in various fields. Since then, large language models (LLMs), with their powerful capabilities in text generation, understanding, and reasoning, have rapidly become the focus of the AI field and are considered one of the key technologies to lead a new wave of industrial revolution. Data from PitchBook, a venture capital data platform, shows that US AI startups received over $27 billion in funding in the second quarter of this year, accounting for half of the total funding.

However, while people are constantly amazed by the magical abilities of AI, they have also gradually realized some of the current problems with AI: hallucinations, efficiency, and cost issues. In the past period, I have more or less practiced AI technology based on LLMs in my work and projects, and I have a certain understanding of its principles and application scenarios. I hope to share my insights and experiences with LLM with readers through this article.

Crawlab AI: Building Intelligent Web Scrapers with Large Language Models (LLM)

· 6 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

"If I had asked people what they wanted, they would have said faster horses" -- Henry Ford

Preface

When I first entered the workforce, as a data analyst, I accidentally experienced the ability of web crawlers to automatically extract webpage data, and since then I've been fascinated by this magical technology. As I continued to delve into web scraping technology, I gradually understood the core technologies of web crawling, including web parsing - the process of analyzing webpage HTML structure to build data extraction rules based on XPath or CSS Selectors. This process has long required manual intervention. While relatively simple for scraping engineers, if large-scale extraction is needed, this process is very time-consuming, and as webpage structures change, it increases crawler maintenance costs. This article will introduce my LLM-based intelligent web scraping product: Crawlab AI. Although it's still in early development, it has already shown great potential and promises to make data acquisition easy for data practitioners.

As the founder of the web scraping management platform Crawlab, I've always been passionate about making data acquisition simple and easy. Through constant communication with data practitioners, I realized the massive demand for intelligent scrapers (or universal scrapers) - extracting target data from any website without manually writing parsing rules. Of course, I'm not the only one researching and trying to solve this problem: In January 2020, Qingnan released the universal article parsing library GeneralNewsExtractor based on punctuation density, which can implement universal news crawlers with 4 lines of code; In July 2020, Cui Qingcai released GerapyAutoExtractor, implementing list page data extraction based on SVM algorithms; In April 2023, I developed Webspot through high-dimensional vector clustering algorithms, which can also automatically extract list pages. The main problem with these open-source software is that their recognition accuracy has some gaps compared to manually written crawler rules.

Additionally, commercial scraping software Diffbot and Octoparse have also implemented some universal data extraction functionality through proprietary machine learning algorithms. Unfortunately, their usage costs are relatively high. For example, Diffbot's lowest plan requires a monthly subscription fee of $299.

SRead Chrome Extension Released!

· 3 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction to SRead

SRead is a smart reading assistant, whether you enjoy reading articles or viewing electronic papers, you can utilize SRead for assisted reading. SRead supports intelligent summarization, capable of extracting key information from the reading material and summarizing it; additionally, it can perform intelligent Q&A, answering any relevant information within the article. Moreover, SRead's mind map feature can help readers quickly grasp the outline of the entire piece.

Chrome Extension

The new Chrome extension of SRead brings a major upgrade to the browser reading experience. Once this extension is installed, users can directly enjoy all the features of SRead on Chrome browser without the need to download any additional applications. This extension includes a simplified toolbar, making it easy for users to quickly access the intelligent summarization, intelligent Q&A, and mind-mapping features while reading. Another important feature of this extension is that it can automatically recognize web page content, providing real-time intelligent assistance to users, making the reading experience smoother and more efficient.

Installation and Usage

Installing the SRead Chrome extension is very straightforward. Users first need to log on to the SRead website (https://sread.ai), and register/login with Gmail or WeChat. Then visit the Chrome Web Store, search for "SRead", and click the "Add to Chrome" button. Once the installation is complete, the SRead icon will appear on the toolbar, clicking the icon activates the extension and users can start using it.

Chrome Web Store

OpenAI Function Call API in Langchain Library

· 4 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

While exploring the field of artificial intelligence, we often need to leverage existing APIs to implement specific functionalities. Recently, while exploring the Langchain library, I discovered an interesting feature: using OpenAI's function call API to perform specific operations in a chain. This not only demonstrates how to obtain structured outputs from ChatOpenAI but also how to create and execute function chains. This feature offers us a new possibility, enabling the execution of multiple functions within a chain. Through this approach, we can obtain structured outputs based on specific inputs, thus providing more accurate data for subsequent operations.

LangChain OpenAI Functions

Firstly, we need to understand how to obtain structured outputs from ChatOpenAI. In the Langchain library, there's a create_structured_output_chain function that can accept either a Pydantic class or JsonSchema for structured output formatting. This way, we can force the model to return outputs in a specific structure, facilitating subsequent processing.

For instance, we can create a Person class to describe basic information about an individual:

from langchain.pydantic_v1 import BaseModel, Field

Building an Efficient Knowledge Question-Answering System with Langchain

· 3 min read
Marvin Zhang
Software Engineer & Open Source Enthusiast

Introduction

Knowledge Question-Answering Systems (KQA) are one of the core technologies in the field of Natural Language Processing (NLP). They help users to quickly and accurately retrieve the information they need from a vast amount of data. KQAs have become essential tools for individuals and businesses to acquire, filter, and process information. They play a significant role in various domains like online customer service, smart assistants, data analytics, and decision support.

Langchain not only offers the essential modules to build a basic Q&A system but also supports more complex and advanced questioning scenarios. For example, it can handle structured data and code, allowing Q&A operations on databases or code repositories. This significantly expands the scope of KQA, making it adaptable to more complex real-world needs. This article will introduce how to build a basic KQA system with Langchain through a simple hands-on example.

flow.jpeg

Hands-On

Next, we will go through a hands-on example to guide you through building a KQA system with Langchain.

1. Document Loading and Preprocessing