编写程序,录入日常面对选择时的第一本能反应,归纳用户人格倾向推荐适配的创新工作模式,扬长避短规划每日任务。

发布时间:2026/7/16 2:06:27

编写程序,录入日常面对选择时的第一本能反应,归纳用户人格倾向推荐适配的创新工作模式,扬长避短规划每日任务。 用 Python 构建一个“本能反应 → 人格倾向 → 创新工作模式推荐”系统不测试你是谁而是记录你面对选择时的第一本能用数据归纳人格倾向再匹配最适合你的创新工作模式扬长避短规划每日任务。内容紧扣心理健康与创新能力课程保持去营销化、中立、可教学、可复用不涉及任何测评产品推广。项目名InstinctPlan — 本能反应型人格倾向与任务规划器一、实际应用场景描述在心理健康与创新能力课程中有一个被反复验证的命题自我认知不是静态标签而是对第一反应的持续观察。现实场景包括- 人格测试MBTI、大五等给出你是什么类型的静态结论- 但人在不同情境下的第一本能反应才是此时此刻的真实自己- 日常面对选择时的微小反应——先想还是先做独自还是找人规划还是试错——累积起来才是人格的真相- 创新课程讲认识自己找到适合的工作节奏但缺乏基于真实行为数据的自省工具。典型教学场景- 心理健康课自我认知模块- 创新能力课个人工作模式优化- 团队建设认知多样性讨论- 学生缺乏记录自己的可操作工具InstinctPlan 的目标不是给你贴标签而是用你自己的选择数据画出一张此时此刻的你的动态画像并据此推荐最适合你的创新工作模式。二、引入痛点现有人格测评工具的盲区维度 传统人格测试 InstinctPlan数据来源 问卷快照 日常选择的第一本能反应时效性 静态标签我是 INTJ 动态画像这周我更偏…行为导向 归类、贴标签 记录、观察、调整创新价值 强化我就是这样的固定心态 我现在是这样但我可以调整真实痛点- 我是 INFP变成逃避变化的借口——我天生就拖延- 测试结果和日常行为脱节——测出来规划型实际每天救火- 缺乏日常记录工具——想认识自己但不知道从哪开始记- 创新工作模式千篇一律——不考虑人格倾向直接给番茄钟GTD等通用方案。三、核心逻辑讲解先讲思想核心隐喻人格不是身份证而是天气预报——需要每天更新才能决定今天带不带伞。程序做了什么1. 定义选择场景库- 不是抽象问卷而是具体日常情境- 例如deadline 前你的第一反应是→ A. 马上列计划 / B. 先做起来再说 / C. 找人讨论 / D. 先发会儿呆- 每个选择映射到一个认知倾向维度2. 记录第一本能反应- 不记录你认为应该选什么而是你第一反应是啥- 时间戳 场景 本能选择 后续实际行为可选- 关键不评判对错只记录3. 归纳人格倾向- 累积 N 次选择后统计各维度倾向- 例如70% 选先做再想 → 实验型人格- 不是贴标签而是呈现此时此刻的你的数据画像4. 匹配创新工作模式- 不同倾向 → 不同推荐- 例如实验型 → 推荐原型迭代法规划型 → 推荐时间盒规划法- 每种模式给出扬长避短的具体建议5. 每日任务规划- 基于倾向自动生成今日任务模板- 例如发散型 → 上午留白 下午收敛社交型 → 安排协作任务- 用户可以修改系统学习用户的调整关键设计原则- 不贴永久标签只呈现当前倾向- 第一本能 理性选择因为本能更接近真实- 推荐是起点不是终点——用户可以试、可以改- 所有数据本地存储完全私密四、代码模块化设计项目结构instinct_plan/│├── README.md├── requirements.txt├── main.py├── core/│ ├── scenario_pool.py # 选择场景库│ ├── instinct_logger.py # 本能反应记录│ ├── personality_mapper.py # 人格倾向归纳│ ├── work_mode_matcher.py # 创新工作模式匹配│ ├── task_planner.py # 每日任务规划│ └── reporter.py # 综合报告└── data/└── instinct_log.json五、核心代码实现Python1️⃣ 选择场景库scenario_pool.py# core/scenario_pool.pyimport randomfrom typing import List, Dict, Optionalimport jsonfrom pathlib import Pathclass ScenarioPool:选择场景库 —— 第一本能反应的触发素材每个场景包含- scenario_id: 场景标识- situation: 具体情境描述日常化、可共鸣- options: 3-4 个选项每个选项映射到一个认知倾向维度- dimension: 该场景测量的核心维度def __init__(self, pool_path: str data/scenario_pool.json):self.pool_path Path(pool_path)self.pool_path.parent.mkdir(exist_okTrue)if not self.pool_path.exists():self._init_default()def _init_default(self):初始化默认场景库教学用default [{scenario_id: s001,situation: deadline 还有 3 天你的第一反应是,dimension: planning_vs_action, # 规划 vs 行动options: [{key: A, text: 马上列详细计划按步骤推进, maps_to: planner},{key: B, text: 先动手做一版出来边做边调整, maps_to: experimenter},{key: C, text: 找人讨论一下思路再决定, maps_to: collaborator},{key: D, text: 先放一放等灵感自己来, maps_to: incubator},]},{scenario_id: s002,situation: 遇到一个完全陌生的技术难题你本能地,dimension: analysis_vs_intuition, # 分析 vs 直觉options: [{key: A, text: 先读文档、查资料系统学习, maps_to: analytical},{key: B, text: 直接试在试错中理解, maps_to: intuitive},{key: C, text: 找个懂的人快速请教, maps_to: social_learner},{key: D, text: 先跳过回头用潜意识消化, maps_to: sleep_on_it},]},{scenario_id: s003,situation: 团队讨论方案时你的默认角色是,dimension: convergent_vs_divergent, # 收敛 vs 发散options: [{key: A, text: 快速锁定一个方向推进执行, maps_to: converger},{key: B, text: 疯狂提各种可能性越多越好, maps_to: diverger},{key: C, text: 质疑前提我们到底要解决什么, maps_to: questioner},{key: D, text: 观察大家的思路最后综合, maps_to: synthesizer},]},{scenario_id: s004,situation: 周末有一整天空闲时间用于学习你倾向于,dimension: structured_vs_emergent, # 结构化 vs 涌现options: [{key: A, text: 提前规划好每个时段学什么, maps_to: structured},{key: B, text: 随兴趣走看到什么学什么, maps_to: emergent},{key: C, text: 约个朋友一起学互相督促, maps_to: accountability},{key: D, text: 先彻底放松状态来了再学, maps_to: state_dependent},]},{scenario_id: s005,situation: 做完一个项目回顾时你更关注,dimension: result_vs_process, # 结果 vs 过程options: [{key: A, text: 结果有没有达到预期, maps_to: result_oriented},{key: B, text: 过程中学到了什么新方法, maps_to: process_oriented},{key: C, text: 团队协作是否顺畅, maps_to: relationship_oriented},{key: D, text: 有没有留下可复用的东西, maps_to: system_oriented},]},]with open(self.pool_path, w, encodingutf-8) as f:json.dump(default, f, ensure_asciiFalse, indent2)def get_all(self) - List[Dict]:with open(self.pool_path, r, encodingutf-8) as f:return json.load(f)def get_random(self, exclude_ids: List[str] None) - Optional[Dict]:随机抽取一个未使用过的场景all_scenarios self.get_all()if exclude_ids:candidates [s for s in all_scenarios if s[scenario_id] not in exclude_ids]else:candidates all_scenariosif not candidates:return Nonereturn random.choice(candidates)def get_by_id(self, sid: str) - Optional[Dict]:for s in self.get_all():if s[scenario_id] sid:return sreturn None设计说明maps_to 是核心映射——每个选项都对应一个认知倾向标签后续用于归纳人格画像2️⃣ 本能反应记录instinct_logger.py# core/instinct_logger.pyfrom dataclasses import dataclass, fieldfrom datetime import datetimefrom typing import List, Optionalimport jsonfrom pathlib import Pathimport uuiddataclassclass InstinctRecord:一条第一本能反应记录核心记录你第一反应是啥而非你觉得应该选啥id: str field(default_factorylambda: str(uuid.uuid4()))timestamp: datetime field(default_factorydatetime.now)scenario_id: str # 关联的场景 IDsituation: str # 情境描述chosen_option_key: str # 选择的选项A/B/C/Dchosen_maps_to: str # 映射的认知倾向dimension: str # 测量的维度# 可选后续实际行为用于对比本能和实际是否一致actual_behavior: str # 事后记录实际怎么做的behavior_matches_instinct: Optional[bool] None # 本能实际def to_dict(self) - dict:return {id: self.id,timestamp: self.timestamp.isoformat(),scenario_id: self.scenario_id,situation: self.situation,chosen_option_key: self.chosen_option_key,chosen_maps_to: self.chosen_maps_to,dimension: self.dimension,actual_behavior: self.actual_behavior,behavior_matches_instinct: self.behavior_matches_instinct,}class InstinctLogger:本能反应记录器def __init__(self, log_path: str data/instinct_log.json):self.log_path Path(log_path)self.log_path.parent.mkdir(exist_okTrue)if not self.log_path.exists():self._write([])def _read(self) - list:with open(self.log_path, r, encodingutf-8) as f:return json.load(f)def _write(self, data: list):with open(self.log_path, w, encodingutf-8) as f:json.dump(data, f, ensure_asciiFalse, indent2)def log_instinct(self, record: InstinctRecord):记录一次本能反应data self._read()data.append(record.to_dict())self._write(data)def log_actual_behavior(self, record_id: str, behavior: str):后续补充实际怎么做的data self._read()for item in data:if item[id] record_id:item[actual_behavior] behavioritem[behavior_matches_instinct] (behavior item[chosen_maps_to])breakself._write(data)def get_all(self) - List[InstinctRecord]:data self._read()results []for item in data:results.append(InstinctRecord(**item))return resultsdef get_used_scenario_ids(self) - List[str]:return [r[scenario_id] for r in self._read()]设计说明behavior_matches_instinct 是整个系统最有教学价值的字段——它揭示你说你是什么和你实际是什么之间的gap3️⃣ 人格倾向归纳personality_mapper.py# core/personality_mapper.pyfrom typing import Dict, Listfrom collections import Counterfrom .instinct_logger import InstinctRecordclass PersonalityMapper:基于本能反应数据归纳人格倾向核心原则- 不是贴标签而是呈现此时此刻的倾向分布- 用百分比说话而非你是 XXX 型# 维度定义每个维度对应的两极DIMENSIONS {planning_vs_action: {label: 规划 vs 行动,planner: 规划型,experimenter: 实验型,},analysis_vs_intuition: {label: 分析 vs 直觉,analytical: 分析型,intuitive: 直觉型,},convergent_vs_divergent: {label: 收敛 vs 发散,converger: 收敛型,diverger: 发散型,},structured_vs_emergent: {label: 结构化 vs 涌现,structured: 结构化,emergent: 涌现型,},result_vs_process: {label: 结果 vs 过程,result_oriented: 结果导向,process_oriented: 过程导向,},}# 额外的跨维度标签由组合触发COMBO_RULES [{label: 社交型学习者,requires: {social_learner, collaborator},description: 倾向于通过与人互动来推进工作},{label: 独立思考者,requires: {analytical, incubator},description: 倾向于独自深度思考需要留白时间},{label: 快速原型型,requires: {experimenter, converger},description: 倾向于快速出东西再迭代优化},]def __init__(self, records: List[InstinctRecord] None):self.records records or []def tendency_profile(self) - Dict:生成人格倾向画像返回各维度的倾向百分比 综合标签if not self.records:return {error: 暂无数据}# 统计各维度倾向dimension_counts {}all_tags []for rec in self.records:tag rec.chosen_maps_todim rec.dimensionif dim not in dimension_counts:dimension_counts[dim] Counter()dimension_counts[dim][tag] 1all_tags.append(tag)# 构建画像profile {sample_size: len(self.records),dimensions: {},top_tags: Counter(all_tags).most_common(5),combo_labels: self._check_combos(all_tags),instinct_behavior_gap: self._calc_gap(),}# 每个维度的倾向百分比for dim, counts in dimension_counts.items():total sum(counts.values())dim_info self.DIMENSIONS.get(dim, {})percentages {}for tag, count in counts.items():label dim_info.get(tag, tag)percentages[label] round(count / total * 100, 1)profile[dimensions][dim_info.get(label, dim)] percentagesreturn profiledef _check_combos(self, all_tags: List[str]) - List[Dict]:检查是否触发跨维度组合标签tag_set set(all_tags)triggered []for rule in self.COMBO_RULES:if rule[requires].issubset(tag_set):triggered.append({label: rule[label],description: rule[description],})return triggereddef _calc_gap(self) - Dict:计算本能和实际行为的差距matches sum(1 for r in self.records if r.behavior_matches_instinct is True)mismatches sum(1 for r in self.records if r.behavior_matches_instinct is False)total matches mismatchesif total 0:return {status: no_data, gap_pct: 0}gap_pct (mismatches / total) * 100return {status: analyzed,matches: matches,mismatches: mismatches,gap_pct: round(gap_pct, 1),interpretation: self._interpret_gap(gap_pct),}def _interpret_gap(self, gap_pct: float) - str:if gap_pct 15:return 本能 ≈ 实际行为自我认知较为一致elif gap_pct 35:return 有一定差距可能在想做和实际做之间存在张力else:return 差距较大建议关注你的本能和日常行为是否脱节def summary_text(self) - str:生成可读的倾向描述profile self.tendency_profile()if error in profile:return 数据不足建议先完成 5 次以上本能反应记录lines []lines.append(f基于 {profile[sample_size]} 次本能反应)for dim_name, percentages in profile[dimensions].items():sorted_pct sorted(percentages.items(), keylambda x: x[1], reverseTrue)top sorted_pct[0]lines.append(f · {dim_name}偏「{top[0]}」{top[1]}%)if profile[combo_labels]:lines.append(\n 综合标签)for combo in profile[combo_labels]:lines.append(f · {combo[label]}{combo[description]})gap profile[instinct_behavior_gap]if gap[status] analyzed:lines.append(f\n 本能 vs 实际差距{gap[gap_pct]}%{gap[interpretation]})return \n.join(lines)设计说明combo_labels 是亮点——它把单次选择升维到行为模式例如社交型学习者需要两个维度同时命中才触发4️⃣ 创新工作模式匹配work_mode_matcher.py# core/work_mode_matcher.pyfrom typing import Dict, Listfrom .personality_mapper import PersonalityMapperclass WorkModeMatcher:基于人格倾向匹配创新工作模式核心不是你应该用什么方法而是基于你的倾向这些方法可能更适合# 工作模式库MODES {planner: {name: 时间盒规划法,description: 将大任务拆解为固定时长的时间盒每个盒子有明确产出,why: 你倾向于先规划再行动时间盒给你结构又不失灵活,strengths: 执行力强、可预期、进度可控,watch_out: 别让规划本身变成拖延——盒子要短≤90min,daily_template: [上午2 个 90 分钟时间盒各有一个明确产出,下午1 个 60 分钟收尾盒 30 分钟复盘,留 30 分钟缓冲应对突发,],},experimenter: {name: 原型迭代法,description: 快速出第一版哪怕很糙然后基于反馈迭代,why: 你倾向于先动手再想原型法让试错成为正经工作流,strengths: 快速验证、不被完美主义卡住、保持动量,watch_out: 记得留时间做第二、第三版——第一版不是终点,daily_template: [上午快速出原型限时 90 分钟必须能跑/能看,下午收集反馈自己或他人列出 3 个改进点,第二天基于反馈迭代第二版,],},collaborator: {name: 协作共创法,description: 以对话和协作为核心工作模式定期同步、互相Review,why: 你倾向于通过与人互动来推进那就把协作设计进工作流,strengths: 视角多元、互相激发、减少盲点,watch_out: 避免为了协作而协作——独处思考的时间也要留,daily_template: [上午独立工作 90 分钟深度思考,中午/下午找 1 个同事/朋友同步进度交换反馈,傍晚把今天的收获整理成可分享的片段,],},diverger: {name: 发散-收敛节奏法,description: 上午发散疯狂想下午收敛选一个做,why: 你天然倾向于发散思维关键是给发散一个截止时间,strengths: 创意丰富、选项多样、不容易卡死,watch_out: 发散后必须收敛——设定明确的选择截止点,daily_template: [上午发散时间60-90min写下所有能想到的方案,中午选 1-2 个最有感觉的画成可执行步骤,下午专注执行选定的方案,],},incubator: {name: 留白孵化法,description: 在日程中刻意留出无议程时段让潜意识工作,why: 你倾向于先放一放等灵感来那就把放一放变成正式工作环节,strengths: 深度洞察、跨领域联想、不被短期压力绑架,watch_out: 留白≠拖延——设一个回来时间避免无限漂移,daily_template: [上午聚焦最难的问题 90 分钟深度工作,中午/下午留 30-60 分钟纯留白——散步/发呆/随便翻,留白后立即用 15 分钟记录蹦出的想法,],},analytical: {name: 分层拆解法,description: 将问题逐层拆解从根本原理出发建立理解,why: 你倾向于先系统学习再动手分层法让学和做有序衔接,strengths: 根基扎实、逻辑清晰、不易被表象迷惑,watch_out: 避免学够了再开始的陷阱——学到 70% 就可以动手了,daily_template: [上午用 60 分钟系统学习/研究读文档、看论文,紧接着用 60 分钟把学到的东西用起来写代码/做实验,下午复盘——今天学的哪一点真正用上了,],},}def __init__(self, mapper: PersonalityMapper):self.mapper mapperdef match(self) - List[Dict]:基于人格倾向推荐工作模式返回推荐列表按匹配度排序profile self.mapper.tendency_profile()if error in profile:return [{error: 数据不足请先完成至少 5 次本能反应记录}]# 收集所有标签及其频次tag_counts Counter()for dim_data in profile[dimensions].values():for label, pct in dim_data.items():tag_counts[label] tag_counts.get(label, 0) pct# 匹配模式matched []for tag, mode_data in self.MODES.items():score tag_counts.get(tag, 0)if score 0:matched.append({mode: mode_data[name],description: mode_data[description],why: mode_data[why],strengths: mode_data[strengths],watch_out: mode_data[watch_out],daily_template: mode_data[daily_template],match_score: round(score, 1),})# 按匹配度排序matched.sort(keylambda x: x[match_score], reverseTrue)# 如果没有直接匹配给通用建议if not matched:matched.append({mode: 混合探索期,description: 你的倾向分布较均匀建议每种模式试一周,why: 数据上看不出明显偏好最好的方式是小批量实验,strengths: 适应性强、不易被单一模式限制,watch_out: 避免什么都试一点变成什么都浅尝辄止,daily_template: [本周试一种模式记录感受,下周换一种对比效果,第三周基于前两周自己设计一个混合版,],match_score: 50.0,})return matched设计说明watch_out 字段是扬长避短的关键——不仅说你适合什么更说用的时候注意什么坑5️⃣ 每日任务规划task_planner.py# core/task_planner.pyfrom datetime import datetimefrom typing import Dict, Listfrom .work_mode_matcher import WorkModeMatcherclass TaskPlanner:基于推荐的工作模式生成今日任务模板用户可在此基础上修改系统会记录调整——长期看这些调整本身也是本能数据的一部分def __init__(self, matcher: WorkModeMatcher):self.matcher matcherdef plan_today(self, tasks: List[str] None) - Dict:生成今日任务规划tasks: 用户提供的待办事项可选如果没有只输出时间框架matches self.matcher.match()if error in matches[0]:return matches[0]top_mode matches[0]template top_mode[daily_template]# 构建今日计划plan {date: datetime.now().strftime(%Y-%m-%d),recommended_mode: top_mode[mode利用AI解决实际问题如果你觉得这个工具好用欢迎关注长安牧笛

相关新闻