- Reorder projects: Poimen Orchestration → Memory → Homelab → RBC → AWS - Add Poimen (Ποιμήν) timeline card with Graph-RAG + Temporal pillars - Rewrite all 6 timeline cards: bold frameworks, quantified impact, emoji sections - Update Homelab card: production-grade framing, milestone-driven bullets - Fix CI status links: update API allowlist for riotpiao-poimen org repos - Fix commit SHA: Dockerfile NEXT_PUBLIC_COMMIT_SHA + CI --build-arg - Connect Poimen Memory card as 'the memory layer behind Poimen'
549 lines
36 KiB
JSON
549 lines
36 KiB
JSON
{
|
||
"en": {
|
||
"header": {
|
||
"title": "Rock Liang",
|
||
"subtitle": "Senior Software Engineer",
|
||
"nav": {
|
||
"home": "Home",
|
||
"askPoimen": "AskPoimen",
|
||
"skills": "Skills",
|
||
"contact": "Contact"
|
||
},
|
||
"experience": "Experience",
|
||
"experienceValue": "6+ YoE",
|
||
"education": "Education",
|
||
"educationValue": "M.Sc. UOttawa",
|
||
"educationDetails": {
|
||
"bachelor": {
|
||
"school": "University of Ottawa",
|
||
"degree": "Bachelor's Degree, Computer Science",
|
||
"period": "2016 – 2019"
|
||
},
|
||
"master": {
|
||
"school": "University of Ottawa",
|
||
"degree": "Master's degree, Computer Science",
|
||
"period": "Sep 2019 – Nov 2021",
|
||
"publication": {
|
||
"title": "Additive Depth Maps for Real-Time Rendering",
|
||
"venue": "VIVA Lab, University of Ottawa",
|
||
"url": "https://www.site.uottawa.ca/school/research/viva/projects/additive-depth-maps/index.html"
|
||
}
|
||
}
|
||
},
|
||
"contact": {
|
||
"portfolio": "portfolio.riotpiao.com",
|
||
"github": "GitHub",
|
||
"privateGithub": "Private Github",
|
||
"linkedin": "LinkedIn",
|
||
"email": "Email",
|
||
"copy": "Copy"
|
||
},
|
||
"skills": {
|
||
"infrastructure": {
|
||
"title": "Infrastructure",
|
||
"items": [
|
||
"Kubernetes",
|
||
"Talos",
|
||
"ArgoCD",
|
||
"Terraform",
|
||
"Docker",
|
||
"OpenShift"
|
||
]
|
||
},
|
||
"cloud": {
|
||
"title": "Cloud & Distributed",
|
||
"items": [
|
||
"AWS",
|
||
"DynamoDB",
|
||
"CloudWatch",
|
||
"gRPC",
|
||
"Cloudflare"
|
||
]
|
||
},
|
||
"languages": {
|
||
"title": "Languages",
|
||
"items": [
|
||
"Go",
|
||
"Java",
|
||
"Python",
|
||
"C++",
|
||
"TypeScript"
|
||
]
|
||
},
|
||
"data": {
|
||
"title": "Data & Messaging",
|
||
"items": [
|
||
"Kafka",
|
||
"PostgreSQL",
|
||
"Temporal",
|
||
"Redis"
|
||
]
|
||
},
|
||
"aiml": {
|
||
"title": "AI/ML",
|
||
"items": [
|
||
"vLLM",
|
||
"PyTorch",
|
||
"Ollama",
|
||
"KServe"
|
||
]
|
||
},
|
||
"observability": {
|
||
"title": "Observability",
|
||
"items": [
|
||
"Prometheus",
|
||
"Grafana",
|
||
"Loki",
|
||
"OpenTelemetry"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"hero": {
|
||
"title": "Senior Software Engineer",
|
||
"subtitle": "Infrastructure × Backend × LLM Systems",
|
||
"description": "Building observable, scalable, fault-tolerant systems for mass audience.",
|
||
"exploreMore": "About Rock",
|
||
"terminalHint": "Press",
|
||
"terminalHintSuffix": "to explore via terminal",
|
||
"roles": [
|
||
"Infrastructure",
|
||
"SRE",
|
||
"SDE",
|
||
"Agentic Engineer",
|
||
"Distributed Systems",
|
||
"System/Platform Engineer"
|
||
]
|
||
},
|
||
"bio": {
|
||
"title": "About Me",
|
||
"intro": "Senior Software Engineer with 6+ years of experience building observable, scalable, and fault-tolerant systems for mass audiences.",
|
||
"expertise": {
|
||
"title": "Technical Expertise",
|
||
"content": "Infrastructure automation (Terraform, Kubernetes, ArgoCD) • Distributed systems (gRPC, Kafka, AWS Step Functions) • LLM inference optimization (INT4/INT8 quantization) • Backend systems (Go, Java, Python, C++)"
|
||
},
|
||
"highlights": {
|
||
"title": "Career Highlights",
|
||
"items": [
|
||
"Launched AWS Distributed-Map service across 57+ regions",
|
||
"Built multi-region infrastructure at RBC (40% cost reduction)",
|
||
"Architected production homelab: Kubernetes, Kafka, LLM inference",
|
||
"Poimen: Agent workflow orchestration + Graph-RAG memory system"
|
||
]
|
||
},
|
||
"educationTitle": "Education",
|
||
"educationContent": "M.Sc. Computer Science, University of Ottawa (2019–2021)\nB.Sc. Computer Science, University of Ottawa (2016–2019)",
|
||
"currentFocus": "Currently focused on infrastructure automation, LLM systems optimization, and building the next generation of distributed systems."
|
||
},
|
||
"projects": {
|
||
"title": "What have i Built and Building",
|
||
"subtitle": "Demonstrate my work",
|
||
"watchVideo": "Watch Video",
|
||
"readArticle": "Read Article",
|
||
"askPoimen": "Ask Poimen for technical details",
|
||
"items": [
|
||
{
|
||
"title": "Poimen: Agent Workflow Orchestration",
|
||
"description": "Poimen (Greek: Ποιμήν) means \"shepherd\" — a guide who tends, orchestrates, and reconciles. Poimen is an intelligent orchestration layer that transforms natural language into durable, distributed agent workflows powered by Temporal.",
|
||
"longDescription": "An LLM router analyzes user intent, retrieves relevant knowledge from semantic memory, and generates executable workflow specs — enabling agent deployment at scale where any activity can be wired as a composable step in the reconciliation pipeline. Every workflow is durable, retryable, and observable.",
|
||
"stat": "Temporal, LLM Routing, 9 Composable Activities",
|
||
"highlight": "Natural language → executable WorkflowSpec via reasoning model + memory-augmented context retrieval + durable state machine execution.",
|
||
"bullets": [
|
||
"LLM-Powered Workflow Routing: Natural language → executable WorkflowSpec via reasoning model (api.riotpiao.com). Activity Knowledge Base (9 activities) informs the LLM about timeouts, retry policies, and dependencies—intelligent step ordering and error handling strategies.",
|
||
"Memory-Augmented Context Retrieval: RetrieveMemoryActivity queries poimen-memory (Rust semantic search service) for relevant skills and lessons before routing—injecting domain knowledge into prompts for context-aware workflow generation.",
|
||
"Generic State Machine Executor: RoutingWorkflow executes any JSON workflow spec with JSONPath parameter chaining (${Step1.output.path}), automatic retries for flaky activities, catch blocks for error recovery, and Temporal's durable execution guarantees—every registered activity a composable building block."
|
||
]
|
||
},
|
||
{
|
||
"title": "Poimen Memory System",
|
||
"description": "The memory layer behind Poimen — a distributed Graph-RAG system that gives the shepherd long-term recall, semantic search, and hierarchical access control over its knowledge base.",
|
||
"longDescription": "Three-tier context retrieval pipeline with PageRank-style link scoring, hybrid search fusion (HNSW + BM25), and OIDC-based access control for multi-tenant knowledge graphs.",
|
||
"stat": "Graph-RAG, pgvector, OpenSearch, Rust + Actix-web",
|
||
"highlight": "Bidirectional wiki-link indexing with RRF fusion + hierarchical RBAC — 50ms signature match tier, graph-boosted hybrid search tier, Obsidian fallback.",
|
||
"bullets": [
|
||
"Graph-RAG with Wiki-Link Indexing (Rust, pgvector, OpenSearch): Built bidirectional link graph from [[wiki-link]] syntax during ingestion. PageRank-style score propagation boosts linked documents' relevance. RRF fusion merges HNSW cosine (pgvector) + BM25 lexical (OpenSearch). WikiScopedFilter constrains traversal to project boundaries.",
|
||
"Three-Tier Context Retrieval (Actix-web, tokio): Async pipeline — Tier 1: MD5 signature match (<50ms), Tier 2: graph-boosted hybrid search with link-distance decay, Tier 3: Obsidian API fallback. Budget-aware assembly drops lower tiers first. Shingle-based Jaccard deduplication (>0.5) prevents redundant chunks.",
|
||
"Hierarchical RBAC (Authentik OIDC, JWT, Kubernetes): Role → AccessRule[] → AccessScope model with project/visibility/owner/group constraints. JWT roles claim maps to YAML rules; AccessGuard.filter_resources() applies post-retrieval filtering. Dual-write indexer (eventual consistency via queue) maintains RBAC-aware views. SOPS/age encryption, ArgoCD deployment."
|
||
]
|
||
},
|
||
{
|
||
"title": "Homelab: Production-Grade Kubernetes Platform",
|
||
"description": "From bare metal to a self-healing, GitOps-driven platform — 4-node cluster running 20+ services with full observability, zero-trust networking, and GPU-accelerated AI inference.",
|
||
"longDescription": "Built and operate a production-grade Kubernetes platform on Talos Linux — self-healing nodes, declarative GitOps deployments via ArgoCD, SOPS-encrypted secrets, OIDC single sign-on, and end-to-end observability (Prometheus → Grafana → Loki → Tempo). Every change is auditable, every failure auto-recovers, every service is monitored.",
|
||
"stat": "4 nodes · 20+ services · 99.2% uptime · 0 manual deployments",
|
||
"highlight": "Production-grade platform engineering — not a hobby cluster. Self-healing infrastructure, GitOps-only deployments, full-stack observability, and GPU inference at home.",
|
||
"bullets": [
|
||
"Talos Linux bare-metal cluster — immutable OS, API-driven node management, self-healing on failure",
|
||
"ArgoCD + Kustomize + SOPS — zero-touch GitOps: every deploy is a git commit, every secret is encrypted",
|
||
"Authentik OIDC SSO + RBAC — single identity across 20+ services, zero-trust access from day one",
|
||
"Prometheus + Grafana + Loki + Tempo — full observability stack: metrics, logs, traces, alerts",
|
||
"vLLM GPU inference (Qwen3-32B) + KServe — production AI serving with autoscale and traffic splitting",
|
||
"Temporal + Kafka + CloudNativePG — durable workflows, event streaming, HA PostgreSQL with pgvector",
|
||
"Cloudflare Tunnel + cert-manager — zero-trust ingress, auto-TLS, no exposed ports"
|
||
],
|
||
"deepDive": {
|
||
"label": "Explore the Architecture →",
|
||
"url": "/homelab"
|
||
}
|
||
},
|
||
{
|
||
"title": "RBC: Multi-Cloud Platform",
|
||
"description": "Unified infrastructure platform consolidating public cloud and on-prem.",
|
||
"longDescription": "Terraform automation with Temporal orchestration. 99.2% automated provisioning, notification-driven operator fallback.",
|
||
"stat": "200+ microservices, 4 regions, 2hr→20min deploy",
|
||
"highlight": "Standardized IaC patterns across 12 teams—cut provisioning toil, 3x integration velocity.",
|
||
"bullets": [
|
||
"Integrated Terraform Cloud to centralize IaC workflows—reduced onboarding time for 12 teams",
|
||
"Built K8s CronJob to detect and reconcile Terraform state drift automatically (Golang)",
|
||
"Designed Slack notification service with Golang workers—operators resolve apply failures in <5min",
|
||
"Led requirement gathering across 4 platform teams—disambiguated specs, unblocked 3 stalled projects",
|
||
"Translated technical decisions for non-technical stakeholders—secured buy-in for platform migration"
|
||
],
|
||
"deepDive": {
|
||
"label": "Deep Dive: Terraform State Drift Solution →",
|
||
"url": "/terraform-drift"
|
||
}
|
||
},
|
||
{
|
||
"title": "AWS Distributed-Map",
|
||
"description": "Launched distributed task orchestration service for mission-critical workloads.",
|
||
"longDescription": "Optimized execution across 57+ regions with fault-tolerant scheduling and auto-scaling.",
|
||
"stat": "57+ regions, sub-100ms P99, 20x burst traffic",
|
||
"highlight": "Introduced JSON state input for larger payloads—unlocked new customer use cases.",
|
||
"bullets": [
|
||
"Under tight deadline, introduced separate state in Map vs new functions—simplified customer adoption (Java)",
|
||
"Built checkpoint recovery for mid-workflow failures—customers resume without full re-run",
|
||
"Solved distributed edge cases: race conditions, concurrent updates, dependent service failures, message deduplication",
|
||
"Owned oncall for the service—built CloudWatch dashboards, wrote runbooks, debugged production live"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"experience": {
|
||
"title": "Explore Experience",
|
||
"subtitle": "Feel free to Ask Poimen more abt it",
|
||
"items": [
|
||
{
|
||
"company": "Poimen (Ποιμήν)",
|
||
"role": "Architect / Agentic Engineer",
|
||
"period": "May 2025 — Present",
|
||
"description": "Poimen (\"shepherd\" in Greek) — a self-learning agent platform with two pillars:\n\n🧠 <b>Memory</b>: <b>Rust</b>-based <b>Graph-RAG</b> service. Fixed-window chunking → <b>TEI</b> embeddings → <b>pgvector</b> + bidirectional graph index. Three-tier retrieval via <b>RRF fusion</b>: signature match (<b>50ms</b>), graph-boosted hybrid search, <b>Obsidian</b> fallback. Self-compacting cache evicts stale embeddings and auto-reconciles the graph on every write.\n\n⚡ <b>Workflows</b>: <b>Go</b> + <b>Temporal</b> durable execution engine. LLM router generates <b>WorkflowSpecs</b> from natural language, informed by an <b>Activity Knowledge Base</b> (9 activities with timeout/retry/dependency metadata). <b>JSONPath</b> parameter chaining, catch-block recovery, <b>exactly-once</b> guarantees. <b>Goal-driven</b>: describe intent → platform assembles, executes, and self-heals."
|
||
},
|
||
{
|
||
"company": "riotpiao.com",
|
||
"role": "DevOps / SRE / SDE",
|
||
"period": "May 2025 — Present",
|
||
"description": "Designed and operate a <b>production-grade bare-metal Kubernetes platform</b> from scratch — 4 nodes, <b>3 control planes</b>, <b>20+ services</b>, <b>99.2% uptime</b>.\n\n🏗️ <b>Infrastructure</b>: <b>Talos Linux</b> immutable OS, <b>etcd</b> distributed consensus, <b>Longhorn</b> block storage, <b>MinIO</b> S3, <b>CloudNativePG</b> with <b>pgvector</b>. Resolved etcd leader election failures caused by 200ms network latency — re-architected the physical topology for sub-5ms RTT.\n\n🔄 <b>GitOps & CI/CD</b>: Evolved from pure <b>Terraform</b> to <b>Terraform</b> (node provisioning) + <b>ArgoCD</b> (application delivery). <b>Kustomize</b> overlays, <b>SOPS</b>-encrypted secrets, <b>Forgejo CI</b> with DinD runners. Zero manual deployments — every change is a git commit.\n\n🔐 <b>Security & Identity</b>: <b>Authentik OIDC SSO</b> + <b>RBAC</b> across all services. <b>Cloudflare Tunnel</b> zero-trust ingress, <b>cert-manager</b> auto-TLS, no exposed ports.\n\n📊 <b>Observability</b>: <b>Prometheus</b> + <b>Grafana</b> + <b>Loki</b> + <b>Tempo</b> — full metrics, logs, traces, and alerting stack.\n\n🤖 <b>AI/ML Serving</b>: <b>vLLM</b> GPU inference (<b>Qwen3-32B</b>), <b>KServe</b> model orchestration, <b>TEI</b> embeddings, <b>Ollama</b> lightweight models."
|
||
},
|
||
{
|
||
"company": "RBC",
|
||
"role": "Lead Software Engineer",
|
||
"period": "Nov 2024 — May 2026",
|
||
"description": "Led infrastructure platform engineering for multi-cloud IaC across <b>12 teams</b>.\n\n🏗️ <b>State Migration</b>: Migrated <b>500+ Terraform</b> resource state files from S3 to <b>JFrog Artifactory</b>. Split plan/apply into <b>immutable artifact pipeline</b> with throttled parallelism — eliminated <b>503 timeouts</b>, lock contention, and <b>zero state corruption</b> post-migration.\n\n🔍 <b>Drift Detection</b>: Built nightly <b>cron-based drift detection</b> with <b>Slack</b> alerting — cut configuration drift visibility from <b>3 weeks → <24 hours</b>. Stopped engineers hotfixing in cloud console without updating code.\n\n⚡ <b>Workflow Orchestration</b>: Introduced <b>Temporal</b> for durable workflow execution across provisioning pipelines. Standardized <b>IaC patterns</b> across teams — <b>3× integration velocity</b>.\n\n<b>Stack</b>: <b>Terraform</b>, <b>OpenShift</b>, <b>Docker</b>, <b>Golang</b>, <b>Grafana</b>, <b>Artifactory</b>, <b>Temporal</b>"
|
||
},
|
||
{
|
||
"company": "AWS",
|
||
"role": "Senior Software Engineer (Step Functions)",
|
||
"period": "2022 — 2024",
|
||
"description": "Owned <b>Distributed-Map</b> end-to-end for <b>AWS Step Functions</b> — <b>57+ regions</b>, <b>sub-100ms P99</b> latency.\n\n🚀 <b>Feature Ownership</b>: Launched <b>Redrive Execution</b> — retry-from-failure-point for distributed workflows. Designed <b>JSON state input</b> for larger payloads, unlocking new customer use cases. Caught a breaking <b>condition field change</b> in code review — coordinated simultaneous frontend + backend deployment to prevent customer impact.\n\n📊 <b>Operational Excellence</b>: Built <b>CloudWatch</b> dashboards, authored runbooks, owned <b>oncall rotation</b>. Maintained <b>backward compatibility</b> across frontend/backend release cycles.\n\n🔧 <b>Distributed Systems</b>: <b>DynamoDB</b> partition design, <b>gRPC</b> service mesh, <b>disaster recovery</b> planning, <b>multi-region</b> replication.\n\n<b>Stack</b>: <b>Java</b>, <b>AWS</b>, <b>DynamoDB</b>, <b>CloudWatch</b>, <b>gRPC</b>, <b>Step Functions</b>"
|
||
},
|
||
{
|
||
"company": "Titus",
|
||
"role": "Software Engineer Intern",
|
||
"period": "May — Aug 2019",
|
||
"description": "Data classification security startup — built detection and connector systems.\n\n🔍 <b>Anomaly Detection</b>: Built <b>Personal Data Detection</b> pipeline to flag classified data exfiltration — <b>97.8% accuracy</b>.\n\n⚡ <b>Connector</b>: Fault-tolerant <b>Golang</b> data connector — <b>28% P99 improvement</b> over legacy system.\n\n🔧 <b>Build System</b>: Re-integrated <b>SmartRegex</b> engine with <b>CMake</b> + <b>C++</b> on Linux/Unix — <b>5× faster deployment</b>.\n\n<b>Stack</b>: <b>Golang</b>, <b>C++</b>, <b>CMake</b>, <b>Docker</b>, <b>Linux</b>"
|
||
},
|
||
{
|
||
"company": "NAV Canada",
|
||
"role": "Summer Student",
|
||
"period": "May — Aug 2018",
|
||
"description": "Air traffic control software — enterprise web applications for flight planning and weather briefing.\n\n✈️ <b>FWGS Weather Briefing</b>: Built <b>ReactJS</b> weather briefing interface used by <b>air traffic controllers</b> for real-time flight weather data.\n\n🗳️ <b>NOTAMJ Polls</b>: Developed <b>Django</b> polling application to meet sprint iteration goals within <b>Agile</b> workflow.\n\n📊 <b>Quality</b>: Improved deploy stability with <b>SonarQube</b> code coverage integration on enterprise <b>CFPS</b> platform.\n\n<b>Stack</b>: <b>ReactJS</b>, <b>Django</b>, <b>SonarQube</b>, <b>Agile</b>"
|
||
}
|
||
]
|
||
},
|
||
"terminal": {
|
||
"title": "Poimen (Agent Terminal)",
|
||
"button": "Ask Poimen",
|
||
"helpText": "type 'help' for commands"
|
||
},
|
||
"footer": {
|
||
"copyright": "© 2025 Rock Liang. Deployed on homelab Kubernetes cluster (4-node Talos).",
|
||
"github": "GitHub",
|
||
"email": "Email"
|
||
}
|
||
},
|
||
"zh": {
|
||
"header": {
|
||
"title": "梁伟哲",
|
||
"subtitle": "高级软件工程师",
|
||
"nav": {
|
||
"home": "首页",
|
||
"askPoimen": "问Poimen",
|
||
"skills": "技能",
|
||
"contact": "联系"
|
||
},
|
||
"experience": "经验",
|
||
"experienceValue": "6年+",
|
||
"education": "学历",
|
||
"educationValue": "渥太华大学硕士",
|
||
"educationDetails": {
|
||
"bachelor": {
|
||
"school": "渥太华大学",
|
||
"degree": "计算机科学学士",
|
||
"period": "2016 – 2019"
|
||
},
|
||
"master": {
|
||
"school": "渥太华大学",
|
||
"degree": "计算机科学硕士",
|
||
"period": "2019年9月 – 2021年11月",
|
||
"publication": {
|
||
"title": "Additive Depth Maps for Real-Time Rendering",
|
||
"venue": "VIVA Lab, University of Ottawa",
|
||
"url": "https://www.site.uottawa.ca/school/research/viva/projects/additive-depth-maps/index.html"
|
||
}
|
||
}
|
||
},
|
||
"contact": {
|
||
"portfolio": "portfolio.riotpiao.com",
|
||
"github": "GitHub",
|
||
"privateGithub": "私人GitHub",
|
||
"linkedin": "领英",
|
||
"email": "邮箱",
|
||
"copy": "复制"
|
||
},
|
||
"skills": {
|
||
"infrastructure": {
|
||
"title": "基础设施",
|
||
"items": [
|
||
"Kubernetes",
|
||
"Talos",
|
||
"ArgoCD",
|
||
"Terraform",
|
||
"Docker",
|
||
"OpenShift"
|
||
]
|
||
},
|
||
"cloud": {
|
||
"title": "云 & 分布式",
|
||
"items": [
|
||
"AWS",
|
||
"DynamoDB",
|
||
"CloudWatch",
|
||
"gRPC",
|
||
"Cloudflare"
|
||
]
|
||
},
|
||
"languages": {
|
||
"title": "编程语言",
|
||
"items": [
|
||
"Go",
|
||
"Java",
|
||
"Python",
|
||
"C++",
|
||
"TypeScript"
|
||
]
|
||
},
|
||
"data": {
|
||
"title": "数据 & 消息",
|
||
"items": [
|
||
"Kafka",
|
||
"PostgreSQL",
|
||
"Temporal",
|
||
"Redis"
|
||
]
|
||
},
|
||
"aiml": {
|
||
"title": "AI/ML",
|
||
"items": [
|
||
"vLLM",
|
||
"PyTorch",
|
||
"Ollama",
|
||
"KServe"
|
||
]
|
||
},
|
||
"observability": {
|
||
"title": "可观测性",
|
||
"items": [
|
||
"Prometheus",
|
||
"Grafana",
|
||
"Loki",
|
||
"OpenTelemetry"
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"hero": {
|
||
"title": "高级软件工程师",
|
||
"subtitle": "基础设施 × 后端 × LLM系统",
|
||
"description": "为大规模用户构建可观测、可扩展、容错的系统。",
|
||
"exploreMore": "关于Rock",
|
||
"terminalHint": "按",
|
||
"terminalHintSuffix": "通过终端探索",
|
||
"roles": [
|
||
"基础设施",
|
||
"SRE",
|
||
"软件开发",
|
||
"AI代理工程师",
|
||
"分布式系统",
|
||
"系统/平台工程师"
|
||
]
|
||
},
|
||
"bio": {
|
||
"title": "关于我",
|
||
"intro": "拥有6年以上经验的高级软件工程师,专注于为大规模用户构建可观测、可扩展、容错的系统。",
|
||
"expertise": {
|
||
"title": "技术专长",
|
||
"content": "基础设施自动化 (Terraform, Kubernetes, ArgoCD) • 分布式系统 (gRPC, Kafka, AWS Step Functions) • LLM推理优化 (INT4/INT8量化) • 后端系统 (Go, Java, Python, C++)"
|
||
},
|
||
"highlights": {
|
||
"title": "职业亮点",
|
||
"items": [
|
||
"在57+区域发布AWS Distributed-Map服务",
|
||
"在RBC构建多区域基础设施(成本降低40%)",
|
||
"架构生产级家庭实验室:Kubernetes、Kafka、LLM推理",
|
||
"Poimen: 智能体工作流编排 + 图-RAG记忆系统"
|
||
]
|
||
},
|
||
"educationTitle": "教育背景",
|
||
"educationContent": "渥太华大学计算机科学硕士 (2019–2021)\n渥太华大学计算机科学学士 (2016–2019)",
|
||
"currentFocus": "目前专注于基础设施自动化、LLM系统优化,以及构建下一代分布式系统。"
|
||
},
|
||
"projects": {
|
||
"title": "我构建的项目",
|
||
"subtitle": "展示我的作品",
|
||
"watchVideo": "观看视频",
|
||
"readArticle": "阅读文章",
|
||
"askPoimen": "问Poimen了解技术细节",
|
||
"items": [
|
||
{
|
||
"title": "Poimen: 智能体工作流编排",
|
||
"description": "Poimen(希腊语:Ποιμήν)意为\"牧羊人\"——引导、编排和协调的角色。Poimen 是一个智能编排层,将自然语言转化为由 Temporal 驱动的持久化分布式代理工作流。",
|
||
"longDescription": "LLM路由器分析用户意图,从语义记忆中检索相关知识,生成可执行的工作流规范——实现大规模代理部署,任何活动都可以作为协调管道中的可组合步骤。每个工作流都是持久化的、可重试的、可观测的。",
|
||
"stat": "Temporal, LLM路由, 9个可组合活动",
|
||
"highlight": "自然语言 → 可执行WorkflowSpec:推理模型 + 记忆增强上下文检索 + 持久状态机执行。",
|
||
"bullets": [
|
||
"LLM工作流路由:自然语言 → 可执行WorkflowSpec,通过推理模型。活动知识库(9个活动)告知LLM超时、重试策略和依赖关系——智能步骤排序和错误处理策略。",
|
||
"记忆增强上下文检索:RetrieveMemoryActivity查询poimen-memory(Rust语义搜索服务)获取相关技能和经验——将领域知识注入提示词,实现上下文感知的工作流生成。",
|
||
"通用状态机执行器:RoutingWorkflow执行任何JSON工作流规格,支持JSONPath参数链接、自动重试、catch错误恢复和Temporal持久执行保证——每个注册活动都是可组合的构建块。"
|
||
]
|
||
},
|
||
{
|
||
"title": "Poimen记忆系统",
|
||
"description": "Poimen 背后的记忆层——分布式 Graph-RAG 系统,为牧羊人提供长期记忆、语义搜索和分层访问控制。",
|
||
"longDescription": "三层上下文检索管道,支持PageRank风格的链接评分、混合搜索融合(HNSW + BM25)和基于OIDC的多租户知识图访问控制。",
|
||
"stat": "图-RAG, pgvector, OpenSearch, Rust + Actix-web",
|
||
"highlight": "双向维基链接索引配RRF融合 + 分层RBAC——50ms签名匹配层、图增强混合搜索层、Obsidian兜底。",
|
||
"bullets": [
|
||
"图-RAG维基链接索引化(Rust、pgvector、OpenSearch):从[[维基链接]]语法构建双向链接图。PageRank风格评分传播提升链接文档的相关性。RRF融合合并HNSW余弦相似度(pgvector)+ BM25词汇排名(OpenSearch)。WikiScopedFilter将遍历限制在项目边界内。",
|
||
"三层上下文检索(Actix-web, tokio):异步管道——第1层:MD5签名匹配(<50ms),第2层:图增强混合搜索含链接距离衰减,第3层:Obsidian API兜底。预算感知的响应组装优先丢弃低优先层。基于瓦片的Jaccard去重(>0.5)防止冗余块。",
|
||
"分层RBAC(Authentik OIDC、JWT、Kubernetes):角色→AccessRule[]→AccessScope模型,包含项目/可见性/所有者/组约束。JWT角色声明映射到YAML规则;AccessGuard.filter_resources()应用检索后过滤。双写索引器(通过队列保证最终一致性)维护RBAC感知视图。SOPS/age加密,ArgoCD部署。"
|
||
]
|
||
},
|
||
{
|
||
"title": "家庭实验室:生产级 Kubernetes 平台",
|
||
"description": "从裸金属到自愈、GitOps 驱动的平台 — 4节点集群运行20+服务,具备全链路可观测性、零信任网络和GPU加速AI推理。",
|
||
"longDescription": "在 Talos Linux 上构建并运维生产级 Kubernetes 平台 — 自愈节点、ArgoCD 声明式 GitOps 部署、SOPS 加密密钥、OIDC 单点登录,以及端到端可观测性(Prometheus → Grafana → Loki → Tempo)。每次变更可审计,每次故障自动恢复,每个服务均有监控。",
|
||
"stat": "4节点 · 20+服务 · 99.2%可用性 · 0次手动部署",
|
||
"highlight": "生产级平台工程 — 不是业余集群。自愈基础设施、纯GitOps部署、全栈可观测性、家庭GPU推理。",
|
||
"bullets": [
|
||
"Talos Linux 裸金属集群 — 不可变OS、API驱动节点管理、故障自愈",
|
||
"ArgoCD + Kustomize + SOPS — 零接触GitOps:每次部署即git提交,每个密钥均加密",
|
||
"Authentik OIDC SSO + RBAC — 20+服务单一身份,零信任访问",
|
||
"Prometheus + Grafana + Loki + Tempo — 全链路可观测:指标、日志、追踪、告警",
|
||
"vLLM GPU推理 (Qwen3-32B) + KServe — 生产级AI服务,自动扩缩与流量分割",
|
||
"Temporal + Kafka + CloudNativePG — 持久化工作流、事件流、高可用PostgreSQL + pgvector",
|
||
"Cloudflare Tunnel + cert-manager — 零信任入口、自动TLS、无暴露端口"
|
||
],
|
||
"deepDive": {
|
||
"label": "探索架构详情 →",
|
||
"url": "/homelab"
|
||
}
|
||
},
|
||
{
|
||
"title": "RBC: 多云平台",
|
||
"description": "统一基础设施平台,整合公有云和本地部署。",
|
||
"longDescription": "Terraform自动化配合Temporal编排。99.2%自动化配置,通知驱动的运维人员兜底。",
|
||
"stat": "200+微服务,4个区域,部署2小时→20分钟",
|
||
"highlight": "标准化12个团队的IaC模式——减少配置负担,集成速度提升3倍。",
|
||
"bullets": [
|
||
"集成Terraform Cloud实现IaC工作流集中化——12个团队onboarding时间缩短",
|
||
"构建K8s CronJob自动检测和修复Terraform状态漂移(Golang)",
|
||
"设计Slack通知服务 + Golang worker——运维人员<5分钟解决apply失败",
|
||
"主导4个平台团队需求收集——澄清规格,解锁3个停滞项目",
|
||
"向非技术stakeholder翻译技术决策——获得平台迁移支持"
|
||
],
|
||
"deepDive": {
|
||
"label": "深入了解:Terraform状态漂移解决方案 →",
|
||
"url": "/terraform-drift"
|
||
}
|
||
},
|
||
{
|
||
"title": "AWS Distributed-Map",
|
||
"description": "发布面向关键任务的分布式任务编排服务。",
|
||
"longDescription": "在57+区域优化执行,具有容错调度和自动扩展功能。",
|
||
"stat": "57+区域,P99延迟<100ms,20x流量突发",
|
||
"highlight": "引入JSON状态输入支持更大负载——解锁新客户场景。",
|
||
"bullets": [
|
||
"紧迫deadline下,在Map中引入独立状态而非新函数——简化客户接入(Java)",
|
||
"构建checkpoint恢复机制——客户可从失败点恢复,无需重跑",
|
||
"解决分布式边缘场景:竞态条件、并发更新、依赖服务故障、消息去重",
|
||
"负责服务oncall——构建CloudWatch仪表盘,编写runbook,实时调试生产问题"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"experience": {
|
||
"title": "工作经历",
|
||
"subtitle": "欢迎向Poimen了解更多",
|
||
"items": [
|
||
{
|
||
"company": "Poimen (Ποιμήν)",
|
||
"role": "架构师 / 智能体工程师",
|
||
"period": "2025年5月 — 至今",
|
||
"description": "Poimen(\"牧羊人\")— 自学习智能体平台,两大支柱:\n\n🧠 <b>记忆</b>:<b>Rust</b> <b>Graph-RAG</b> 服务。固定窗口分块 → <b>TEI</b> 嵌入 → <b>pgvector</b> + 双向图索引。三层 <b>RRF 融合</b>检索:签名匹配(<b>50ms</b>)、图增强混合搜索、<b>Obsidian</b> 回退。自压缩缓存淘汰过时嵌入,每次写入自动协调图。\n\n⚡ <b>工作流</b>:<b>Go</b> + <b>Temporal</b> 持久化执行引擎。LLM 路由器从自然语言生成 <b>WorkflowSpec</b>,基于<b>活动知识库</b>(9个活动,含超时/重试/依赖元数据)。<b>JSONPath</b> 参数链、catch 恢复、<b>精确一次</b>保证。<b>目标驱动</b>:描述意图 → 平台组装、执行并自愈。"
|
||
},
|
||
{
|
||
"company": "riotpiao.com",
|
||
"role": "DevOps / SRE / 软件开发",
|
||
"period": "2025年5月 — 至今",
|
||
"description": "从零设计并运维<b>生产级裸金属 Kubernetes 平台</b> — 4节点、<b>3控制面</b>、<b>20+服务</b>、<b>99.2%可用性</b>。\n\n🏗️ <b>基础设施</b>:<b>Talos Linux</b> 不可变OS、<b>etcd</b> 分布式共识、<b>Longhorn</b> 块存储、<b>MinIO</b> S3、<b>CloudNativePG</b> + <b>pgvector</b>。解决了200ms网络延迟导致的 etcd 选主失败 — 重新设计物理拓扑至 5ms 以下 RTT。\n\n🔄 <b>GitOps & CI/CD</b>:从纯 <b>Terraform</b> 演进为 <b>Terraform</b>(节点配置)+ <b>ArgoCD</b>(应用交付)。<b>Kustomize</b> overlay、<b>SOPS</b> 加密密钥、<b>Forgejo CI</b> + DinD 运行器。零手动部署。\n\n🔐 <b>安全与身份</b>:<b>Authentik OIDC SSO</b> + <b>RBAC</b>。<b>Cloudflare Tunnel</b> 零信任入口、<b>cert-manager</b> 自动TLS。\n\n📊 <b>可观测性</b>:<b>Prometheus</b> + <b>Grafana</b> + <b>Loki</b> + <b>Tempo</b> — 全栈指标、日志、追踪、告警。\n\n🤖 <b>AI/ML 服务</b>:<b>vLLM</b> GPU推理(<b>Qwen3-32B</b>)、<b>KServe</b> 模型编排、<b>TEI</b> 嵌入、<b>Ollama</b> 轻量模型。"
|
||
},
|
||
{
|
||
"company": "RBC",
|
||
"role": "技术主管",
|
||
"period": "2024年11月 — 2026年5月",
|
||
"description": "领导多云 IaC 基础设施平台工程,服务 <b>12 个团队</b>。\n\n🏗️ <b>状态迁移</b>:将 <b>500+ Terraform</b> 资源状态文件从 S3 迁移至 <b>JFrog Artifactory</b>。plan/apply 拆分为<b>不可变制品管道</b>,限流并行度 — 消除 <b>503 超时</b>、锁竞争,迁移后<b>零状态损坏</b>。\n\n🔍 <b>漂移检测</b>:构建夜间 <b>cron 漂移检测</b> + <b>Slack</b> 告警 — 配置漂移可见性从 <b>3周 → <24小时</b>。\n\n⚡ <b>工作流编排</b>:引入 <b>Temporal</b> 持久化工作流。标准化 <b>IaC 模式</b> — <b>3倍集成速度</b>。\n\n<b>技术栈</b>:<b>Terraform</b>、<b>OpenShift</b>、<b>Docker</b>、<b>Golang</b>、<b>Grafana</b>、<b>Artifactory</b>、<b>Temporal</b>"
|
||
},
|
||
{
|
||
"company": "AWS",
|
||
"role": "高级软件工程师 (Step Functions)",
|
||
"period": "2022 — 2024",
|
||
"description": "端到端负责 <b>AWS Step Functions</b> 的 <b>Distributed-Map</b> — <b>57+ 区域</b>、<b>P99 <100ms</b>。\n\n🚀 <b>功能负责</b>:发布 <b>Redrive Execution</b> — 分布式工作流从失败点重试。设计 <b>JSON 状态输入</b>支持更大负载。在代码审查中发现破坏性<b>条件字段变更</b> — 协调前后端同步部署,防止客户影响。\n\n📊 <b>运维卓越</b>:构建 <b>CloudWatch</b> 仪表盘、编写运维手册、负责<b>值班轮换</b>。保持前后端发布周期<b>向后兼容</b>。\n\n🔧 <b>分布式系统</b>:<b>DynamoDB</b> 分区设计、<b>gRPC</b> 服务网格、<b>灾备</b>规划、<b>多区域</b>复制。\n\n<b>技术栈</b>:<b>Java</b>、<b>AWS</b>、<b>DynamoDB</b>、<b>CloudWatch</b>、<b>gRPC</b>、<b>Step Functions</b>"
|
||
},
|
||
{
|
||
"company": "Titus",
|
||
"role": "软件工程师实习",
|
||
"period": "2019年5月 — 8月",
|
||
"description": "数据分类安全初创公司 — 构建检测与连接器系统。\n\n🔍 <b>异常检测</b>:构建<b>个人数据检测</b>管道,标记机密数据外泄 — <b>97.8% 准确率</b>。\n\n⚡ <b>连接器</b>:容错 <b>Golang</b> 数据连接器 — <b>P99 提升 28%</b>。\n\n🔧 <b>构建系统</b>:<b>CMake</b> + <b>C++</b> 重新集成 <b>SmartRegex</b> 引擎 — <b>部署速度提升 5 倍</b>。\n\n<b>技术栈</b>:<b>Golang</b>、<b>C++</b>、<b>CMake</b>、<b>Docker</b>、<b>Linux</b>"
|
||
},
|
||
{
|
||
"company": "NAV Canada",
|
||
"role": "暑期实习生",
|
||
"period": "2018年5月 — 8月",
|
||
"description": "空管软件 — 航班计划与气象简报的企业级 Web 应用。\n\n✈️ <b>FWGS 气象简报</b>:构建 <b>ReactJS</b> 气象简报界面,供<b>空管人员</b>查看实时航班气象数据。\n\n🗳️ <b>NOTAMJ 投票</b>:<b>Django</b> 投票应用,<b>Agile</b> 工作流中达成迭代目标。\n\n📊 <b>质量</b>:通过 <b>SonarQube</b> 代码覆盖率集成提升企业 <b>CFPS</b> 平台部署稳定性。\n\n<b>技术栈</b>:<b>ReactJS</b>、<b>Django</b>、<b>SonarQube</b>、<b>Agile</b>"
|
||
}
|
||
]
|
||
},
|
||
"terminal": {
|
||
"title": "Poimen(代理终端)",
|
||
"button": "问Poimen",
|
||
"helpText": "输入 'help' 查看命令"
|
||
},
|
||
"footer": {
|
||
"copyright": "© 2025 梁伟哲。部署于家庭实验室Kubernetes集群(4节点Talos)。",
|
||
"github": "GitHub",
|
||
"email": "邮箱"
|
||
}
|
||
}
|
||
}
|