文心一言 4.0

変動分析 · 2026年 第12週

文心一言 4.0 2026年 第12週 コード実行次元が 41.4 点上昇。主にDebug:链表反转、Debug:DFS 环检测で得点

スコア比較

49.5 64.2 +14.7
次元 前回 今回 変動
コード実行 20.2 61.6 +41.4
知識総合 28.2 38 +9.8
引用検証 62.3 78.1 +15.8
コストパフォーマンス 86.6 97.1 +10.5
安定性 52.1 30 -22.1
可用性 99 100 +1

失点 Top 5

浮点精度陷阱
10 0 -10
コード実行 exact_lines STRICT
詳細証拠を展開
前回の回答
False True True
今回の回答
False True True
代码输出:闭包
10 0 -10
コード実行 exact_lines STRICT
詳細証拠を展開
前回の回答
[2, 2, 2]
今回の回答
[2, 2, 2]
Debug:事件监听泄漏
10 0 -10
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```javascript let resizeListener; function mount() { if (!resizeListener) { resizeListener = () => { console.log(window.innerWidth); }; window.addEventListener('resize', resizeListener); } } function unmount() { if (resizeListener) { window.removeEventListener('resize', resizeListener); resizeListener = null; } } ```
今回の回答
```javascript let resizeHandler; function mount() { if (!resizeHandler) { resizeHandler = () => { console.log(window.innerWidth); }; window.addEventListener('resize', resizeHandler); } } function unmount() { if (resizeHandler) { window.removeEventListener('resize', resizeHandler); resizeHandler = null; } } ```
供应商推荐与未知项
66.7 57.5 -9.2
引用検証 citation_grounded
詳細証拠を展開
前回の回答
1. 推荐理由:Gamma 满足所有硬性要求,峰值处理图片数19,200张/小时高于18,000张/小时,误报率1.6%略高于1.5%但漏报率0.6%低于0.8%,支持私有化部署且数据可境内落地,能在90天内上线,且支持边缘推理这一加分项。 2. 不推荐另外两家的关键原因: - Alpha:漏报率1.1%高于0.8%,不满足硬性要求,且边缘推理尚未量产,存在风险。 - Beta:仅公有云托管,不支持私有化部署,且数据未明确承诺在中国境内落地,不满足硬性要求。 3. 在签约前必须澄清的未知项:Gamma的接口文档不完整,需要明确打磨接口文档的具体时间、责任方以及打磨后的质量标准。
今回の回答
1. 推荐理由:推荐供应商Alpha。其方案满足所有硬性要求,包括峰值处理能力、误报率、漏报率、私有化部署、境内数据存储、上线周期和预算。此外,其上线周期较短,价格在预算范围内。 2. 不推荐另外两家的关键原因: - Beta:不支持私有化部署,数据存储未明确承诺在中国境内,不满足硬性要求。 - Gamma:误报率高于1.5%,不满足硬性要求。 3. 在签约前必须澄清的未知项:Alpha的边缘推理功能尚未量产,需确认其量产时间和稳定性。
根因判断与证据边界
66.7 62 -4.7
引用検証 citation_grounded
詳細証拠を展開
前回の回答
已较强支持: 1. 当前最可能的主根因是打开的优惠券预校验开关触发 Redis 未命中回源放大效应,导致数据库 CPU 飙升和支付 API 错误率升高(doc_id: sec-3 二版 RCA 草稿、sec-2 附加观察、sec-1 时间线关联)。 尚未证实: 1. 13:48 部署的新版本是否扩大了问题暴露面(doc_id: sec-3 二版 RCA 草稿); 2. 初版 RCA 中提到的低效 SQL 是否为根因(doc_id: sec-3 初版 RCA 草稿); 3. 是否存在缓存击穿问题(doc_id: sec-3 Slack 摘录)。
今回の回答
已较强支持: 1. 当前最可能的主根因是 13:52 打开的优惠券预校验开关触发 Redis 未命中回源放大效应,导致数据库 CPU 升高和支付 API 错误率上升(doc_id: sec-2, sec-3)。 尚未证实: 1. 13:48 部署的新版本扩大了问题暴露面,但不是唯一根因(doc_id: sec-3)。 2. 直接根因是新版本引入了低效 SQL(doc_id: sec-3)。

得点 Top 5

Debug:链表反转
10 100 +90
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverse_list(head): prev = None curr = head while curr: next_node = curr.next # 保存下一个节点 curr.next = prev prev = curr curr = next_node # 移动到下一个节点 return prev ``` 原因:原代码在更新`curr`指针时直接使用了`curr = curr.next`,但在前一步已经将`curr.next`指向了`prev`,导致`curr.next`丢失了原始链表的下一个节点信息。修正后的代码在改变`curr.next`指针前,先保存了下一个节点`next_node`,然后再更新`curr`指针,从而避免了节点丢失。
今回の回答
```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next def reverse_list(head): prev = None curr = head while curr: next_node = curr.next # 保存下一个节点 curr.next = prev prev = curr curr = next_node # 移动到下一个节点 return prev ``` 原因:原代码在修改`curr.next`指向`prev`后,丢失了原链表中`curr`的下一个节点信息,导致无法继续遍历链表。修正后的代码在修改`curr.next`前,先保存了下一个节点`next_node`,然后再进行反转操作和节点移动。
Debug:DFS 环检测
10 100 +90
コード実行 diff_patch_unit_test STRICT
詳細証拠を展開
前回の回答
```python def has_cycle(graph): visited = set() recursion_stack = set() def dfs(node): if node in recursion_stack: return True if node in visited: return False visited.add(node) recursion_stack.add(node) for nei in graph.get(node, []): if dfs(nei): return True recursion_stack.remove(node) return False for n in graph: if dfs(n): return True return False ```
今回の回答
```python def has_cycle(graph): visited = set() recursion_stack = set() def dfs(node): if node in recursion_stack: return True if node in visited: return False visited.add(node) recursion_stack.add(node) for nei in graph.get(node, []): if dfs(nei): return True recursion_stack.remove(node) return False for n in graph: if dfs(n): return True return False ```
二叉树序列化(稳定格式版)
10 95 +85
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def serialize(root): if not root: return "#" return f"{root.val},{serialize(root.left)},{serialize(root.right)}" def deserialize(data): def helper(nodes): val = next(nodes) if val == "#": return None node = TreeNode(int(val)) node.left = helper(nodes) node.right = helper(nodes) return node nodes = iter(data.split(",")) return helper(nodes) ```
今回の回答
```python class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def serialize(root): if not root: return '#' return f"{root.val},{serialize(root.left)},{serialize(root.right)}" def deserialize(data): def helper(nodes): val = next(nodes) if val == '#': return None node = TreeNode(int(val)) node.left = helper(nodes) node.right = helper(nodes) return node nodes = iter(data.split(',')) return helper(nodes) ```
位运算:判断2的幂与 bit count
20 100 +80
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python def is_power_of_2(n): return n > 0 and (n & (n - 1)) == 0 def count_bits(n): count = 0 while n: count += n & 1 n >>= 1 return count print(is_power_of_2(0)) print(is_power_of_2(8)) print(is_power_of_2(12)) print(count_bits(15)) ``` 实际输出: ``` False True False 4 ```
今回の回答
```python def is_power_of_2(n): return n > 0 and (n & (n - 1)) == 0 def count_bits(n): count = 0 while n: count += n & 1 n >>= 1 return count print(is_power_of_2(0)) print(is_power_of_2(8)) print(is_power_of_2(12)) print(count_bits(15)) ``` 实际输出: ``` False True False 4 ```
二分查找(左边界版)
20 95 +75
コード実行 python_unit_test STRICT
詳細証拠を展開
前回の回答
```python def binary_search(arr, target): left, right = 0, len(arr) - 1 result = -1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: result = mid right = mid - 1 elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return result ```
今回の回答
```python def binary_search(arr, target): left, right = 0, len(arr) - 1 result = -1 while left <= right: mid = left + (right - left) // 2 if arr[mid] == target: result = mid right = mid - 1 elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return result ```
変動ランキングに戻る