Synthèse automatique
Analyse des extraits de rapports de durabilité pour détecter le greenwashing : extraction des phrases d'engagement ESG, notation de quatre champs (promise/timeline/evidence), classification déterministe du risque via scripts, et propositions de réécriture vérifiées anti-hallucination.
Points forts
- Séparation stricte entre scripts déterministes (contraintes, classification, validation) et jugement du modèle, ce qui rend les conclusions reproductibles à entrées identiques
- Boucle de réécriture avec validate_rewrite.py, violations renvoyées au modèle et plafond de deux essais avant marquage « révision humaine »
- Jeu d'évaluation de régression à seed fixe avec seuils par champ, permettant de tracer une courbe précision × version de modèle
- Récupération RAG appuyée sur une base ChromaDB et 13 exemples dorés couvrant les combinaisons de labels
Limites
- Dépend d'assets locaux lourds (ChromaDB, sentence-transformers, données TEJ sous licence) et d'un environnement Windows/PowerShell avec Python 3.11+
- L'indice talk−walk est explicitement expérimental et non validé statistiquement (ρ=-0.014, p=0.92, n=49) : il ne peut pas fonder une conclusion principale
- Les réécritures ne contiennent que des espaces réservés numériques ; l'outil ne fournit aucune estimation chiffrée et exige une relecture humaine
À utiliser pour évaluer le risque de greenwashing de paragraphes d'un rapport de durabilité et produire des réécritures traçables et validées.
À éviter si l'on attend des conclusions d'audit certifiées, des métriques ESG chiffrées ou une validation réglementaire finale.
Analyse de sécurité
SûrThe skill is a local, deterministic ESG analysis pipeline. Bash is used solely to run auditable bundled scripts on local files; the only network touch is a standard pip install. It contains explicit anti-leakage and non-commercialization rules and mandates human review, with no destructive, exfiltrating, or obfuscated behavior. No meaningful execution risk.
- •Uses Bash only to invoke bundled, deterministic Python scripts (rag_query.py, apply_constraints.py, classify_risk.py, validate_rewrite.py, talk_walk.py, eval_regression.py) — no destructive commands, no curl|sh, no base64 payloads
- •Installs dependencies via `pip install -r requirements.txt` (network access) but only for standard packages (chromadb, sentence-transformers, pandas, numpy, pyarrow)
- •Explicit guardrail against data leakage: TEJ data must be shown only as percentiles/z-scores, never raw values; requires fixed AI-assisted/human-review disclaimer
- •No instruction to read secrets, tokens, or send data externally; all I/O confined to local work/ directory and local config.json paths
Exemples
用 ESG 漂綠分析 skill 判斷這段永續報告書段落的漂綠風險:『本公司承諾於 2050 年前達成淨零碳排,並持續深化減碳作為。』請輸出四欄位初評與風險等級。跑工作流 A:先執行 rag_query.py 召回相似案例,再對 work/claims.txt 的每句承諾評 promise/timeline/evidence_status/evidence_quality,最後依序跑 apply_constraints.py 與 classify_risk.py 產出 risked.jsonl。從 work/risked.jsonl 取出所有高風險與中風險句,依 references/rewrite_guide.md 產生改寫,並用 validate_rewrite.py 驗證;未通過的帶著 violations 重寫,最多兩輪。name: esg-greenwash-analyzer version: 2.0.0 description: > ESG 漂綠分析專家。從永續報告書段落或全文中抽取 ESG 承諾句,評判 promise/evidence/timeline/quality 四欄位,套用確定性規則產出漂綠風險等級, 並生成經反幻覺驗證的改寫建議。源自 AI CUP 2026 ESG 永續承諾驗證競賽 (TEAM_10858, 6/143)。v2 架構:確定性歸腳本,判斷歸模型。 category: finance tags: [esg, greenwash, sustainability, tej, csr, compliance, audit, rag] allowed-tools:
- Read
- Bash
- Glob
- Grep
ESG 漂綠分析專家 v2
分工鐵則:確定性歸腳本,判斷歸模型
執行本 skill 的 LLM(你)只做三件事:
- 承諾句抽取——從段落判斷哪些是 ESG 承諾句
- 四欄位初評——promise / timeline / evidence_status / evidence_quality
- 改寫文字生成——對高/中風險句寫改寫建議
其餘一律呼叫 scripts/ 腳本,嚴禁在腦中套規則:約束修正、風險分類、改寫驗證、talk-walk 計算、回歸評分,全部有確定性實作。這保證同樣的四欄位輸入永遠得到同樣的風險結論,而模型升級只會改善上面三件事的品質。
環境
$SKILL = "$env:USERPROFILE\.agents\skills\_finance\esg-greenwash-analyzer"
$env:PYTHONUTF8 = "1" # 必設,否則中文輸出在 cp950 console 會炸
cd $SKILL\scripts
Python 3.11+,需要 chromadb、sentence-transformers、pandas、numpy、pyarrow。首次安裝:
cd $SKILL
python -m pip install -r requirements.txt
所有路徑集中在 config.json:upstream 與 local 均指向本包內的相對路徑。換機器通常不需要改路徑;若要替換資料資產,只改這一檔。
工作流 A:判斷(段落 → 風險分級)
1. RAG 召回 python rag_query.py --text "<承諾句或段落>" --k 5 --out ..\work\fewshot.json
(快速模式加 --no-semantic,跳過 36 秒模型載入,只用關鍵詞+金標)
2. LLM 判斷 讀 fewshot.json 的相似案例與 golden 範例,對每句評四欄位
→ 寫 ..\work\judged.jsonl(schema 見下)
★ 判斷前必讀 references/label_guide.md(稀有標籤與慣例)
3. 約束修正 python apply_constraints.py --in ..\work\judged.jsonl --out ..\work\constrained.jsonl
4. 風險分類 python classify_risk.py --in ..\work\constrained.jsonl --out ..\work\risked.jsonl
judged.jsonl 每行一筆:
{"claim_id": "p48-1", "claim_text": "原句", "page_no": 48, "esg_type": "E",
"promise_status": "Yes", "verification_timeline": "more_than_5_years",
"evidence_status": "No", "evidence_string": "", "evidence_quality": "N/A",
"judge_rationale": "一句話理由(繁中)"}
工作流 B:改寫協助(高/中風險句 → 驗證過的改寫)
1. 取目標 risked.jsonl 中 risk_level ∈ {高, 中} 的句子
2. LLM 改寫 ★ 必讀 references/rewrite_guide.md(占位符鐵則+規則碼對照)
→ 寫 ..\work\rewrites.jsonl(schema 見 rewrite_guide)
3. 驗證門檻 python validate_rewrite.py --in ..\work\rewrites.jsonl --out ..\work\rewrites_checked.jsonl
4. 重寫循環 rewrite_pass=false 的句子,帶著 violations 重寫,回到步驟 3
最多 2 輪;仍未過 → 標記「人工覆核」,絕不硬塞進報告
工作流 C:公司級 talk−walk(實驗性)
python talk_walk.py --claims ..\work\risked.jsonl --ticker 2454 --pages 120
輸出含 z_talk 成分、z_walk(TEJ 產業內 robust-z)、greenwash_index 與 caveat。 T7 預登記驗證未支持此指數與問題率的相關性(ρ=-0.014, p=0.92, n=49), 報告中此節必須標示「實驗性指標,僅供參考」,不得作為主要結論。
工作流 D:回歸評測(換模型必跑)
1. 出題 python eval_regression.py --make-sample 50 --seed 42
2. 作答 讀 work\eval_questions.json,依工作流 A 的判斷規範逐筆評四欄位
→ 寫 work\eval_preds.jsonl({id, 四欄位})
★ 絕對不可讀 work\eval_gold.json
3. 對分 python eval_regression.py --score ..\work\eval_preds.jsonl
門檻(config.json thresholds):promise 0.85 / timeline 0.55 / evidence_status 0.65 / evidence_quality 0.45。固定 seed 使歷次評測可比,報告存 work\eval_report_*.json——這條「模型版本 × 準確率」曲線就是產品自我改善的證據。
自我測試(改動腳本後跑)
python apply_constraints.py --self-test
python classify_risk.py --self-test # 15 unit + 120 組合窮舉
python validate_rewrite.py --self-test
資產索引
| 資產 | 位置 | 用途 |
|---|---|---|
| ChromaDB 向量庫 | data/chroma_db(collection: esg_train_claims) | train_1000 語意檢索,384 維 MiniLM |
| 金標 few-shot | data/golden_fewshot.json | 13 筆涵蓋全部 (promise,timeline,quality) 組合 |
| 關鍵詞倒排索引 | data/index.json | 149 個 ESG 關鍵詞 → record ids |
| TEJ 摘要 | data/tej_summary.json | 2,804 家公司硬指標 |
| 產業對照 | data/industry_map.json | top-50 ticker → 產業/板塊 |
| 本地大資產 | config.json upstream | train/val 1000、TEJ parquet(17,753列)、top-50 產業對照 |
| 回饋報告模板 | references/report_template.md | 產出 HTML/MD 報告時的固定結構 |
產品原則
- 不商業化;TEJ 數據只能以百分位/z 分數呈現,不得揭露原始數值。
- 改寫建議所有數值都是〔占位符〕,由報告書編製者填入,本工具不提供推估數字。
- 報告固定聲明:AI 輔助分析、需人工覆核、方法源自競賽第 6 名方案。
競賽基準(參考,與本 skill 的 accuracy 不可直接比較)
v43 ensemble Test Weighted Score:promise 0.7853 / timeline 0.6032 / evidence 0.6872 / quality 0.4353;Overall Private 0.6457(6/143)。
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/esg-greenwash-analyzer-mrx3xwwl/download' --output '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md.part' && mv '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md.part' '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md' && test -s '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/esg-greenwash-analyzer' && cp -R '.skill-downloads/esg-greenwash-analyzer-mrx3xwwl' '.claude/skills/esg-greenwash-analyzer'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/esg-greenwash-analyzer-mrx3xwwl'openskills read 'esg-greenwash-analyzer-mrx3xwwl'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/esg-greenwash-analyzer-mrx3xwwl/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Créer des cartes interactives avec kepler.gl
Data & IA
Création de cartes interactives et export HTML autonome avec le package Python keplergl, à partir de données géospatiales (DataFrame, GeoJSON, CSV).
Optimisation de paramètres par agent
Data & IA
Guide d'optimisation de systèmes configurables avec objectif mesurable, via des essais bornés et une recommandation fondée sur des preuves.
Relance des visiteurs ICP
Data & IA
Identifiez les utilisateurs inscrits correspondant au profil client idéal mais qui n'ont pas activé, et rédigez des messages de relance personnalisés pour les réengager.