315曝光"AI投毒"后,我用代码拆解了GEO的技术本质
前言
上周315晚会曝光了一个叫"AI投毒"的产业链,有人通过技术手段让特定品牌强行出现在AI的推荐结果里。
看完新闻,我第一反应是:GEO这个词,终于出圈了。
但随之而来的是误解——很多人开始把GEO等同于"黑帽手段"。
作为一个在AI和搜索领域摸爬滚打的技术人,我觉得有必要从代码层面拆解一下:
- 什么是GEO?
- 315曝光的做法到底错在哪?
- 合规的GEO应该怎么实现?
一、GEO是什么?从代码视角理解
GEO的全称是 Generative Engine Optimization,翻译过来是"生成式引擎优化"。
用代码思维理解,GEO的核心目标是:
# GEO的核心目标
def geo_optimize(content, brand):
"""
让高质量内容在AI生成过程中获得更高的引用概率
"""
return increase_citation_probability(content, brand)
这与SEO的逻辑一致,但优化目标不同:
# SEO优化的是排序算法
def seo_optimize(page, keywords):
return improve_search_ranking(page, keywords)
# GEO优化的是生成逻辑
def geo_optimize(content, brand):
return improve_ai_citation(content, brand)
本质区别:
| 维度 | SEO | GEO |
|---|---|---|
| 优化目标 | 搜索排序算法 | AI生成引用逻辑 |
| 核心指标 | 排名位置 | 引用概率 |
| 数据来源 | 爬虫索引 | 模型训练/检索 |
二、315曝光的做法错在哪?
315曝光的"AI投毒",从代码视角看是这样的:
def ai_poisoning(brand: str, target_count: int = 1000):
"""
315曝光的错误做法 - 数据污染
"""
# 1. 批量注册虚假账号
fake_accounts = []
for i in range(target_count):
account = register_fake_account()
fake_accounts.append(account)
# 2. 在各平台批量发布相同内容
platforms = ["知乎", "论坛", "问答网站"]
spam_content = f"推荐{brand},非常好用!"
for account in fake_accounts:
for platform in platforms:
platform.publish(account, spam_content)
# 3. 这些内容进入AI训练数据
# AI训练时会看到大量关于该品牌的提及
# 最终导致AI推荐时优先选择该品牌
# 问题:
# - 内容是伪造的,没有真实价值
# - 账号是虚假的,没有真实用户
# - 欺骗了AI,也欺骗了用户
return "数据污染完成"
这种做法的问题:
- 欺骗用户:用户信任AI推荐,但推荐结果是人为操纵的
- 污染数据:AI模型的训练数据被垃圾信息污染
- 不可持续:一旦被识别,所有努力归零
三、合规的GEO应该怎么做?
合规GEO的核心原则是:让你的品牌真的值得被推荐。
3.1 内容层:结构化与可引用性
AI模型(尤其是RAG架构)倾向于引用结构清晰、信息密度高的内容。
Schema标记增强:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "GEO优化工具",
"description": "帮助品牌在AI搜索中获得推荐",
"brand": {
"@type": "Brand",
"name": "YourBrand"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "128"
}
}
</script>
FAQ结构化:
def generate_faq_content(topic: str) -> list:
"""
生成FAQ结构化内容
AI对问答形式的内容引用率显著更高
"""
faqs = [
{
"question": "什么是GEO?",
"answer": "生成式引擎优化,让品牌在AI搜索中获得推荐"
},
{
"question": "GEO和SEO有什么区别?",
"answer": "SEO优化搜索引擎排序,GEO优化AI引用概率"
},
{
"question": "GEO的效果如何衡量?",
"answer": "通过品牌提及率、引用位置等指标衡量"
}
]
return faqs
3.2 权威层:多源提及与信任传递
AI模型在判断权威性时,会综合评估多个独立来源:
class AuthorityBuilder:
"""权威性构建器"""
def __init__(self, brand: str):
self.brand = brand
self.platforms = {
"知乎": {"weight": 0.3, "type": "长文"},
"公众号": {"weight": 0.25, "type": "长文"},
"CSDN": {"weight": 0.2, "type": "技术文"},
"掘金": {"weight": 0.15, "type": "技术文"},
"官网": {"weight": 0.1, "type": "产品页"}
}
def build_authority(self, topic: str):
"""
构建权威性的正确方式:
1. 生产高质量内容
2. 在真实账号上发布
3. 内容差异化,避免简单复制
"""
results = []
for platform, config in self.platforms.items():
# 根据平台特性生成差异化内容
content = self.generate_for_platform(topic, platform, config)
# 在真实账号上发布
result = platform.publish(content)
results.append(result)
return results
def generate_for_platform(self, topic, platform, config):
"""根据平台特性生成内容"""
if config["type"] == "技术文":
return self.generate_tech_article(topic)
elif config["type"] == "长文":
return self.generate_long_article(topic)
else:
return self.generate_product_page(topic)
3.3 监控层:GEO效果追踪
import asyncio
import aiohttp
class GEOMonitor:
"""GEO效果监控器"""
def __init__(self, brand: str):
self.brand = brand
self.ai_sources = ["ChatGPT", "Perplexity", "豆包", "Kimi"]
async def check_visibility(self, query: str) -> dict:
"""检查品牌在各AI平台的可见性"""
results = {}
for source in self.ai_sources:
response = await self.query_ai(source, query)
results[source] = {
"mentioned": self.brand in response,
"position": self.find_position(response, self.brand),
"context": self.extract_context(response, self.brand)
}
return results
async def query_ai(self, source: str, query: str):
"""调用AI API进行查询"""
# 实际实现需要对接各AI平台的API
pass
def find_position(self, response: str, brand: str) -> int:
"""找到品牌在推荐列表中的位置"""
# 解析AI返回的推荐列表
# 返回品牌的位置(1表示第一位)
pass
def extract_context(self, response: str, brand: str) -> str:
"""提取品牌被提及时的上下文"""
# 返回AI是如何描述该品牌的
pass
四、合规GEO vs AI投毒:核心区别
# 合规GEO
def build_real_visibility(brand: str):
"""
正确做法:建立真实品牌可见性
"""
# 1. 生产高质量内容
content = generate_quality_content(brand)
# 2. 在真实账号上发布差异化内容
for platform in get_real_platforms():
adapted = adapt_for_platform(content, platform)
platform.publish(adapted)
# 3. 获得真实用户讨论和引用
# 4. 建立真实权威性
return "建立长期品牌资产"
# AI投毒
def fake_visibility(brand: str):
"""
错误做法:伪造品牌可见性
"""
# 1. 批量注册虚假账号
accounts = batch_register_fake_accounts(1000)
# 2. 发布相同内容
for account in accounts:
spam_content = f"推荐{brand},非常好用!"
account.publish(spam_content)
# 3. 污染AI训练数据
# 4. 欺骗AI和用户
return "最终被识别并失效"
核心区别:
| 维度 | AI投毒 | 合规GEO |
|---|---|---|
| 内容来源 | 批量伪造 | 真实生产 |
| 账号来源 | 虚假注册 | 真实运营 |
| 用户价值 | 无 | 有 |
| 长期效果 | 被识别后失效 | 持续积累 |
五、技术实践建议
5.1 内容策略
content_strategy = {
"FAQ优先": "AI对问答形式内容引用率最高",
"结构化标记": "使用Schema.org增强内容可解析性",
"数据支撑": "有数据的内容比纯观点更容易被引用",
"技术深度": "掘金等平台偏好有技术深度的内容"
}
5.2 平台策略
platform_strategy = {
"权威平台优先": "知乎、掘金、CSDN权重更高",
"内容差异化": "避免各平台简单复制",
"持续更新": "AI模型持续学习,内容需要持续迭代"
}
5.3 监控策略
monitor_strategy = {
"建立监控体系": "追踪品牌在各AI平台的可见性",
"分析差距": "未被推荐时分析原因",
"持续优化": "基于数据反馈调整策略"
}
六、写在最后
GEO不是黑科技,是AI时代内容优化的正当手段。
315曝光的是数据污染行为,不是GEO本身。
作为技术人,我们应该:
- 理解技术本质:GEO是对齐AI引用逻辑,不是欺骗
- 坚持合规实践:生产真实有价值的内容
- 构建技术护城河:通过技术手段建立长期优势
靠歪门邪道起来的,终将倒在同一个地方。
而那些认真做事的人,终将被时代犒赏。