I'm an MPhil student in Computer Science and Engineering at CUHK. My work sits between research and engineering: I turn new methods into tested, reusable code, and I check the data before I trust a result. Lately that means LLM agents and their evaluation, agent memory, model serving, and watermarking for generative models.
Currently taking an intentional GAP, I'm open to internships and full-time roles in LLM and agent application engineering and applied AI, in Hong Kong and mainland China.
A customer-service agent for an online shop, built on LangGraph, Milvus and MCP. It routes each question, cites its evidence, and refuses when the evidence is weak; a calibrated gate makes that call, and human review turns refusals into new knowledge. I set the goals and made the design decisions. AI coding agents wrote the code under my specs, tests and review.
In 30 seconds: watch a recorded session / read the decision records / see what broke and how I fixed it.
pip install markdiffusion works today, and I maintain the conda-forge feedstock.
- MarkDiffusion: An Open-Source Toolkit for Generative Watermarking of Latent Diffusion Models. JMLR, 2026. Co-first author. Paper / arXiv / Code
- Can Watermarked LLMs be Identified by Users via Crafted Prompts? ICLR 2025, Spotlight. Second author. arXiv / Code
- Refining Positive and Toxic Samples for Dual Safety Self-Alignment of LLMs with Minimal Human Interventions (PT-ALIGN). IEEE TIFS, 2026. Third author. Paper / arXiv
- RecMem: Recurrence-based Memory Consolidation for Efficient and Effective Long-Running LLM Agents. Findings of ACL, 2026. Third author. arXiv / Code
- Omni-SafetyBench: A Benchmark for Safety Evaluation of Audio-Visual Large Language Models. ACM Multimedia 2026, Oral. Co-author. arXiv
MemTensor, algorithm engineering intern (Dec 2025 to Apr 2026). Offline research on storing user preferences in model weights instead of retrieving history.
- Built a three-stage topic, question and answer synthesis pipeline that averaged 160,000+ QA pairs per user, with ROUGE-L filtering, LLM quality checks, concurrent API calls, JSON validation, retries and checkpoint recovery.
- Trained per-user Qwen3-0.6B LoRA adapters and combined them with Qwen3-8B through contrastive decoding. PersonaMem accuracy rose 28 points over unadapted Qwen3-8B, with no user history at inference and a strict train/test split.
- Measured where it broke (unstable gains at larger sizes, loss of general capability), which led the team not to pursue the approach.
- Wrote Chapter 2 of 《记忆工程·智能体记忆系统构建与实践》 and maintain bilingual resources in Awesome-AI-Memory.
LiveServe. Adapted Ming-Flash-Omni to vLLM-Omni as a Thinker, Talker and Code2Wav pipeline, and set the team's TTFP and audio RTF latency baselines.
RecMem. Ran the MemoryOS baseline on LoCoMo and LongMemEval-S: dataset adapters, LLM-as-a-Judge scoring, and token accounting across memory construction and answering.
Course, competition and social-practice projects from BUPT, 2023 to 2024. Each one took me one layer further down or across the stack.
Also: a course-management system for the object-oriented design course (Spring Boot, JPA, H2).
- Agents and LLM apps: LangGraph, LangChain, MCP, Milvus (dense and BM25), rerankers, Langfuse, FastAPI, Playwright
- Models and training: Python, PyTorch, Transformers, Diffusers, vLLM and vLLM-Omni, DeepSpeed, LoRA
- Evaluation and quality: pytest, GitHub Actions, LLM-as-a-Judge, LoCoMo, LongMemEval
- Data and retrieval: Elasticsearch, FAISS, ChromaDB, bge-m3 and rerankers, Ray, FastAPI
- Systems and media: C, x86 assembly, C++, Qt, FFmpeg, OpenCV
- Web: TypeScript, React, Next.js, Three.js, Node.js, Spring Boot, MySQL, MongoDB, RabbitMQ
中文简介
我是管昇(Harry),香港中文大学计算机科学与工程 MPhil 在读,本科毕业于北京邮电大学软件工程(GPA 3.86/4.00,专业排名 2/157,两次国家奖学金)。我的工作介于研究和工程之间:把新方法做成经过测试、可复用的代码,并且在相信一个结果之前先检查数据。
研究经历包括清华大学(生成式水印:MarkDiffusion、Water-Probe、MarkLLM)、北邮移动网络技术研究中心(大模型安全对齐 PT-ALIGN),以及记忆张量 MemTensor(个性化记忆)。目前关注大模型智能体与评测、智能体记忆、模型推理服务和可信生成式 AI。近期作品:电商售后智能客服 Aftersales Agent(LangGraph、混合检索与重排、校准的置信度闸、MCP 工具),可以在线观看真实会话回放。欢迎联系:sguan.harry@outlook.com
The banner is watermarked.
The small grid in its lower-right corner holds 40 bits. Read it column by column, top to bottom, with amber as 1. Five columns, eight bits each, ASCII.
Answer
01001000 01000001 01010010 01010010 01011001 spells HARRY.
So is the Aftersales Agent card.
The dots in its lower-right corner hold 56 bits. Read them the same way: column by column, top to bottom, amber as 1. Seven columns, eight bits each, ASCII.
Answer
They spell 547069d, the commit that added the evaluation report behind the card's numbers.


