career-ops 土耳其市场模式(modes/tr/)实战指南:土耳其语职位评估、申请与本地化薪酬知识库
本指南围绕开源 AI 求职工作台 career-ops 的土耳其语市场目录 modes/tr/ 展开:它是一套为“主攻土耳其招聘市场、或常与土耳其语职位描述打交道”的求职者准备的本地化模式(mode)集合,覆盖 SGK 社保、净/毛薪资、TÜFE 通胀调薪等土耳其特有的用工概念。读完本文,你将掌握何时与如何启用 modes/tr/、它包含哪四个核心模式、土耳其市场术语如何渗透进 A-G 评估与申请流程,以及该仓库面向多市场本地化时采用的语言架构。
一、modes/tr/ 在 career-ops 中的定位:语言即“市场词汇”
career-ops 的“大脑”是 modes/ 目录下的一组 Markdown 模式文件:每个文件定义一个工作流(评估职位、投递申请、扫描职位门户等),由你正在使用的 AI 编程 CLI(Claude Code、Codex、OpenCode 等)读取并执行。为了让同一套工作流适配不同国家的招聘惯例,仓库按语言/市场拆出了多个子目录(ar/、da/、de/、es/、fr/、hi/、tr/、zh/ 等),modes/tr/ 就是面向 土耳其(Turkey/Türkiye)市场 的那一份。
一个关键设计是:目录的选择不等于输出语言的强制切换。根据 AGENTS.md 的规则,language.modes_dir 只负责提供市场词汇与本地评估规则,而 language.output 才最终决定正文散文使用哪种语言,二者可以任意组合(例如“土耳其市场概念 + 英文报告”或反之)。modes/tr/ 因此是一个“市场模式目录”,它的使命是把土耳其独有的用工与薪酬概念注入既有评估框架,而非生硬地把界面文本翻译一遍。
二、什么时候该用 modes/tr/?
modes/tr/README.md 明确给出了启用判定条件,命中以下任意一条即应切换到土耳其市场模式:
- 主要投递的是土耳其语职位描述,例如来自 Kariyer.net、Yenibiris.com、Secretcv.com、LinkedIn TR 等平台的岗位;
- 希望 CV 使用土耳其语,或期望按岗位在 TR / EN 之间切换语言;
- 需要产出地道自然、而非机器翻译腔的土耳其语回复与求职信;
- 需要处理土耳其特有的合同条款:kıdem tazminatı(遣散补偿/工龄补偿)、ihbar süresi(解约通知期)、SGK(社保)、net/brüt maaş farkı(净/毛薪资差异)、yemek kartı(餐卡)、TÜFE zammı(按 CPI 的通胀调薪)。
同时文档也给出反例:如果大多数岗位是英文的,就继续使用默认的英文 modes/ 目录,不要为了“写土耳其语”而切换到 modes/tr/。这与 AGENTS.md 中“用户申请英文岗位时不切换市场模式,除非显式要求或 modes_dir 已配置”的优先级一致——显式用户偏好 > 职位描述语言推断。
三、两种启用方式:会话级指令与配置文件持久化
modes/tr/ 的激活有两种路径,从临时到持久:
路径一:会话内口头指定(临时)
在当前会话开始时直接告诉 Agent。文档给出了两条可直接复制的提示语示例:
"Bundan sonra
modes/tr/altındaki Türkçe modları kullan." (从今以后使用modes/tr/下的土耳其语模式。)
或更精确地锁定具体模式文件:
"Değerlendirme ve başvuruları Türkçe yap —
modes/tr/_shared.mdvemodes/tr/is-ilani.mdkullan." (评估和申请都用土耳其语做——使用modes/tr/_shared.md和modes/tr/is-ilani.md。)
路径二:写入 config/profile.yml(持久化)
在个人配置文件 config/profile.example.yml 中,语言块的原型如下:
language:
# 面向用户输出的正文语言(报告、追踪器备注、PDF、求职信等),用 ISO 语言码
output: tr
# modes_dir 选择市场词汇/规则;output 选择散文语言,两者相互独立
modes_dir: modes/tr
modes/tr/README.md 中的配置示例则更精简地聚焦于市场切换:
language:
primary: tr
modes_dir: modes/tr
配置完成后,在第一次会话时向 Agent 说明已查看 profile.yml、language.modes_dir 已设置为 modes/tr,之后 Agent 便会自动持续使用土耳其语模式。
这套机制在代码层有完整校验支撑:评测与批处理入口 gemini-eval.mjs 在读取 profile 后会对 modes_dir 做安全检查——若值越出项目根目录则告警并回退到默认 modes/,若目录不存在同样告警并回退;Web 端触发路径在 web/src/lib/career-ops.ts 中也会对 modes_dir 做归一化(去尾部斜杠、仅接受可转成文件系统路径的值)后才会使用。因此配置里的 modes/tr 必须与仓库中真实的目录拼写完全一致。
四、目录内容:四个已本地化的核心模式
modes/tr/ 目前包含四个模式文件,全部由源模式逐句翻译而来,且刻意保留了各自的“血缘”:
| 文件(modes/tr/ 下) | 源模式 | 用途 |
|---|---|---|
| _shared.md | modes/_shared.md(EN) | 共享上下文:评分系统、反伪造护栏、全局规则、6 大目标角色,叠加土耳其市场专属术语 |
| is-ilani.md | modes/oferta.md(ES) | 单个职位描述/URL 的完整 A-G 评估工作流 |
| basvuru.md | modes/apply.md(EN) | 填写申请表单时的“实时投递助理” |
| pipeline.md | modes/pipeline.md(ES) | 处理 data/pipeline.md URL 收件箱的“第二大脑” |
4.1 _shared.md:被其他模式反复引用的市场底座
_shared.md 是所有模式的共享上下文文件,它规定:评估前必须读取的四份个人材料(cv.md、article-digest.md(如存在)、config/profile.yml、modes/_profile.md),且禁止硬编码度量数值、article-digest.md 在项目指标上优先于 cv.md、绝不得把“用过某工具”谎称为“创造了某工具”(guradrail:authorship)等反幻觉护栏,都以土耳其语重申了一遍。它还携带了土耳其版评分系统:6 个维度(CV 匹配、North Star 目标角色契合、薪酬、文化信号、红旗、全局加权分)各自 1–5 分,其中 4.5+ 视为“强匹配、立即投递”,3.5 以下不建议申请。
4.2 is-ilani.md:A-G 七块完整评估
当候选人粘贴职位(文本或 URL)时,本模式要求始终交付全部 7 个模块(A–F 评估 + G 可信度判定):
- Blok 0:先按
_shared.md中的 6 大角色原型(AI Platform/LLMOps、Agentic/Automation、Technical AI PM、AI Solutions Architect、Forward Deployed、AI Transformation)对职位分类,混合型则标出最近的两个原型,并据此决定 B 块展示哪些证据点、E 块如何重写摘要、F 块准备哪些 STAR 故事; - Blok B:逐条将岗位要求映射到
cv.md的原文行,并单列“缺失项”评估(是硬门槛还是加分项、能否用相近经验弥补、portfolio 有无补位项目、是否需要前置缓解方案); - Blok E:给出对 CV 最有效的 5 处修改 + 对 LinkedIn 最有效的 5 处修改;
- Blok F:产出 6–10 条 STAR+R(含反思) 故事,并用“Yansıma(反思)”列区分 junior(复述经历)与 senior(总结教训);
- Blok G:职位可信度判定(Güvenilir 可信 / Dikkatli İlerle 谨慎推进 / Şüpheli 存疑),且明确 G 块不计入 1–5 全局分,是独立质性判断;
- 评分≥4.5 时才输出 Blok H(表单草稿回答);报告以固定顺序的 Risk Summary 收尾。
4.3 basvuru.md:不替用户点击“提交”的实时表单助理
basvuru.md 描述了一套 8 步交互工作流(识别当前标签页 → 提取公司与职位 → 到 reports/ 查既往评估 → 比对角色是否变化 → 分析表单字段 → 逐题生成回答)。它对土耳其招聘表单给出了非常具体的本地适配字段(详见第六节)。
4.4 pipeline.md:URL 收件箱批处理
pipeline.md 处理 data/pipeline.md 中累积的“Bekleyenler(待处理)”URL,对每个 URL 依序执行“原子化申请报告编号 reserve-report-num.mjs → 抓取职位内容 → A-G 评估 → 报告 → 评分≥3.0 生成 PDF → 写入追踪器 → 移入 ‘İşlenenler(已处理)’”。它对土耳其门户有专门备注:Kariyer.net 用 Playwright 无需登录即可抓取,Yenibiris.com 也可直接抓取,而 LinkedIn 可能需要登录(此时标记 [!] 并请候选人粘贴职位文本)。
4.5 刻意保持原文的其他模式
文档强调:scan、batch、pdf、tracker、auto-pipeline、deep、contacto、ofertas、project、training 等模式继续以英文/西班牙语原版工作。原因很务实——它们的内容大多是工具命令、文件路径与配置说明,本身具备语言无关性,强行翻译反而增加维护与漂移成本。这也是 modes/README.md 中对各语言目录“只翻译核心模式 + 附加市场词汇”策略的具体体现。
五、土耳其市场术语全景:_shared.md 的 12 个核心概念
土耳其劳动法与薪酬体系中有大量在外籍市场没有对等物的术语,modes/tr/_shared.md 逐项给出了含义及其对职位评估的影响:
| 术语 | 含义与要点 | 对评估的影响 |
|---|---|---|
| SGK(Sosyal Güvenlik Kurumu) | 强制社保,雇主承担约 ~21.75%、雇员约 ~14% 的缴费率 | 是净/毛薪资差距的最主要构成项 |
| Brüt / Net Maaş | 毛薪(扣缴前)与净薪(实发) | 土耳其岗位通常直接标注净薪,比较时须统一基准 |
| Kıdem Tazminatı | 每满一个整年工龄补偿 1 个月薪资(有法定上限),离职或特定条件下支付 | 评估长期包时计入;试用期内离职不产生该补偿 |
| İhbar Süresi | 法定通知期:0–6 个月→2 周;6 个月–1.5 年→4 周;1.5–3 年→6 周;3 年以上→8 周 | 换工作时排定入职日期关键 |
| Deneme Süresi | 法定最长试用期 2 个月(集体合同可延至 4 个月) | 不是红旗而是市场标准;超过 2 个月才降分 |
| Yıllık İzin | 按工龄:1–5 年→14 天;5–15 年→20 天;15 年以上→26 天 | 低于 14 天属于违法;20+ 天为优 |
| Prim / Bonus | 绩效浮动奖励 | 通常约为净底薪的 30–50%,比较总包时须包含 |
| Yemek Kartı | Ticket Restaurant、Sodexo、Multinet 等餐卡福利 | 常见附加福利,月额度约在 5,000–7,260 TL(≈330 TL/天)区间 |
| Servis | 雇主提供的班车 | 安卡拉/伊斯坦布尔办公室岗位常见;远程岗位无此福利 |
| Özel Sağlık Sigortası | SGK 之外的补充商业医疗保险 | 高价值附加福利,比较 offer 时值得加权 |
| Uzaktan / Hibrit | 全远程或每周若干天到办公室 | 即使岗位描述写着“灵活”,也需核实真实文化是否仍以坐班为中心 |
| İş Kanunu No. 4857 | 土耳其基础劳动法 | 通知期、工龄补偿、年假计算的法定依据 |
| Belirsiz / Belirli Süreli Sözleşme | 无固定期限 vs. 固定期限合同 | 固定期限合同在期满时可能存在工龄补偿风险 |
| TÜFE Zammı | 按年度 CPI(消费者价格指数)进行的调薪 | 土耳其关键条款:无调薪保障时,高通胀期实际购买力会被侵蚀 |
| AGİ(Asgari Geçim İndirimi) | 2022 年已废止,被“最低工资以下免征所得税”取代 | 谈判时无需再作为单独议题 |
薪酬调研与协商的特殊规则
在 modes/tr/_shared.md 中,土耳其市场版还专门约束了薪酬调研行为:
- 必须用 WebSearch 查阅当前市场数据(Kariyer.net 薪酬指南、Glassdoor TR、LinkedIn 薪资、Secretcv.com);
- 土耳其岗位薪资通常以净额(net)公布,净/毛差约在 25–30%;
- 明确提示把通胀调薪预期当作谈判筹码,例如可以提出:“Sözleşmeye yıllık TÜFE bazlı zam garantisi ekleyebilir miyiz?”(能否在合同中加入年度 TÜFE 通胀调薪保障?)。文档中还预设了“目标薪资区间高于 offer”“如何引入对标区间”等 2 组可直接套用的土语话术模板;
- 远程策略上给出明确评分规则:远程岗位在“地点”维度得满分;候选人所在国之外的混合岗位给 3.0 而非 1.0;仅当岗位明确写明“每周 4–5 天强制到岗、无例外”才给 1.0。
职位可信度判定的土耳其本土信号
modes/tr/is-ilani.md 在通用的 Blok G 可信度分析之外,还叠加了面向土耳其市场特有的检查项:
- Kariyer.net / Yenibiris.com 上岗位的发布日期是否超过 30 天;
- 公司是根基深厚的老牌企业还是新创;
- 职位描述是否过于空泛(像是复制粘贴的通用模板);
- 除“rekabetçi(有竞争力)”之外是否给出任何薪资信息;
- 近期是否有裁员或关停新闻。
另附若干特殊情形豁免:公共部门/学术岗位的招聘周期本就漫长(60–90 天视为正常,需调高阈值);写明“持续招聘/dönemsel alım”的常开岗位属于 pipeline 角色而非幽灵岗位;Staff+、VP、总监等高端或细分岗位可合法地挂数个月;无发布日期且无其他警示信号时默认判为“Dikkatli İlerle(谨慎推进)”,没有证据不得武断判“Şüpheli(存疑)”。
六、土耳其招聘表单的本地适配:basvuru.md 的落地细节
modes/tr/basvuru.md 针对土耳其招聘表单常见的字段给出了逐项应答策略,这是“市场模式”最具实用价值的部分:
- Maaş beklentisi(net TL,期望薪资·按净额):从
profile.yml取区间,并附带“paket yapısına göre müzakereye açığım”(总包结构合适则愿意协商)的注记; - Başlangıç tarihi / Müsaitlik(入职日期/可到岗):按法定 ihbar süresi(通知期)现实地推算日期后再填写;
- Çalışma izni / Vatandaşlık(工作许可/国籍):外籍候选人应写得清晰精炼;
- Yabancı dil seviyesi(外语水平):如实填写,若有 YDS/YÖKDİL/TOEFL 成绩则一并注明;
- Askerlik durumu(兵役状态):简短写“已完成/延缓/豁免”;
- Referans(推荐人):只列事先知会过的联系人,不填电话号码(对应全局“ASLA 不得在生成的对外消息中透露电话号码”规则)。
该模式的铁律也保留在土耳其版中:读取屏幕、加载既往报告、逐字段生成草稿,但绝不替候选人点击“提交/申请”,任何提交动作都必须由候选人亲自完成(与 _shared.md 中 guardrail:human-approval 一脉相承)。表单超过一屏时,通过滚动分屏迭代处理,直到覆盖全部字段。
七、翻译策略:技术词汇不翻译、翻译腔要消灭
modes/tr/ 的翻译并非逐词替换,而是执行了两条明确的语言策略。
7.1 刻意保留英文的技术词汇
modes/tr/README.md 列出一批有意不做翻译的术语,以维持土耳其技术团队既有的标准用语习惯:
- 领域对象名:
cv.md、pipeline、tracker、report、score、archetype、proof point; - 工具与 MCP 名称:
Playwright、WebSearch、WebFetch、Read、Write、Edit、Bash; - 追踪器里的状态值:
Evaluated、Applied、Interview、Offer、Rejected; - 一切代码片段、文件路径与命令行。
它甚至明确点出一个反例:不应把 "pipeline" 强行译成 "boru hattı"。整批翻译的目标是“像伊斯坦布尔与安卡拉的工程师团队那样说话”——土耳其语流畅叙事 + 行业通用英文技术词并存。
7.2 写作风格的土耳其语约束
全局写作规范(见 modes/tr/_shared.md)要求避免官腔套话(“sonuç odaklı”“takım oyuncusu”等)、避免 AI 味翻译腔;在土耳其语正文上还额外规定:使用短句与主动动词、stack、pipeline、deploy、backend、frontend 等已扎根的英文术语不要强行土化。同时 modes/tr/README.md 点出翻译用词要以本地工程师的真实语感为准。
八、英→土词汇对照表:扩展与维护时保持一致
为了保证多作者协作时语感统一,modes/tr/README.md 给出了一份官方术语对照表,任何新增翻译或定制都应当遵循:
| English | Türkçe(本代码库用法) |
|---|---|
| Job posting | İş ilanı |
| Application | Başvuru |
| Cover letter | Ön yazı |
| Resume / CV | Özgeçmiş |
| Salary | Maaş / Ücret |
| Compensation | Tazminat |
| Skills | Beceriler |
| Interview | Mülakat |
| Hiring manager | İşe alım yöneticisi / Hiring Manager |
| Recruiter | İK uzmanı / Recruiter |
| Requirements | Gereksinimler |
| Career history | İş deneyimi |
| Notice period | İhbar süresi |
| Probation | Deneme süresi |
| Annual leave | Yıllık izin |
| Severance pay | Kıdem tazminatı |
| Gross / Net salary | Brüt / Net maaş |
| Social security | SGK |
| Permanent employment | Belirsiz süreli sözleşme |
| Fixed-term employment | Belirli süreli sözleşme |
| Remote / Hybrid | Uzaktan / Hibrit |
| Meal card | Yemek kartı |
| Private health insurance | Özel sağlık sigortası |
| Company shuttle | Servis |
| Inflation adjustment | TÜFE zammı / Enflasyon zammı |
九、参与翻译与维护的 5 条准则
若你希望改进既有翻译或把某个尚未本地化的模式翻译成土耳其语,modes/tr/README.md 给出了贡献流程:
- 依据 CONTRIBUTING.md 先开 Issue;
- 遵循上文术语对照表,保证全书语气统一;
- 追求意译与地道表达,拒绝逐字逐句的硬译;
- 逐字保留结构性元素:Blok A-G、表格、代码块、工具指令等不得改动(这在数据契约层面同样有约束——DATA_CONTRACT.md 将
modes/tr/*登记为受控的系统层文件,而个人偏好应写入用户层的modes/_profile.md/_custom.md,二者互不覆盖); - 提交 PR 前务必用真实土耳其语职位(如 Kariyer.net 或 Yenibiris.com 上的岗位)实测一轮。
从仓库结构看,这套“本地化即添加市场语境、翻译仅覆盖核心模式、语言与市场配置分离”的三层设计,同样复用于德语、西班牙语、中文等多个市场目录(见 modes/README.md 中列出的全部语言目录),因此 modes/tr/ 既是土耳其求职者的开箱即用配置,也是理解 career-ops 国际化机制的范本。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00